Skip to content

Lun4m/HyMD

 
 

Repository files navigation

License: GPL v3 build docs codecov PyPI version


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

HyMD can run canonical hPF-MD simulations [1], or filtered density Hamiltonian hPF (HhPF-MD) simulations [2], with or without explicit PME electrostatic interactions [3]. 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 [4]. Martini style elastic networks (ElNeDyn) [5] are also supported.

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

User Guide

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

Run simulations by

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

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

Python dependencies

Install HyMD with pip by

python3 -m pip install --upgrade numpy mpi4py cython
python3 -m pip install hymd

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

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

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

chmod +x pytest-mpi
pytest-mpi -oo -n 2 -ns

References

[1] Milano, G.; Kawakatsu, T. Hybrid particle-field molecular dynamics simulations for dense polymer systems. J. Chem. Phys. 2009, 130, 214106.

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

[3] Kolli, H. B.; De Nicola, A.; Bore, S. L.; Schäfer, K.; Diezemann, G.; Gauss, J.; Kawakatsu, T.;Lu, Z.-Y.; Zhu, Y.-L.; Milano, G.; Cascella, M. Hybrid Particle-Field Molecular DynamicsSimulations of Charged Amphiphiles in an Aqueous Environment. J. Chem. Theory Comput. 2018, 14, 4928–4937.

[4] Bore, S. L.; Milano, G.; Cascella, M. Hybrid Particle-Field Model for Conformational Dynamics of Peptide Chains. J. Chem. Theory Comput. 2018, 14, 1120–1130.

[5] Periole, X.; Cavalli, M.; Marrink, S. J.; Ceruso, M. A. Combining an elastic network with a coarse-grained molecular force field: structure, dynamics, and intermolecular recognition. J. Chem. Theory Comput. 2009, 5.9, 2531-2543.

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

About

Massively parallel hybrid particle-field molecular dynamics in python.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 88.9%
  • Fortran 7.7%
  • TeX 1.9%
  • Other 1.5%