ML Conformer Generator
ML Conformer Generator is a shape-constrained molecule generation model that combines
an Equivariant Diffusion Model (EDM) and Graph Convolutional Network (GCN). It generates 3D conformations
that are chemically valid and geometrically aligned with a reference shape.
📦 Model Summary
- Architecture: Equivariant Diffusion Model (EDM) + Graph Convolutional Network (GCN)
- Training Data: 1.6 million ChEMBL compounds, filtered for molecules with 15–39 heavy atoms
- Post-Processing: Deterministic standardization pipeline using RDKit with constrained MMFF94 geometry optimization
- Primary Metric: Shape Tanimoto Similarity
- Developed by: Denis Sapegin
🚀 Intended Use
- Non-Commercial Research in 3D molecular generation
- Academic/educational use
- Generation of molecules similar to a reference conformer
- Generation of molecules similar to a reference arbitrary shape
🚫 Out of Scope / Limitations
- Commercial Use: Not licensed for commercial use without explicit permission.
- Training Bias: Trained on ChEMBL data — results may be biased toward drug-like molecules and chemistries.
- Elements Supported: Only the following elements are supported for generation:
H, C, N, O, F, P, S, Cl, Br.
- Molecular Size Limitations:
- Trained on molecules containing 15–39 heavy atoms.
- By architectural design, the model can only generate molecules with up to 42 heavy atoms.
🧪 Evaluation Metrics (100,000 requested samples, 100 denoising steps)
- ✅ Valid molecules (post-standardization, % from requested): 48% - 93%
- 🧬 Chemical novelty: 99.84%
- 📐 Avg Shape Tanimoto: 53.32% - 69.97% (IFM)
- 🎯 Max Shape Tanimoto: 99.69%
- 🔁 Unique molecules: 99.94%
- ⚡ Generation speed: 4.18 valid molecules/sec (NVIDIA H100)
- 💾 Memory (per thread): up to 4.0 GB
- 🧬 Fréchet Fingerprint Distance (to ChEMBL): 4.13
🧠 How It Works
Core Components:
- EDM generates atom coordinates and types under shape constraints
- GCN predicts adjacency matrices (bonding)
- RDKit pipeline enforces valence, performs sanitization, and optimizes geometry
Shape Alignment:
Evaluated using Gaussian molecular volume overlap and Shape Tanimoto Similarity.
Hydrogens are excluded from similarity computation.
💾 Access & Licensing
The Python package and inference code are available on GitHub under Apache 2.0 License
The trained model Weights are available at
And are licensed under CC BY-NC-ND 4.0
The usage of the trained weights for any profit-generating activity is restricted.
For commercial licensing and inference-as-a-service, contact:
Denis Sapegin
Citation
If you use MLConfGen in your research, please cite:
Denis Sapegin, Fedor Bakharev, Dmitry Krupenya, Azamat Gafurov, Konstantin Pildish, and Joseph C. Bear.
Moment of inertia as a simple shape descriptor for diffusion-based shape-constrained molecular generation.
Digital Discovery, 2025.
DOI:
10.1039/D5DD00318K
Installation
- Install the package:
pip install mlconfgen
- Load the weights from Huggingface
PyTorch
edm_moi_chembl_15_39.pt
adj_mat_seer_chembl_15_39.pt
ONNX
edm_moi_chembl_15_39.onnx
adj_mat_seer_chembl_15_39.onnx
🐍 Python API
PyTorch
1from rdkit import Chem
2from mlconfgen import MLConformerGenerator, evaluate_samples
3
4model = MLConformerGenerator(
5 edm_weights="./edm_moi_chembl_15_39.pt",
6 adj_mat_seer_weights="./adj_mat_seer_chembl_15_39.pt",
7 diffusion_steps=100,
8 )
9
10reference = Chem.MolFromMolFile('ceyyag.mol')
11
12samples = model.generate_conformers(reference_conformer=reference, n_samples=20, variance=2)
13
14aligned_reference, std_samples = evaluate_samples(reference, samples)
ONNX
1from mlconfgen import MLConformerGeneratorONNX
2from rdkit import Chem
3
4model = MLConformerGeneratorONNX(
5 egnn_onnx="./egnn_chembl_15_39.onnx",
6 adj_mat_seer_onnx="./adj_mat_seer_chembl_15_39.onnx",
7 diffusion_steps=100,
8 )
9
10reference = Chem.MolFromMolFile('ceyyag.mol')
11samples = model.generate_conformers(reference_conformer=reference, n_samples=20, variance=2)
12