Skip to content

ComputBiophys/CTGoMartini

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

192 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CTGoMartini: A Python Package for Protein Conformational Transitions and Associated Protein-Lipid Interactions with Gō-Martini Models

Version Python License

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.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Features

  • 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.

Installation

Quick Install

# 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 .

CUDA Version

The default environment.yml uses CUDA 12. If you need a different version, edit the file:

cuda-version=11  # or 10.2

Important Notes:

  • numpy<2.4.0 is required for REMD compatibility
  • cuda-version should match your NVIDIA driver
  • Multi-GPU REMD uses openmmtools for replica exchange. See YANK documentation for MPI configuration details.

Testing

Run the test suite to verify your installation:

# Run all tests
pytest tests/

Quick Start

1. Generate Topology

# 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

2. Run Simulation

# 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.inp

Roadmap

See ROADMAP.md for project roadmap and future plans.

Citation

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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors