How tangcyu/gen-compas works
Gen-COMPAS orchestrates iterative, committor-guided protein rare-event sampling: it trains and samples diffusion models, optionally filters samples with a learned committor, selects structures, runs targeted and unbiased MD, then reweights trajectories and estimates free-energy landscapes. The README documents the stage schedule; sampled source confirms the workflow orchestrator, model training, RiteWeight processing, and NAMD execution. Some stage wiring is represented from README documentation because its implementation was not sampled.
Main entry points: workflow.py Iteration scheduler · riteweight.py Trajectory reweighting · diffusion_sample.py Sample structures · vcn_slice.py Committor slicing
Components 20
Workflow orchestration
- Iteration scheduler
workflow.py - Config loading
common/config.py
Structure generation
- Train diffusion
common/diffusion_train.py - Diffusion network
utils/model.py - Sample structures
common/diffusion_sample.py
Committor and targets
- Train committor
common/vcn_train.py - Committor network
vcn/model.py - Committor slicing
common/vcn_slice.py - Cluster targets
tools/clustering.py - Target selection
common/target_selection.py - Set occupancy
tools/occupancy.py
Molecular simulation
- Targeted and unbiased MD
tools/namd.py
Reweighting and analysis
- Trajectory reweighting
tools/riteweight.py - VCN training data
tools/tensor_table.py - Aligned training trajectory
tools/riteweight.py - Free-energy landscape
tools/felestimate.py - Weighted FEL result
Other components
- Researcher
- Initial MD data
- NAMD engine
Connections 29
- Researcher → Iteration scheduler: starts run
- Iteration scheduler → Config loading: loads config
- Iteration scheduler → Train diffusion: dispatches stage
- Iteration scheduler → Sample structures: dispatches stage
- Iteration scheduler → Train committor: dispatches stage
- Iteration scheduler → Committor slicing: dispatches stage
- Iteration scheduler → Cluster targets: dispatches stage
- Iteration scheduler → Set occupancy: dispatches stage
- Iteration scheduler → Targeted and unbiased MD: dispatches stage
- Iteration scheduler → Trajectory reweighting: dispatches stage
- Iteration scheduler → Free-energy landscape: dispatches stage
- Initial MD data → Train diffusion: trains from
- Initial MD data → Train committor: trains from
- Train diffusion → Diffusion network: optimizes
- Diffusion network → Sample structures: generates conformations
- Train committor → Committor network: optimizes
- Committor network → Committor slicing: scores structures
- Sample structures → Committor slicing: filters generated frames
- Sample structures → Cluster targets: clusters generated frames
- Committor slicing → Target selection: provides candidates
- Cluster targets → Target selection: provides representatives
- Target selection → Set occupancy: prepares targets
- Set occupancy → Targeted and unbiased MD: supplies structures
- Targeted and unbiased MD → NAMD engine: runs simulations
- NAMD engine → Trajectory reweighting: produces trajectories
- Trajectory reweighting → VCN training data: emits training data
- Trajectory reweighting → Aligned training trajectory: emits aligned trajectory
- Trajectory reweighting → Free-energy landscape: provides weighted results
- Free-energy landscape → Weighted FEL result: projects landscape