https://github.com/mdanalysis/pmda
Parallel algorithms for MDAnalysis
https://github.com/mdanalysis/pmda
analysis dask mdanalysis molecular-dynamics parallel
Last synced: 11 months ago
JSON representation
Parallel algorithms for MDAnalysis
- Host: GitHub
- URL: https://github.com/mdanalysis/pmda
- Owner: MDAnalysis
- License: other
- Created: 2017-10-09T23:46:26.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2024-08-02T17:48:40.000Z (over 1 year ago)
- Last Synced: 2025-04-12T23:07:56.504Z (11 months ago)
- Topics: analysis, dask, mdanalysis, molecular-dynamics, parallel
- Language: Python
- Homepage: https://www.mdanalysis.org/pmda/
- Size: 6.71 MB
- Stars: 31
- Watchers: 13
- Forks: 23
- Open Issues: 37
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGELOG
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
- Authors: AUTHORS
Awesome Lists containing this project
README
==============================================
PMDA - Parallel Molecular Dynamics Analysis
==============================================
|build| |cov| |PRwelcome| |zenodo| |conda|
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:
.. code:: python
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_
.. code-block:: sh
pip install --upgrade pmda
Development version from source
-------------------------------
To install the latest development version from source, run
.. code-block:: sh
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`_
.. _MDAnalysis: https://www.mdanalysis.org
.. _dask: https://dask.pydata.org/en/latest/
.. _distributed: https://distributed.readthedocs.io/
.. _`Issue tracker`: https://github.com/MDAnalysis/pmda/issues
.. _`PMDA repository`: https://github.com/MDAnalysis/pmda/
.. _pip: https://pip.pypa.io/en/stable/
.. _`GNU General Public License, version 2`:
https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html
.. _`MDAnalysis developer mailing list`:
https://groups.google.com/group/mdnalysis-devel
.. _`10.25080/Majora-7ddc1dd1-013`:
https://doi.org/10.25080/Majora-7ddc1dd1-013
.. |build| image:: https://travis-ci.org/MDAnalysis/pmda.svg?branch=master
:alt: Build Status
:target: https://travis-ci.org/MDAnalysis/pmda
.. |cov| image:: https://codecov.io/gh/MDAnalysis/pmda/branch/master/graph/badge.svg
:alt: Coverage
:target: https://codecov.io/gh/MDAnalysis/pmda
.. |zenodo| image:: https://zenodo.org/badge/106346721.svg
:alt: DOI
:target: https://zenodo.org/badge/latestdoi/106346721
.. |conda| image:: https://anaconda.org/conda-forge/pmda/badges/version.svg
:alt: conda release
:target: https://anaconda.org/conda-forge/pmda
.. |PRwelcome| image:: https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square
:alt: PRs welcome
:target: http://makeapullrequest.com