Overview
Equivariant Diffusion Models is the official code release for the paper Equivariant Diffusion for Molecule Generation in 3D. The repository implements an E(3)-equivariant diffusion model, referred to as EDM, and documents research workflows for training molecular generators and examining their outputs. It is a model implementation with training and evaluation scripts, rather than a hosted molecular-design service.
The documented workflows use QM9 or GEOM-Drugs data for training, then pass a saved model directory to separate scripts for sample-quality analysis and molecular visualization. For GEOM-Drugs, the README directs users to additional dataset-preparation instructions. Conditional QM9 generation accepts a selected molecular property and supports sampling across different property values. The listed conditioning choices are alpha, gap, homo, lumo, mu, and Cv. The README also identifies paths for a pretrained generator and property classifier for alpha.
A separate property-prediction workflow trains an EGNN classifier or a baseline using only the number of nodes, then evaluates a classifier on EDM-generated samples. These routines support investigating generated molecules, but the source excerpts do not report performance results or establish suitability for downstream experimental use. Resource planning matters: the authors warn that fully connected EGNN message passing can be memory-intensive, particularly in the GEOM-Drugs workflow. RDKit is described as optional, while the excerpts do not establish a complete, tested environment configuration.
Key Features
- Separate documented training workflows for EDM on QM9 and GEOM-Drugs.
- Post-training scripts for molecular sample-quality analysis and visualization using a saved model directory.
- Conditional QM9 generation using `alpha`, `gap`, `homo`, `lumo`, `mu`, or `Cv`, including sampling across property values.
- Property-classifier training with an EGNN model or a node-count-only baseline, followed by evaluation on EDM-generated samples.
- Documented paths for a pretrained `alpha`-conditioned generator and an associated pretrained property classifier.
Use Cases
- Suggested evaluation: train an EDM on QM9 and inspect generated 3D molecules using the documented analysis and visualization workflows.
- Suggested evaluation: investigate how generated samples change across conditioning values for a selected supported QM9 property.
- Suggested evaluation: assess property-conditioned samples with the documented classifier workflow and investigate the node-count-only baseline.
- Suggested evaluation: explore GEOM-Drugs generation while assessing the memory requirements of fully connected EGNN message passing.
How to Use
- Start with the official README and choose the QM9, GEOM-Drugs, or conditional QM9 workflow. Use its supplied examples rather than assuming one configuration covers all three.
- Inspect the package setup source for declared dependencies. The README offers optional RDKit environment guidance; these excerpts do not establish a complete installation procedure.
- Prepare the selected dataset. For GEOM-Drugs, follow the README's reference to
data/geom/README.mdin the repository. That file's contents are not supplied here. - Follow the relevant training example and retain its model output directory. Account for the documented memory warning when planning GEOM-Drugs runs.
- Use the documented analysis and sampling scripts with the saved model directory. For conditional generation, select a supported property and follow the property-sweep example.
- If evaluating conditioning, follow the classifier-training and generated-sample evaluation examples. Treat resulting measurements as your own evaluation, not as performance established by this entry.