# Molecular Nodes: Blender import and animation for molecular data

> Molecular Nodes adds structure import, molecular styling, animation, trajectory playback, and density map support to Blender through Geometry Nodes and Python. It suits structural biology artists working in Blender, but the README and package metadata differ on the minimum supported version.

**BradyAJohnston/MolecularNodes** — Toolbox for molecular animations in Blender, powered by Geometry Nodes.

- Repository: https://github.com/BradyAJohnston/MolecularNodes
- Website: https://bradyajohnston.github.io/MolecularNodes/
- Stars: 1,396 · Forks: 135
- Language: Python
- License: GPL-3.0
- Published: 2026-10-16 · Updated: 2026-10-16 · Language: en
- Canonical page: https://hysenlabs.com/projects/bradyajohnston-molecularnodes

## Molecular Nodes' role inside Blender

Molecular Nodes solves a format and workflow gap between structural biology data and Blender. Blender already provides modeling, rendering, and animation tools, but molecular files carry domain-specific information that ordinary geometry importers do not necessarily interpret. Molecular Nodes supplies the Blender-side interface for that data and turns it into scene content that can be styled and animated.

The intended users are structural biology artists, scientific visualization practitioners, and Blender users producing explanatory molecular graphics. The README describes support for static crystal structures, proteins and other molecules, molecular dynamics trajectories, and EM density maps. Its topics also cover PDB, mmCIF, molecular graphics, and scientific art, which places it at the intersection of data import and visual communication rather than numerical molecular analysis.

The project is a Blender extension, not a standalone molecular renderer. It retains Blender as the scene graph, animation system, renderer, and Geometry Nodes environment. That boundary matters. A team looking for a command-line program that turns a trajectory into rendered video will not find that workflow described in the README. A team already using Blender for lighting, materials, cameras, and timeline animation gets access to structures that Blender does not natively understand.

## From molecular records to Geometry Nodes workflows

The architecture combines Python-based Blender integration with Geometry Nodes. The repository is primarily Python, while the project description identifies Geometry Nodes as its animation mechanism. The dependency list provides evidence about the data path: `biotite`, `mdanalysis`, `imdclient`, `mrcfile`, `starfile`, `griddataformats`, `pandas`, and `databpy` handle scientific structures, trajectories, grids, and related data processing. Blender-facing dependencies include `nodebpy` and an optional `bpy==5.2.*` package.

This split suggests a staged workflow. Structural or trajectory data is imported through Python and its scientific-data libraries. The resulting molecular information is exposed to Blender, where Geometry Nodes supports procedural styling and animation. The README identifies animations from static crystal structures, customizable styles, trajectory import and playback, and EM density map import as separate capabilities.

The practical benefit is procedural control after import. Molecular visualization is not limited to a fixed preset applied once. The project describes highly customizable styles and creates animations from static structures, so the Blender scene can remain editable through node-based workflows rather than every frame becoming an opaque, pre-baked output. However, the README does not document the internal node-group names, field mappings, update behavior, or exact processing stages. Anyone validating scientific data handling should use the individual node documentation rather than infer implementation details from the package dependencies.

## Installing through Blender Extensions

The documented installation path is Blender's extension system, not a separate Python application. The README states that Molecular Nodes can be installed from within Blender versions 4.2 or newer by using the Get Extensions menu. It links to the project's installation tutorial for additional steps, but the README does not give exact search terms or menu clicks for that tutorial, so those details cannot be reproduced safely here.

In Blender, open the extension installation interface, locate Molecular Nodes through Get Extensions, and follow the platform-specific installation presented there. The package metadata declares extensions for `windows-x64`, `linux-x64`, and `macos-arm64`. No command or environment variable is supplied for this route.

There is an important compatibility discrepancy. The README says Blender 4.2 or newer, but `pyproject.toml` sets `blender_version_min = "5.2.0"`, and the current package version is `520.3.0`. The README's installation page should therefore be checked against the release being installed. A 4.2 installation statement is not sufficient evidence that the current `520.3.0` metadata supports every release from Blender 4.2 through 5.1.

## A first Blender visualization with Molecular Nodes

The first real use begins inside Blender after installation. The README links to written and video tutorials for the basics and separately links to documentation for individual nodes. It does not provide a complete, copyable UI sequence, so inventing node names or button labels would make the tutorial unreliable.

Start with one small structural biology file that you already understand. Use the installation tutorial to confirm the extension is enabled, then follow the getting-started tutorial for importing that file. After import, inspect the resulting Blender geometry before adding animation or a stylized material. This order separates file interpretation from presentation work. If atoms, bonds, chains, or density data do not appear as expected, the problem is more likely connected to import than to a later lighting choice.

For a second exercise, import one molecular dynamics trajectory and use the documented trajectory workflow to play it back. The README confirms trajectory playback from a variety of sources, but it does not name every supported source or document frame-rate handling. Treat the source-specific setup as something to verify in the tutorials and node documentation.

