Introduction¶
TOPO is a unified coarse-grained model for globular and disordered proteins, built on the OpenMM engine — a Python library and command-line toolkit covering globular (folded) proteins, multi-domain proteins with disordered regions, and fully disordered proteins in one force field.
Given only a protein structure (a PDB or CIF file), TOPO automatically builds a one-bead-per-residue (alpha-carbon) structure-based model — bonds, angles, sequence-dependent torsions, screened electrostatics, and a Gō-like native-contact potential — and runs Langevin dynamics. Because the native state is the energy minimum by construction, TOPO is well suited to protein folding and unfolding, thermal/mechanical stability, and multidomain motions.
If you are new here, read The TOPO model: theory and force field for what the model is, then work through the TOPO Tutorials.
Note
Disorder is supported. Folded proteins are the core case, but residues
declared in a disordered: section drop their native contacts and switch to
a transferable, sequence-dependent potential — so TOPO also covers
multi-domain proteins with IDRs (ordered and disordered residues in one
chain) and, with every residue declared, fully disordered proteins (IDPs).
See Disordered / IDR regions and
Tutorial A.7 — A protein with intrinsically disordered regions (IDRs).
See also
For a feature-by-feature map of what TOPO does and which tutorial teaches each, see What TOPO does.
The model in one paragraph¶
TOPO keeps only the alpha-carbon of each residue and builds a potential with bonded terms (rigid or harmonic Cα–Cα bonds, a bimodal Gaussian backbone angle, and four-periodicity sequence-dependent torsions) and non-bonded terms (Debye–Hückel screened electrostatics between charged residues, and a 12-10-6 structure-based contact potential). Native contacts — pairs in contact in your input structure (via backbone hydrogen bonds detected by STRIDE, and backbone–sidechain / sidechain–sidechain heavy-atom proximity) — get attractive wells at their native Cα–Cα distances; all other pairs get a soft excluded-volume repulsion. The full functional forms, constants, and parameter sources are in The TOPO model: theory and force field.
Package layout¶
The codebase is organized into focused subpackages:
Module |
Responsibility |
|---|---|
|
The model: |
|
Force-field constants: per-residue mass/radii/charge, bond/angle constants, and the sequence-dependent dihedral table. |
|
The simulation runner ( |
|
The contact-nscale optimizer ( |
Native-contact (Q) analysis. |
|
The fixed-width state log writer and its parser. |
|
Config parsing, the non-bonded contact builder, multi-copy replication, and run provenance. |
Installation¶
TOPO depends on OpenMM (and ParmEd, MDAnalysis, mdtraj, NumPy, pandas, PyYAML),
which are best installed from conda-forge, plus the external STRIDE (and
optional PULCHRA) binaries. In brief:
mamba create -n topo -c conda-forge python">=3.9" openmm parmed \
mdanalysis mdtraj numpy pandas pyyaml
mamba activate topo
pip install -e .
See How to install for the full step-by-step guide (both the editable/regular
pip install and the no-install PYTHONPATH alternative), and
External dependencies for STRIDE and the optional backmapping
tools (PULCHRA, cg2all).
Running a simulation¶
Every run is driven by a plain-text control file (md.ini) and launched with
any of the following equivalent forms:
topo-mdrun -f md.ini # installed console command
python -m topo.mdrun -f md.ini # module form
python run_simulation.py -f md.ini # the thin shim shipped in each tutorial
See Simulation control options for every md.ini option,
Output files and the run log for the files a run produces, and
TOPO Tutorials for hands-on walkthroughs.