HylleraasMD

HylleraasMD: Massively parallel hybrid particle-field molecular dynamics in Python - Published in JOSS (2023)

https://github.com/cascella-group-uio/hymd

Science Score: 100.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 6 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org
  • Committers with academic emails
    5 of 16 committers (31.3%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

chemistry coarse-grained hybrid-particle-field molecular-dynamics physics

Scientific Fields

Sociology Social Sciences - 87% confidence
Mathematics Computer Science - 84% confidence
Last synced: 4 months ago · JSON representation ·

Repository

Massively parallel hybrid particle-field molecular dynamics in Python.

Basic Info
Statistics
  • Stars: 29
  • Watchers: 3
  • Forks: 9
  • Open Issues: 27
  • Releases: 16
Topics
chemistry coarse-grained hybrid-particle-field molecular-dynamics physics
Created almost 5 years ago · Last pushed over 1 year ago
Metadata Files
Readme Contributing License Citation

README.md

License: GPL v3 build docs codecov PyPI version status


HylleraasMD (HyMD) is a massively parallel Python package for Hamiltonian hybrid particle-field molecular dynamics (HhPF-MD) simulations of coarse-grained bio- and soft-matter systems.

HyMD can run canonical hPF-MD simulations, or filtered density Hamiltonian hPF (HhPF-MD) simulations [1],[2],[3] with or without explicit PME electrostatic interactions. It includes all standard intramolecular interactions, including stretching, bending, torsional, and combined bending-dihedral potentials. Additionally, topological reconstruction of permanent peptide chain backbone dipoles is possible for accurate recreation of protein conformational dynamics. It can run simulations in constant energy (NVE), constant volume (NVT) [1] or constant pressure (NPT) conditions [4].

HyMD uses the pmesh library for particle-mesh operations, with the PPFT [5] backend for FFTs through the pfft-python bindings. File IO is done via HDF5 formats to allow MPI parallel reads.

If you use HyMD, please cite our paper(s).

User Guide

Detailed installation and user guide, together with comprehensive example simulations are located in the HylleraasMD documentation.

Run simulations by bash python3 -m hymd [CONFIGURATION_FILE] [TOPOLOGY_FILE] (--OPTIONAL_ARGS)

Run interactively in Google Colaboratory

A Google Colaboratory jupyter notebook is setup here with a working HyMD fully installed and executable in the browser.

Installation

Non-Python dependencies

HyMD installation requires a working MPI compiler. It is highly recommended to have MPI-enabled HDF5 and h5py for running parallel simulations with HyMD. Install both on Ubuntu with bash sudo apt-get update -y sudo apt-get install -y pkg-config libhdf5-mpi-dev libopenmpi-dev python3 -m pip uninstall h5py # Remove any serial h5py installation present CC="mpicc" HDF5_MPI="ON" python3 -m pip install --no-binary=h5py h5py

Note There might be memory leaks if you use OpenMPI <= 4.1.1. See #186 for more details.

Python dependencies

Install HyMD with pip by bash python3 -m pip install --upgrade numpy mpi4py cython python3 -m pip install "pmesh @ git+https://github.com/rainwoodman/pmesh" python3 -m pip install hymd pmesh is installed from the GitHub repository because fixes to be compatible with modern NumPy versions were not pushed to PyPI. See HyMD docs for more information, including install steps for macOS and non-Debian linux distributions.

Run in docker

Alternatively, an up-to-date docker image is available from docker hub bash docker pull mortele/hymd docker run -it mortele/hymd /app$ python3 -m pip install hymd /app$ /app$ # Grab example input files /app$ curl -O https://raw.githubusercontent.com/Cascella-Group-UiO/HyMD-tutorial/main/ideal_chain/ideal_chain.toml /app$ curl -O https://raw.githubusercontent.com/Cascella-Group-UiO/HyMD-tutorial/main/ideal_chain/ideal_chain.HDF5 /app$ /app$ # Run simulation /app$ python3 -m hymd ideal_chain.toml ideal_chain.HDF5 --verbose

Run tests

Clone the repository and run tests with pytest bash git clone https://github.com/Cascella-Group-UiO/HyMD.git hymd cd hymd python3 -m pip install pytest pytest-mpi pytest

Running MPI enabled pytest tests is simplified with a convenient script bash chmod +x pytest-mpi pytest-mpi -oo -n 2 -ns

Contributions and issues

We welcome contributions to our code and provide a set of guidelines to follow in CONTRIBUTING.md.
To seek support in case of any issues and bugs, we welcome you to post them using the issue tracker.

Please cite our work

You will find information about our publications and archived data since 2023 at the open repository: Publications.
If you use HyMD, please cite:
```bibtex @article{ LedumHylleraasMDMassivelyparallel2023, author = {Ledum, Morten and Carrer, Manuel and Sen, Samiran and Li, Xinmeng and Cascella, Michele and Bore, Sigbjørn Løland}, doi = {10.21105/joss.04149}, journal = {Journal of Open Source Software}, month = {apr}, number = {84}, pages = {4149}, title = {{HylleraasMD: Massively parallel hybrid particle-field molecular dynamics in Python}}, url = {https://joss.theoj.org/papers/10.21105/joss.04149}, volume = {8}, year = {2023} }

@article{ SenHylleraasMD2023, author = {Sen, Samiran and Ledum, Morten and Bore, Sigbjørn Løland and Cascella, Michele}, title = {Soft Matter under Pressure: Pushing Particle–Field Molecular Dynamics to the Isobaric Ensemble}, doi = {10.1021/acs.jcim.3c00186}, journal = {Journal of Chemical Information and Modeling}, month= mar, year = {2023}, volume = {63}, number = {7}, pages = {2207-2217}, URL = {https://doi.org/10.1021/acs.jcim.3c00186}, }

```


References

[1] Ledum, M.; Sen, S.; Li, X.; Carrer, M.; Feng Y.; Cascella, M.; Bore, S. L. HylleraasMD: A Domain Decomposition-Based Hybrid Particle-Field Software for Multi-Scale Simulations of Soft Matter. ChemRxiv 2021

[2] Ledum, M.; Carrer, M.; Sen, S.; Li, X.; Cascella, M.; Bore, S. L. HyMD: Massively parallel hybrid particle-field molecular dynamics in Python. Journal of Open Source Software (JOSS) 2023, 8(84), 2475-9066, 4149.

[3] Bore, S. L.; Cascella, M. Hamiltonian and alias-free hybrid particle–field molecular dynamics. J. Chem. Phys. 2020, 153, 094106.

[4] Sen, S.; Ledum, M.; Bore, S. L.; Cascella, M. Soft Matter under Pressure: Pushing Particle–Field Molecular Dynamics to the Isobaric Ensemble. J Chem Inf Model 2023, 63(7), 1549-9596.

[5] Pippig, M. PFFT: An extension of FFTW to massively parallel architectures. SIAM J. Sci. Comput. 2013, 35, C213–C236.

Owner

  • Name: Cascella-Group-UiO
  • Login: Cascella-Group-UiO
  • Kind: organization

JOSS Publication

HylleraasMD: Massively parallel hybrid particle-field molecular dynamics in Python
Published
April 22, 2023
Volume 8, Issue 84, Page 4149
Authors
Morten Ledum ORCID
Department of Chemistry, and Hylleraas Centre for Quantum Molecular Sciences, University of Oslo, PO Box 1033 Blindern, 0315 Oslo, Norway
Manuel Carrer ORCID
Department of Chemistry, and Hylleraas Centre for Quantum Molecular Sciences, University of Oslo, PO Box 1033 Blindern, 0315 Oslo, Norway
Samiran Sen ORCID
Department of Chemistry, and Hylleraas Centre for Quantum Molecular Sciences, University of Oslo, PO Box 1033 Blindern, 0315 Oslo, Norway
Xinmeng Li ORCID
Department of Chemistry, and Hylleraas Centre for Quantum Molecular Sciences, University of Oslo, PO Box 1033 Blindern, 0315 Oslo, Norway
Michele Cascella ORCID
Department of Chemistry, and Hylleraas Centre for Quantum Molecular Sciences, University of Oslo, PO Box 1033 Blindern, 0315 Oslo, Norway
Sigbjørn Løland Bore ORCID
Department of Chemistry and Biochemistry, University of California San Diego, La Jolla, California 92093, United States of America
Editor
Rachel Kurchin ORCID
Tags
chemistry physics molecular dynamics coarse-grained hybrid particle-field

Citation (CITATION.cff)

cff-version: "1.2.0"
authors:
- family-names: Ledum
  given-names: Morten
  orcid: "https://orcid.org/0000-0003-4244-4876"
- family-names: Carrer
  given-names: Manuel
  orcid: "https://orcid.org/0000-0002-8777-4310"
- family-names: Sen
  given-names: Samiran
  orcid: "https://orcid.org/0000-0002-1922-7796"
- family-names: Li
  given-names: Xinmeng
  orcid: "https://orcid.org/0000-0002-6863-6078"
- family-names: Cascella
  given-names: Michele
  orcid: "https://orcid.org/0000-0003-2266-5399"
- family-names: Bore
  given-names: Sigbjørn Løland
  orcid: "https://orcid.org/0000-0002-8620-4885"
contact:
- family-names: Ledum
  given-names: Morten
  orcid: "https://orcid.org/0000-0003-4244-4876"
doi: 10.5281/zenodo.7839898
message: If you use this software, please cite our article in the
  Journal of Open Source Software.
preferred-citation:
  authors:
  - family-names: Ledum
    given-names: Morten
    orcid: "https://orcid.org/0000-0003-4244-4876"
  - family-names: Carrer
    given-names: Manuel
    orcid: "https://orcid.org/0000-0002-8777-4310"
  - family-names: Sen
    given-names: Samiran
    orcid: "https://orcid.org/0000-0002-1922-7796"
  - family-names: Li
    given-names: Xinmeng
    orcid: "https://orcid.org/0000-0002-6863-6078"
  - family-names: Cascella
    given-names: Michele
    orcid: "https://orcid.org/0000-0003-2266-5399"
  - family-names: Bore
    given-names: Sigbjørn Løland
    orcid: "https://orcid.org/0000-0002-8620-4885"
  date-published: 2023-04-22
  doi: 10.21105/joss.04149
  issn: 2475-9066
  issue: 84
  journal: Journal of Open Source Software
  publisher:
    name: Open Journals
  start: 4149
  title: "HylleraasMD: Massively parallel hybrid particle-field
    molecular dynamics in Python"
  type: article
  url: "https://joss.theoj.org/papers/10.21105/joss.04149"
  volume: 8
title: "HylleraasMD: Massively parallel hybrid particle-field molecular
  dynamics in Python"

GitHub Events

Total
  • Watch event: 2
  • Fork event: 1
Last Year
  • Watch event: 2
  • Fork event: 1

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 950
  • Total Committers: 16
  • Avg Commits per committer: 59.375
  • Development Distribution Score (DDS): 0.697
Past Year
  • Commits: 2
  • Committers: 1
  • Avg Commits per committer: 2.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Morten Ledum m****m@g****m 288
Henrique Musseli Cezar h****i@g****m 216
Manuel Carrer m****a@k****o 156
Samiran Sen s****n@k****o 140
Lasse Steinnes l****3@g****m 37
Sigbjørn Bore s****o@s****o 29
xinmeng2020 x****0@g****m 28
Sigbjørn Bore s****o@l****o 16
sigbjorn.loland.bore@gmail.com s****e@g****m 10
Samiran Sen s****3@e****o 7
Yu Feng r****n@g****m 5
Samiran Sen s****3@e****o 5
Samiran Sen s****3@l****o 5
Samiran Sen s****3@l****o 4
Samiran Sen s****3@S****l 3
Morten Ledum m****m@e****o 1

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 56
  • Total pull requests: 52
  • Average time to close issues: 5 months
  • Average time to close pull requests: about 1 month
  • Total issue authors: 10
  • Total pull request authors: 4
  • Average comments per issue: 1.91
  • Average comments per pull request: 0.9
  • Merged pull requests: 46
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: 19 minutes
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • mortele (18)
  • hmcezar (12)
  • Lun4m (9)
  • samiransen23 (5)
  • yhtang (3)
  • blakeaw (3)
  • xinmeng2020 (2)
  • sigbjobo (1)
  • lasse-steinnes (1)
  • kiranvad (1)
Pull Request Authors
  • hmcezar (28)
  • Lun4m (10)
  • mortele (8)
  • samiransen23 (7)
Top Labels
Issue Labels
bug (15) cleanup (12) enhancement (12) documentation (11) refactor (10) optimization (4) testing (3) JOSS-review (3) Logging (2) good first issue (1) invalid (1)
Pull Request Labels
documentation (2) cleanup (2) JOSS-review (1) bug (1) enhancement (1)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 28 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 15
  • Total maintainers: 1
pypi.org: hymd

Massively parallel hybrid particle-field MD

  • Versions: 15
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 28 Last month
Rankings
Dependent packages count: 10.1%
Forks count: 12.6%
Stargazers count: 13.2%
Average: 17.5%
Dependent repos count: 21.5%
Downloads: 29.9%
Maintainers (1)
Last synced: 4 months ago

Dependencies

docs/docs_requirements.txt pypi
  • matplotlib *
  • numpy *
  • numpydoc *
  • sphinx *
  • sphinx-panels *
  • sphinx-rtd-theme *
  • sphinx-tabs *
  • sphinxcontrib.bibtex *
requirements.txt pypi
  • cython *
  • h5py *
  • mpi4py *
  • mpsort *
  • networkx *
  • numpy *
  • pfft-python *
  • pmesh *
  • sympy *
  • tomli *
setup.py pypi
  • cython *
  • h5py *
  • mpi4py *
  • mpsort *
  • networkx *
  • numpy *
  • pfft-python *
  • pmesh *
  • sympy *
  • tomli *
.github/workflows/ci.yml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • codecov/codecov-action v2 composite
.github/workflows/docs_pages.yml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.github/workflows/draft-pdf.yml actions
  • actions/checkout v2 composite
  • actions/upload-artifact v1 composite
  • openjournals/openjournals-draft-action master composite
.github/workflows/release.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.docker/hymd/Dockerfile docker
  • ubuntu latest build
pyproject.toml pypi