Structures and Molecules
This component can render the pymatgen objects Structure,
Molecule, StructureGraph and MoleculeGraph. See its
documentation here.
Screenshot
Example Usage
import dash
from dash import html
from pymatgen.core.lattice import Lattice
from pymatgen.core.structure import Structure
import crystal_toolkit.components as ctc
from crystal_toolkit.settings import SETTINGS
app = dash.Dash(assets_folder=SETTINGS.ASSETS_PATH)
# create the Structure object
structure = Structure(
Lattice.cubic(4.2),
["Na", "K"],
[[0, 0, 0], [0.5, 0.5, 0.5]],
site_properties={"magmom": [-2, 2]},
)
# create the Crystal Toolkit component
structure_component = ctc.StructureMoleculeComponent(structure, id="my_structure")
# example layout to demonstrate capabilities of component
my_layout = html.Div(
[
html.H1("StructureMoleculeComponent Example"),
html.H2("Standard Layout"),
structure_component.layout(),
html.H2("Optional Title Layout"),
structure_component.title_layout(),
],
style=dict(
margin="2em auto", display="grid", placeContent="center", placeItems="center"
),
)
# tell crystal toolkit about your app and layout
ctc.register_crystal_toolkit(app, layout=my_layout)
# allow app to be run using "python structure.py"
# in production, deploy behind gunicorn or similar
# see Dash documentation for more information
if __name__ == "__main__":
app.run_server(debug=True, port=8050)
Callback Graph