For animation from a static structure, use the animation workflow after confirming that the imported molecular geometry is correct. The project's value is that Blender's timeline and Geometry Nodes can act on this domain data, not merely that it displays a static molecule.

## Development setup and repository weight

The repository provides a distinct path for contributors. It recommends a shallow clone because the complete commit history approaches 1 GB. This is a concrete repository constraint for developers who want source access without downloading the entire history.

```bash
git clone --depth 1
```

The README pairs that workflow with VS Code and the Blender VS Code add-on. Once the extension is installed, the `Blender: Build and Start` command can launch Blender with the add-on built and installed. After code changes, `Blender: Reload Addons` refreshes the extension inside the running Blender instance. These commands are intended for a configured development directory and Blender VS Code integration. They do not replace the documented Get Extensions installation path.

For development, `uv.lock`, `.pre-commit-config.yaml`, `tests/`, and `benchmarks/` are present at the repository root. The presence of tests and benchmarks supports a repeatable development structure, but the README does not explain how to invoke either suite or interpret benchmark results. The project also requires Python `~=3.13.0`, which matters for source-based or documentation work even when end users install the packaged Blender extension.

## Scientific use requires source and citation checks

Molecular Nodes is aimed at visualization, and its repository includes visual examples, tutorials, video projects, and a citations page. Those resources help users understand intended presentation workflows. They do not by themselves establish that every imported attribute, interpolated trajectory frame, or density map has been validated for a particular scientific conclusion.

The README states that the add-on is powered by Biotite and MDAnalysis, which is useful when tracing scientific-data processing to established Python libraries. Still, users should identify the exact parser or node involved for each accepted format. The README does not document format validation tolerances, how missing molecular fields are handled, or whether playback preserves all source metadata. Those are meaningful questions for structural biology workflows.

The README also says that a paper has not yet been published for the add-on and directs academic users to cite it through Zenodo. That citation instruction should be followed when the work qualifies for academic use. It is separate from the software license. The `pyproject.toml` identifies the project as `GPL-3.0-or-later`, while a README image alt text incorrectly refers to MIT. The `pyproject.toml` license declaration and repository license information provide the more direct basis for identifying the applicable license.

## Limits, release cadence, and alternatives

The clearest limitation is compatibility ambiguity. The installation text says Blender 4.2 or newer, but the package metadata sets a minimum of Blender 5.2.0 for the current extension build. Another boundary is scientific scope. Molecular Nodes imports, styles, animates, and plays back molecular content inside Blender; the README does not present it as a molecular simulation engine, analysis package, or standalone batch rendering service.

A real alternative is a conventional scientific-visualization or structure-rendering tool followed by export into a general 3D package. That approach can serve users who need command-line automation, mature format-specific validation, or analysis outside Blender. Molecular Nodes takes a different path: Python libraries parse the domain data, and Blender Geometry Nodes make the imported content procedurally presentable and animatable. The trade-off is direct access to Blender workflows versus dependence on the add-on's compatibility and node behavior.

Maintenance information is current but does not remove upgrade work. The repository is not archived, the last push was on 2026-10-14, and releases `v520.2.0`, `v520.1.0`, and `v520.0.0` were published in September 2026. The current `pyproject.toml` declares version `520.3.0`, which is newer than the listed releases. Users should match an installed extension to its documentation and package metadata.

## Conclusion

Molecular Nodes is a practical choice for Blender users who need to import structural biology data, create molecule animations, or inspect molecular dynamics trajectories without building each Geometry Nodes workflow from scratch. It is a poor fit for teams that require a documented command-line deployment, an unambiguous Blender compatibility policy, or scientific claims not supported by validation files. Before adoption, verify the Blender version against the release you install, inspect the exact input formats in the node documentation, and test one representative structure or trajectory in a clean Blender profile.

## FAQ

### How do I install Molecular Nodes in Blender?

The README says to use the Get Extensions menu inside Blender versions 4.2 or newer. It links to the installation tutorial for the complete steps, while current `pyproject.toml` metadata sets `blender_version_min = "5.2.0"`.

### Can Molecular Nodes animate a static molecular structure?

Yes. The README states that the add-on can create animations from static crystal structures and that its molecular animation toolbox is powered by Geometry Nodes.

### Which molecular data can Molecular Nodes import into Blender?

The README explicitly identifies crystal structures, molecular dynamics trajectories, proteins and other molecules, and EM density maps. It does not provide a complete format-by-format support table.

## Sources

- [BradyAJohnston/MolecularNodes on GitHub](https://github.com/BradyAJohnston/MolecularNodes)
- [License: GPL-3.0](https://github.com/BradyAJohnston/MolecularNodes/blob/main/LICENSE)
- [Project website](https://bradyajohnston.github.io/MolecularNodes/)
- [README](https://github.com/BradyAJohnston/MolecularNodes/blob/main/README.md)
- [Releases](https://github.com/BradyAJohnston/MolecularNodes/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/bradyajohnston-molecularnodes
