Skip to main content

Parallel Molecular Dynamics Analysis tools

Project description

Build Status Coverage PRs welcome DOI conda release

Ready to use analysis and buildings blocks to write parallel analysis algorithms using MDAnalysis with dask.

Warning

This project is alpha software and not API stable. It will and should rapidly evolve to test different approaches to implementing parallel analysis in a seamless and intuitive fashion.

For example, run a rmsd analysis on all available cores:

import MDAnalysis as mda
from pmda import rms

u = mda.Universe(top, traj)
ref = mda.Universe(top, traj)

rmsd_ana = rms.RMSD(u.atoms, ref.atoms).run(n_jobs=-1)

print(rmsd_ana.rmsd)

By default PMDA use the multiprocessing scheduler of dask. This is sufficient if you want to run your simulation on a single machine. If your analysis takes a very long time (>30 min) you can also spread it to several nodes using the distributed scheduler. To do this you can pass a scheduler keyword argument to the run method.

To write your own parallel algorithms you can subclass the pmda.parallel.ParallelAnalysisBase class.

License and source code

PMDA is released under the GNU General Public License, version 2 (see the files AUTHORS and LICENSE for details).

Source code is available in the public GitHub repository https://github.com/MDAnalysis/pmda/.

Installation

Install a release with pip

The latest release is available from https://pypi.org/project/pmda/ and can be installed with pip

pip install --upgrade pmda

Development version from source

To install the latest development version from source, run

git clone git@github.com:MDAnalysis/pmda.git
cd pmda
python setup.py install

Getting help

Help is also available through the MDAnalysis mailing list

https://groups.google.com/group/mdnalysis-discussion

Please report bugs and feature requests for PMDA through the Issue Tracker.

Contributing

PMDA welcomes new contributions. Please drop by the MDAnalysis developer mailing list to discuss and ask questions.

To contribute code, submit a pull request against the master branch in the PMDA repository.

Citation

If you use PMDA in published work please cite [Fan2019].

[Fan2019]Shujie Fan, Max Linke, Ioannis Paraskevakos, Richard J. Gowers, Michael Gecht, and Oliver Beckstein. PMDA — Parallel Molecular Dynamics Analysis. In Chris Calloway, David Lippa, Dillon Niederhut, and David Shupe, editors, Proceedings of the 18th Python in Science Conference, pages 134-142, Austin, TX, 2019. doi: 10.25080/Majora-7ddc1dd1-013

Download files

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

Files for pmda, version 0.3.0
Filename, size File type Python version Upload date Hashes
Filename, size pmda-0.3.0-py2.py3-none-any.whl (47.7 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size pmda-0.3.0.tar.gz (48.2 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page