Skip to main content

A Python wrapper around the GROMACS tools.

Project description

Build Status Code Coverage Documentation Latest release on zenodo (with DOI) black PRs Welcome! Anaconda.org package

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

Quick Start

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")

License

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.

Installation

Releases

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

Development version

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.

Download and Availability

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

Questions

Please ask questions in the Discussion forum (instead of private email).

Reporting Bugs and Contributing to GromacsWrapper

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.

Building Documentation

Install Sphinx:

pip install sphinx

and compile:

cd GromacsWrapper
python setup.py build_sphinx

Citing

Latest release on zenodo (with DOI)

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gromacswrapper-0.9.2.tar.gz (182.4 kB view details)

Uploaded Source

Built Distribution

gromacswrapper-0.9.2-py3-none-any.whl (187.8 kB view details)

Uploaded Python 3

File details

Details for the file gromacswrapper-0.9.2.tar.gz.

File metadata

  • Download URL: gromacswrapper-0.9.2.tar.gz
  • Upload date:
  • Size: 182.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for gromacswrapper-0.9.2.tar.gz
Algorithm Hash digest
SHA256 73a7077258d68f92b1ee359e45af904e2f89766fc3f411bda9e2bf440f381a36
MD5 095b7a471c41dec66bac8d4126550363
BLAKE2b-256 835113ba08a81c03ad36b731d3da08a1d0f29a119d3daa2e674ba36cb411564d

See more details on using hashes here.

Provenance

The following attestation bundles were made for gromacswrapper-0.9.2.tar.gz:

Publisher: deploy.yaml on Becksteinlab/GromacsWrapper

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gromacswrapper-0.9.2-py3-none-any.whl.

File metadata

  • Download URL: gromacswrapper-0.9.2-py3-none-any.whl
  • Upload date:
  • Size: 187.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for gromacswrapper-0.9.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d20ba450fc970595ea3fc83de899cb4c450fb4739ea182c5a56c2edcb80535b8
MD5 917ec4ecc95d9b4deb33802d0f17925d
BLAKE2b-256 306dfda1d1d046fb321370ef0637534cb406bc1b361faef402e637b74391d8f4

See more details on using hashes here.

Provenance

The following attestation bundles were made for gromacswrapper-0.9.2-py3-none-any.whl:

Publisher: deploy.yaml on Becksteinlab/GromacsWrapper

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page