Toolkit for free-energy calculation setup/analysis and biomolecular structure handling

pip install pmx-biobb==1.0.1




pmx (formerly pymacs) has started as a small bunch of classes to read structure files such as pdb or gro and trajectory data in gromacs xtc format. Over the years it has been extended towards a versatile (bio-) molecular structure manipulation package with some additional functionalities, e.g. gromacs file parsers and scripts for setup and analysis of free energy calculations.


D. Seeliger and Bert L. de Groot, Biophys. J. 98(10):2309-2316 (2010)

V. Gapsys, S. Michielssens, D. Seeliger, B. L. de Groot. J. Comput. Chem. 2014, DOI: 10.1002/jcc.23804


I mostly use pmx to write short scripts which perform some changes in pdb files, e.g. changing atom or residue names, applying some geometric transformations or doing some kind of analysis. The critical issue for these things is usually not calculation time but straightforward selection of some atoms/residues of interest, quick file parsing and data visualization, which renders a well-organized data structure and easy programming style more important than computation performance. Hence, and ideal task for Python.


Checkout the source code and run the usual python installation

git clone pmx
cd pmx

The 'master' branch is written in Python 2. For Python 3 version and Icolos support use 'develop' branch; to switch to 'develop' branch type:

git checkout develop

For installation type the command:

python install


  pip install .

Software Requirements

Getting Started

Once installed, you can access the scripts via the command line tool pmx. Type pmx -h to view the help message. The command pmx gmxlib will help you locate the pmx force field libraries, which are placed in the data folder where pmx was installed.

pmx stores structure data in Python classes. The "Model" class is the uppermost class which contains severals lists of Atoms, Molecules and Chains. The following script reads a pdb file, prints some atom properties and writes the structure in gro format.

pmx data structure

The figure above shows the most important data structure. A "Model" instance contains list of chains, residues and atoms. A "Chain" instance of residues and atoms and a "Molecule" instance of a list of atoms only. Check the example scripts for how to navigate trough particular storage classes.

pmx Modules

pmx currently contains the following modules. Click on the links below for a (short) documentation

pmx Classes (the most important ones)

Using pmx