Skip to content

elsapassaro/structure-property-visualizer

 
 

Repository files navigation

Build Status

Structure-Property-Visualizer

Use this app to generate interactive visualizations like these for atomic structures and their properties.

Features

  • interactive scatter plots via bokeh server
  • interactive structure visualization via jsmol
  • simple input: provide CIF/XYZ files with structures and CSV file with their properties
  • simple deployment on materialscloud.org through Docker containers
  • driven by database backend:
    1. sqlite database (default)
    2. AiiDA database backend (less tested)

Getting started

Prerequisites

Installation

git clone https://github.com/materialscloud-org/structure-property-visualizer.git
cd structure-property-visualizer
pip install -e .     # install python dependencies
./prepare.sh         # download test data (run only once)

Running the app

bokeh serve --show figure detail select-figure   # run app

Customizing the app

Input data

  • a set of structures in data/structures
    • Allowed file extensions: cif, xyz
  • a CSV file data/properties.csv with their properties
    • has a column name whose value <name> links each row to a file in structures/<name>.<extension>.
  • adapt import_db.py accordingly and run it to create the database

Plots

The plots can be configured using a few YAML files in figure/static:

  • columns.yml: defines metadata for columns of CSV file
  • filters.yml: defines filters available in plot
  • presets.yml: defines presets for axis + filter settings

Docker deployment

pip install -e .
./prepare.sh
docker-compose build
docker-compose up
# open http://localhost:3245/cofs/select-figure

About

A template for DISCOVER sections using bokeh server

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 79.8%
  • HTML 6.9%
  • CSS 5.1%
  • Shell 4.1%
  • Dockerfile 2.9%
  • JavaScript 1.2%