| name | generative-design |
| description | Designs novel molecules using REINVENT 4 (de novo, scaffold decoration, linker design, R-group, molecular optimization), MolMIM, Diffusion-based generators (DiGress, DiffSMol), and JT-VAE with explicit handling of multi-parameter optimization (MPO), goal-directed scoring functions, transfer/reinforcement/curriculum learning, synthetic accessibility scoring, and chemical space exploration vs exploitation. Use when designing new chemical matter against a target, decorating a scaffold, linking fragments, or optimizing a hit for multiple ADMET / activity properties simultaneously. |
| license | MIT |
Version Compatibility
Reference examples tested with: REINVENT 4.0+, RDKit 2024.09+, PyTorch 2.1+, MolMIM (NVIDIA BioNeMo), chemprop 2.0+.
Before using code patterns, verify installed versions match. If versions differ:
- Python:
pip show <package> then help(module.function) to check signatures
If code throws ImportError, AttributeError, or TypeError, introspect the installed package and adapt the example to match the actual API rather than retrying.
Generative Molecular Design
Hard rules
- No fabricated citations. Every cited work must resolve to a verifiable
- No claim without provenance. Every quantitative or factual claim
- No silent failure. Every script invocation, API call, or tool use must declare its exit status and what to do on non-zero. A skill that silently swallows errors is a violation.
When to use
Load this skill when the user asks a question that matches its declared
trigger conditions (see the frontmatter description for the most common
ones). Do not load it for questions outside its scope — defer to the
appropriate ORS skill instead.
When NOT to use
Do not load this skill if the question is in a sibling skill's domain
(see ## Cross-references), if the user explicitly asks for a different
tool, or if the task is outside the skill's declared category.
Generator Mode Taxonomy
| Mode | Input | Output | Use case | Fails when |
|---|
| De novo | Empty seed or training set | Novel molecules | Wide chemical space exploration | Synthetic feasibility weak |
| Scaffold decoration | Scaffold + attachment points | Decorated molecules | Series expansion | Diversity limited by scaffold |
| Linker design | 2 fragments | Linker molecules | PROTAC, ternary complex | Few linker geometric options |
| R-group replacement | Scaffold + existing R-groups | New R-group set | Optimize one position | Single-position only |
| Molecular optimization | Lead molecule | Improved analogs | Lead optimization | Improvement window narrow |
| Constrained generation | Hard constraints (MW, fragments) | Compliant molecules | Patent / IP design | Constraints overly restrictive |
Learning Algorithm Taxonomy
| Algorithm | Use | Pro | Con |
|---|
| Transfer learning (TL) | Adapt prior model to focused training set | Stable, simple | Limited optimization power |
| Reinforcement learning (RL) | Reward-driven generation | Powerful for MPO | Reward hacking risk |
| Curriculum learning (CL) | Gradual constraint introduction | Better convergence | Slower; tuning sensitive |
Decision Tree by Scenario
| Scenario | Generator | Algorithm | Scoring |
|---|
| New target, no SAR | De novo | RL on docking score | Glide / Vina + QED |
| Series expansion | Scaffold decoration | TL on series + RL | QSAR ensemble + QED |
| PROTAC linker | Linker design | RL on ternary complex | DC50 surrogate |
| Lead optimization MPO | Molecular optimization | CL with staged constraints | Multi-task: activity + ADMET |
| Diverse hit set | De novo with diversity bonus | RL + Tanimoto distance to known | Activity + diversity |
| Patent space carve-out | Constrained de novo | RL + structural constraints | Activity + novelty |
| Hit-to-lead | R-group replacement | TL on lead + RL | Activity + Lipinski |
| ADMET-aware design | De novo or optimization | RL | hERG + CYP + AMES + QED |
REINVENT 4 Setup
REINVENT 4 uses a TOML configuration file specifying generator, algorithm, prior model, and scoring functions.
[parameters]"
prior_file = "priors/reinvent.prior"
agent_file = "priors/reinvent.prior"
batch_size = 64
unique_sequences = true
[[stage]]
max_steps = 1000
chkpt_file = "checkpoints/agent.chkpt"
[[stage.scoring.component]]
name = "QED"
[[stage.scoring.component]]
name = "custom_activity"
weight = 1.0
Multi-Parameter Optimization (MPO)
The art of generative design lies in the scoring function. Common components:
| Component | Purpose | Reference |
|---|
| QED | Drug-likeness | Bickerton 2012 |
| SAScore | Synthetic accessibility | Ertl 2009 |
| Activity QSAR | Target binding | chemprop model |
| hERG | Cardiotox | ADMETlab 3.0 |
| Lipinski | Rule of 5 | Lipinski 1997 |
| Tanimoto distance | Diversity from known actives | RDKit |
Critical pitfall: Reward hacking. If activity model is biased, generator produces structures that exploit the bias. Mitigations:
- Use ensemble of models (5+)
- Constrain to chemically reasonable substructures
- Validate top-100 by orthogonal in silico methods (docking, FEP)
MolMIM (NVIDIA BioNeMo)
MolMIM is a property-guided latent-variable model:
from molmint import MolMIM
from rdkit import Chem
model = MolMIM()
smiles = 'CCO'
optimized = model.optimize(smiles, target_logp=2.5, target_sas=2.0)
mol = Chem.MolFromSmiles(optimized)
Strength: Continuous property optimization in latent space. Weakness: Latent space not always semantically meaningful.
Diffusion-Based Generators (DiffSMol, DiGress)
Diffusion models generate molecules by iteratively denoising:
Strength: State-of-the-art sample quality on MOSES benchmark. Weakness: Slower than RL; harder to condition on multiple objectives.
JT-VAE (Latent-Space Optimization)
Junction Tree VAE optimizes in latent space then decodes:
Strength: Smooth latent space for optimization. Weakness: Outdated vs transformers; reconstruction quality lower.
Per-Tool Failure Modes
REINVENT -- reward hacking
Trigger: Generated molecules score high but don't bind target.
Mechanism: Generator exploits QSAR model weaknesses (e.g., simple features that correlate spuriously).
Symptom: Top-100 in silico but 0% hit rate in vitro.
Fix: Ensemble of 5+ scoring models; structural diversity constraint; orthogonal validation (docking).
Scaffold decoration -- diversity loss
Trigger: After 1000 REINVENT steps, all generated molecules are near-same scaffold.
Mechanism: Generator converges to local optimum.
Symptom: Generated SMILES have Tanimoto > 0.9 to scaffold.
Fix: Add Tanimoto distance to known actives as bonus; restart with new seed; increase stochasticity.
Generative vs docking mismatch
Trigger: Generated molecules have high predicted QED but Vina score = 0.
Mechanism: Generator not aware of binding pocket geometry.
Symptom: Synthesizable but non-binders.
Fix: Add docking score (Vina or GNINA) to scoring function; dock top candidates as filter.
MolMIM -- discontinuous objective
Trigger: Optimizing a property with sharp boundaries (e.g., exactly 1 sulfonamide).
Mechanism: Latent-space optimization uses smooth gradient; sharp objectives don't have it.
Symptom: Generator oscillates around target.
Fix: Use reward-style scoring instead of property-distance; post-filter for hard constraints.
Common Errors
| Symptom | Cause | Fix |
|---|
reinvent exits with OOM | Prior model too large for GPU | Use smaller prior; CPU mode |
| All generated molecules identical | Mode collapse | Reset agent; add diversity bonus |
| Generated SMILES invalid | Tokenizer mismatch | Update reinvent to latest version; validate SMILES post-gen |
| MPO components all zero | Components missing from TOML | Re-check TOML section names |
| QED 1.0 but no synthesis | QED rewards unrealistic features | Add SAScore; run retrosynthesis filter |
References
- Loeffler et al., J. Cheminform. -- REINVENT 4.
- Sanchez-Lengeling et al., ACS Cent. Sci. -- generative chemistry review.
- Jin et al. -- JT-VAE.
Related Skills
- chemoinformatics/qsar-modeling - Scoring models
- chemoinformatics/retrosynthesis - Synthetic feasibility
- chemoinformatics/reaction-enumeration - Library enumeration alternative
- chemoinformatics/protac-degraders - Linker design for PROTACs
Cross-references
Other skills in this category:
- admet-prediction
- conformer-generation
- covalent-design
- docking-rescoring
- free-energy-calculations
- molecular-descriptors
- molecular-io
- molecular-standardization
- pharmacophore-modeling
- pose-validation
- protac-degraders
- qsar-modeling
- retrosynthesis
- scaffold-analysis
- shape-similarity
- similarity-searching
- substructure-search
- virtual-screening
Changelog
- 1.1.0 (migration) — Bulk-migrated to v0.4.0 schema: canonical
metadata block, base Hard rules, Cross-references. Body content
unchanged; author should review and fill in any domain-specific
extensions to the Hard rules.
- 1.0.0 — Initial release.