CTGoMartini: A Python Package for Protein Conformational Transitions and Associated Protein-Lipid Interactions with Gō-Martini Models
CTGoMartini is a Python package for single-basin Gō-Martini, Switching Gō-Martini, and Multiple-basin Gō-Martini simulations. The main aim of this package is to provide a user-friendly way to simulate conformational transitions of proteins, with particular focus on membrane proteins, using Gō-Martini models.
This project is licensed under the MIT License - see the LICENSE file for details.
- New "Contacts" Interaction Type: Replaces LJ-type contact interactions in classic Gō-Martini3 models, eliminating incorrect interactions between multiple protein copies and facilitating construction of multiple basin potentials.
- Automatic Topology Construction: Generate Gō-Martini3 model topologies for different simulation methods (Single-basin, Multiple-basin, Switching).
- Simplified MD Workflow: Streamlined process for running coarse-grained molecular dynamics simulations with OpenMM.
- Modern Python: Full type annotations using Python 3.12+ syntax for better IDE support and code clarity.
- Unified CLI: Single entry point for all simulation types with automatic detection.
# Clone the repository
git clone https://github.com/ComputBiophys/CTGoMartini.git
cd CTGoMartini
# Create environment with all dependencies
conda env create -f environment.yml
# Activate and install CTGoMartini
conda activate ctgomartini
pip install -e .
The default environment.yml uses CUDA 12. If you need a different version, edit the file:
cuda-version=11 # or 10.2Important Notes:
numpy<2.4.0is required for REMD compatibilitycuda-versionshould match your NVIDIA driver- Multi-GPU REMD uses
openmmtoolsfor replica exchange. See YANK documentation for MPI configuration details.
Run the test suite to verify your installation:
# Run all tests
pytest tests/# Single-basin (SBP) - single structure
ctgomartinize -s protein.pdb -m auto -mol protein -ff martini3001 -dssp -method sbp
# Multiple-basin with exponential mixing (EXP) - 2 structures
ctgomartinize -s stateA.pdb stateB.pdb -m auto -mol stateA stateB -mbmol protein -ff martini3001 -dssp -method exp
# Hamiltonian mixing (HAM) - 2 structures
ctgomartinize -s stateA.pdb stateB.pdb -m auto -mol stateA stateB -mbmol protein -ff martini3001 -dssp -method ham
# Switching - separate topologies for each structure
ctgomartinize -s stateA.pdb stateB.pdb -m auto -mol stateA stateB -ff martini3001 -dssp -method switching# Minimization and equilibration
run_ctgomartini -i npt.inp
# Production run
run_ctgomartini -i md.inp
# Append run
run_ctgomartini -i md.inp --append
# REMD run
run_ctgomartini -i remd.inpSee ROADMAP.md for project roadmap and future plans.
If you use CTGoMartini in your research, please cite:
Yang, Song; Song, Chen*. CTGoMartini: A Python Package for Protein Conformational
Transitions and Protein-Lipid Interactions with Gō-Martini Models, 2026.