An interactive 3D molecule viewer and builder, with support for querying any 3D molecular generative model. Below is a demo with Symphony:
Built on top of JSmol for 3D visualization.
The backend corresponds to the model server, which will be queried for generation.
# Install dependencies (in your symphony environment)
pip install flask flask-cors
# Run with your trained checkpoint
python src/symphony/server.py \
--checkpoint /path/to/checkpoint.ckpt \
--device cuda \
--port 5000# From the project root
python -m http.server 8000Then open http://localhost:8000 in your browser.
- Click Generate Step to grow a molecule one atom at a time.
- Enable Auto-generate to loop until the model emits a STOP token (molecule is complete).
- Adjust inverse temperature parameters to control generation diversity:
- Focus τ — controls which existing atom gets selected as the focus (anchor) for the new atom.
- Radial τ — controls the distance of the new atom from the focus.
- Angular τ — controls the direction of the new atom relative to the focus.
- Higher values: more deterministic, lower values: more random.
- Load structures from PDB, Materials Project, and PubChem.
- Upload files in
.xyz,.pdb,.mol,.sdf,.cifformats. - Manipulate atoms: select, delete, expand selection.
- Visualization controls: display types, color schemes, isosurfaces, labels.
- Export as
.png,.xyz,.pdb,.mol,.sdf,.cif.