This repository describes an implementation of the Martini 212 and Martini 33 force fields for coarse-grained simulation in the OpenMM package4. It includes a Python parser to convert GROMACS Martini topology files (.top) to OpenMM topologies and systems.
The repository includes a suite of test systems to verify the implementation of all the potential terms in use by Martini 2 and Martini 3.
The suite of tests is run automatically. The current status of these tests is:
The test systems include:
- Simple and more complex mixtured of lipids;
- Soluble membrane proteins, with elastic networks setups for Martini 2 and 3, and including Go model for Martini 3; Membrane proteins with elastic network setup for Martini 2 and 3;
- A pentapetide in water with Martini 2.3P polarizable force field5;
- Small molecules (Martini 3);
- Several ad hoc systems to test specific potential terms.
All the test systems files are in the tests
directory, which also includes example scripts to compare GROMACS and OpenMM energies and forces.
To run the tests, use pytest
in the root directory after installation.
- Martini 2 cholesterol. The standard Martini 2 cholesterol topology uses a constraint network that, while can be solved by LINCS in GROMACS, cannot be solved by the Constant Constraint Matrix Approximation (CCMA) algorithm in OpenMM, thus leading to instabilities.
- We have developed an alternative topology to be used in OpenMM. Before running an OpenMM Martini 2 simulation with cholesterol, the user needs to manually replace the cholesterol topology. The modified topology can be found in the folder
cholesterol
.
- We have developed an alternative topology to be used in OpenMM. Before running an OpenMM Martini 2 simulation with cholesterol, the user needs to manually replace the cholesterol topology. The modified topology can be found in the folder
- Math in .itp files:
- Gromacs allows for mathematical expressions to be used in .itp files. For example:
1 6 1 0.98112 RUBBER_FC*1.000000
- This is not allowed in OpenMM and must be edited:
1 6 1 0.98112 RUBBER_FC
- Gromacs allows for mathematical expressions to be used in .itp files. For example:
- Tested with Python 3.8
- OpenMM v7.7.0
To install the package, in your current Python environment run:
python setup.py install
The source code included in this repository is available under the GNU Public License, version 3 (see LICENSE
).
Please report any problems or bugs you may encounter as issues on the github repo.
Footnotes
-
Marrink, S. J. et al., J. Phys. Chem. B 2007, 111, 7812–7824 ↩
-
de Jong, D. H. et al., J. Chem. Theory Comput. 2013, 9, 687–697 ↩
-
Souza, P. C. T. et al., Nat. Methods 2021, 18, 382–388 ↩
-
Eastman, P. et al., PLoS Comput. Biol. 2017, 13, e1005659 ↩
-
Khan, H. M. et al., J. Chem. Theory Comput. 2020, 16, 2550–2560 ↩