How lpdi-epfl/lddm works
LDDM is a pocket-conditioned 3D molecular-generation system for drug design. Its basic workflow takes a protein pocket, optional ligand or fragment constraints, and a pretrained checkpoint; sampling produces molecules for de novo design, fragment growth/linking, docking, or partial docking. Advanced workflows add programmable fragment exploration and reaction-constrained synthesizable generation. Generated structures can be assessed with drug-design and 3D-geometry metrics. The graph emphasizes documented product capabilities; unsampled implementation details are represented only where the repository tree supports a subsystem, so some internal wiring is omitted.
Main entry points: programmable_generation.py Programmable generation · sample.py Basic sampling · synthesizable_generation.py Synthesizable generation · utils.py Design and docking
Components 21
Runtime entry points
- Basic sampling
scripts/sample.py - Programmable workflow
scripts/generate_programmable_design.py
Molecular generation
- Design and docking
lddm/inference/utils.py - Programmable generation
lddm/inference/programmable_generation.py - Synthesizable generation
lddm/inference/synthesizable_generation.py - ODE samplers
lddm/model/samplers.py
Chemical processing
- Molecule construction
lddm/data/molecule_builder.py - Reaction processing
lddm/reactions/reaction_utils.py
Structure evaluation
- Drug-design metrics
lddm/sbdd_metrics/metrics.py - 3D geometry validity
lddm/sbdd_metrics/validity_3d/validity3d.py
Model and data
- LDDM model runtime
lddm/model/lightning.py - Heterogeneous dynamics
lddm/model/dynamics.py - Molecular datasets
lddm/data/dataset.py - Molecule featurization
lddm/data/transforms.py
Other components
- Researcher
- Pocket and ligand inputs
- Model checkpoint
- Generated molecules
- Geometry reference data
- Basic SDF output
- Advanced results
Connections 23
- Researcher → Basic sampling: invokes
- Researcher → Programmable workflow: invokes
- Pocket and ligand inputs → Basic sampling: provides inputs
- Model checkpoint → Basic sampling: provides weights
- Basic sampling → Design and docking: runs sampling
- Design and docking → LDDM model runtime: uses model
- LDDM model runtime → Heterogeneous dynamics: predicts dynamics
- Design and docking → ODE samplers: advances trajectory
- Design and docking → Molecule construction: builds molecules
- Molecule construction → Basic SDF output: writes structures
- Basic sampling → Basic SDF output: writes SDF
- Programmable workflow → Programmable generation: runs workflow
- Programmable generation → LDDM model runtime: uses model
- Programmable generation → Drug-design metrics: filters candidates
- Programmable generation → Advanced results: writes results
- Programmable generation → 3D geometry validity: checks geometry
- Synthesizable generation → Programmable generation: extends exploration
- Synthesizable generation → Reaction processing: generates products
- Synthesizable generation → Drug-design metrics: filters candidates
- Synthesizable generation → Advanced results: returns results
- 3D geometry validity → Geometry reference data: reads geometry
- LDDM model runtime → Molecular datasets: loads datasets
- Molecular datasets → Molecule featurization: featurizes samples