Skip to main content

Python Toolbox structure file editing and writing simulation setup/analysis tools

Project description

# pmx
## Introduction ##

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.

## Citations: ##

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


## Purpose ##

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.

## Installation ##

Checkout the source code and run the usual python installation
```
git clone https://github.com/deGrootLab/pmx pmx
cd pmx
```
For installation type the command:
```
python setup.py install
```
or
```
pip install .
```

## Software Requirements ##

* [numpy](http://numpy.scipy.org/)
* [scipy](http://www.scipy.org/)
* [matplotlib](http://matplotlib.org/)

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

<img src='http://pmx.googlecode.com/files/pmx_data.jpg' alt='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

* [atom](https://github.com/dseeliger/pmx/wiki/pmx_atom.md)
* [molecule](https://github.com/dseeliger/pmx/wiki/pmx_molecule.md)
* [chain](https://github.com/dseeliger/pmx/wiki/pmx_chain.md)
* [model](https://github.com/dseeliger/pmx/wiki/model.md)
* [atomselection](https://github.com/dseeliger/pmx/wiki/pmx_atomselection.md)
* [options](https://github.com/dseeliger/pmx/wiki/pmx_options.md)
* [library](https://github.com/dseeliger/pmx/wiki/pmx_library.md)
* [ndx](https://github.com/dseeliger/pmx/wiki/pmx_ndx.md)
* [geometry](https://github.com/dseeliger/pmx/wiki/pmx_geometry.md)
* [parser](https://github.com/dseeliger/pmx/wiki/pmx_parser.md)
* [xtc](https://github.com/dseeliger/pmx/wiki/pmx_xtc.md)
* [builder](https://github.com/dseeliger/pmx/wiki/pmx_builder.md)
* [forcefield](https://github.com/dseeliger/pmx/wiki/pmx_forcefield.md)
* [rotamer](https://github.com/dseeliger/pmx/wiki/pmx_rotamer.md)
* [ffparser](https://github.com/dseeliger/pmx/wiki/pmx_ffparser.md)


## pmx Classes (the most important ones) ##

* [Atom](https://github.com/dseeliger/pmx/wiki/pmx_atom.md)
* [Molecule](https://github.com/dseeliger/pmx/wiki/pmx_molecule.md)
* [Chain](https://github.com/dseeliger/pmx/wiki/pmx_chain.md)
* [Model](https://github.com/dseeliger/pmx/wiki/model.md)
* [Trajectory](https://github.com/dseeliger/pmx/wiki/pmx_trajectory.md)
* [Topology](https://github.com/dseeliger/pmx/wiki/pmx_topology.md)
* [IndexFile](https://github.com/dseeliger/pmx/wiki/pmx_indexfile.md)

## Using pmx ##

* [Editing structure files, selecting atoms, residues, chain, etc.](https://github.com/dseeliger/pmx/wiki/editstruct.md)
* [The pmx commandline parser, documenting programs and scripts](https://github.com/dseeliger/pmx/wiki/pmx_options.md)
* [Building peptides and DNA strands from scratch](https://github.com/dseeliger/pmx/wiki/builder.md)
* [Writing MD analysis tools, access xtc data from Python](https://github.com/dseeliger/pmx/wiki/trx.md)
* [Modifying Gromacs topologies](https://github.com/dseeliger/pmx/wiki/topol.md)
* [Generating Gromacs index files](https://github.com/dseeliger/pmx/wiki/pmx_indexfile.md)

Project details


Release history Release notifications | RSS feed

This version

2.0

Download files

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

Source Distribution

pmx-2.0.tar.gz (5.9 MB view details)

Uploaded Source

File details

Details for the file pmx-2.0.tar.gz.

File metadata

  • Download URL: pmx-2.0.tar.gz
  • Upload date:
  • Size: 5.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/2.7.15

File hashes

Hashes for pmx-2.0.tar.gz
Algorithm Hash digest
SHA256 323dd5091c62255f1f6cbfc6b4869ef9672a188ce7e3439ed1bb6e9cf2c3804c
MD5 2e1803f928256c9c87e36a9df4c18154
BLAKE2b-256 d3378742df62414c5fa0ed754ce64412ac0f3aa552ee7f8bc24ed9f54420bf80

See more details on using hashes here.

Supported by

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