A primitive Python wrapper around the Gromacs tools. The library is tested with GROMACS 4.6.5, 2018.x, 2019.x, 2020.x, 2021.x, 2022.x, 2023.x, 2024.x (and 5.x and 2016.x should also work). It supports Python 3.9--3.12 on Linux and macOS.
GromacsWrapper also provides a small library (cook book) of often-used recipes and helper functions to set up MD simulations.
Documentation is mostly provided through the python doc strings and available at https://gromacswrapper.readthedocs.org for recent releases.
The source code is available in the GromacsWrapper git repository.
Please be aware that this software is only minimally maintained and it most definitely contains bugs. It is your responsibility to ensure that you are running simulations with sensible parameters.
Given a PDB file 1iee.pdb
, set up and run a simple simulation (assuming
you have all other input files at hand such as the MDP files):
>>> import gromacs >>> print(gromacs.release) 2018.2 >>> help(gromacs.pdb2gmx) DESCRIPTION gmx pdb2gmx reads a .pdb (or .gro) file, reads some database files, adds hydrogens to the molecules and generates coordinates in GROMACS ... ... OPTIONS Options to specify input files: -f [<.gro/.g96/...>] (eiwit.pdb) Structure file: gro g96 pdb brk ent esp tpr ... ... >>> gromacs.pdb2gmx(f="1iee.pdb", o="protein.gro", p="topol.top", ... ff="oplsaa", water="tip4p") >>> gromacs.editconf(f="protein.gro", o="boxed.gro", ... bt="dodecahedron", d=1.5, princ=True, ... input="Protein") >>> gromacs.solvate(cp="boxed.gro", cs="tip4p", p="topol.top", ... o="solvated.gro") >>> gromacs.grompp(f="emin.mdp", c="solvated.gro", p="topol.top", ... o="emin.tpr") >>> gromacs.mdrun(v=True, deffnm="emin") >>> gromacs.grompp(f="md.mdp", c="emin.gro", p="topol.top", o="md.tpr") >>> gromacs.mdrun(v=True, deffnm="md")
The GromacsWrapper package is made available under the terms of the GNU Public License v3 (or any higher version at your choice) except as noted below. See the file COPYING for the licensing terms for all modules.
The latest version of GromacsWrapper from PyPi can be installed with
pip install GromacsWrapper
or as a conda-forge package with conda
from the conda-forge channel
conda install -c conda-forge gromacswrapper
The main branch in the GitHub source repository generally contains useful code but nevertheless, things can break in weird and wonderful ways. Please report issues through the Issue Tracker.
To use the development code base: checkout the main
branch:
git clone https://github.com/Becksteinlab/GromacsWrapper.git
and install
pip install GromacsWrapper/
Code contributions are welcome. We use black for uniform code formatting so please install black and run it on your code.
The GromacsWrapper home page is http://github.com/Becksteinlab/GromacsWrapper. The latest release of the package is being made available from https://github.com/Becksteinlab/GromacsWrapper/releases
You can also clone the GromacsWrapper git repository or fork for your own development:
git clone git://github.com/Becksteinlab/GromacsWrapper.git
Please ask questions in the Discussion forum (instead of private email).
Please use the Issue Tracker to report bugs, installation problems, and feature requests. Ask questions in the Discussion forum.
Pull requests for bug fixes and enhancements are very welcome. See http://makeapullrequest.com for a general introduction on how make a pull request and contribute to open source projects.
Install Sphinx:
pip install sphinx
and compile:
cd GromacsWrapper python setup.py build_sphinx
GromacsWrapper was written by Oliver Beckstein with contributions from many other people. Please see the file AUTHORS for all the names.
If you find this package useful and use it in published work I'd be grateful if it was acknowledged in text as
"... used GromacsWrapper (Oliver Beckstein et al, https://github.com/Becksteinlab/GromacsWrapper doi: 10.5281/zenodo.17901)"
or in the Acknowledgements section.
Thank you.