Update 3D structure viewer
Our current viewer (materia
) is not ideal for viewing large (>10k atoms) structures and complex topologies. In order to support highly complex structures we would want to experiment with other viewers, especially nglviewer
. This first version will only be enabled for structures with a topology attached to them: e.g. MD, MOFs from dinga and the systems with automatic topology created by matid
.
-
Add new API endpoint that can be used to load a single run.system.atoms through in a specified format (e.g. xyz, cif, etc.) -
Add nglviewer dependency -
Enable loading of structure into the viewer -
Create a new viewer component that use NGL. This should be a composition of a basic viewer component and a specialized component for NGL. -
Ability to visualize different parts of the topology. Should be something similar to what materia
currently does:-
Groups: other atoms transparent, focus on group atoms -
Molecule / monomer groups: other atoms hidden, focus on group atoms -
Molecules / Monomers: other atoms hidden, focus on molecule / monomer -
Full system: everything visible, focus on system -
Ability to load additional systems directly from the topology (e.g. conventional cells)
-
-
The new viewer should implement the following controls: -
Ability to turn bonds on/off. -
Ability to turn cell on/off. -
Ability to turn lattice parameters on/off. -
Ability to reset view. -
Ability to wrap atoms to cell. -
Zoom, pan. -
Enlarged view.
-
-
Correct initial/reset view: -
Systems with 3 lattice vectors: A pointing to right, C pointing top, slight rotation. -
Systems with 2 lattice vectors: A pointing right, B pointing back, slight rotation. -
Systems with 1 lattice vectors: A pointing right, slight rotation. -
Systems with 0 lattice vectors: Slight rotation.
-