Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mdanalysis/pmda
Parallel algorithms for MDAnalysis
https://github.com/mdanalysis/pmda
analysis dask mdanalysis molecular-dynamics parallel
Last synced: 6 days 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 7 years ago)
- Default Branch: master
- Last Pushed: 2024-08-02T17:48:40.000Z (6 months ago)
- Last Synced: 2025-01-21T00:12:31.758Z (14 days ago)
- Topics: analysis, dask, mdanalysis, molecular-dynamics, parallel
- Language: Python
- Homepage: https://www.mdanalysis.org/pmda/
- Size: 6.71 MB
- Stars: 31
- Watchers: 14
- 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 rmsu = 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 [email protected]: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