Section: New Software and Platforms
gen.parRep
Keywords: Molecular simulation - MPI - HPC - C++
Scientific Description: Metastability is one of the major encountered obstacle when performing long molecular dynamics simulations, and many methods were developed to address this challenge. The "Parallel Replica" (ParRep) dynamics is known for allowing to simulate very long trajectories of metastable Langevin dynamics in the materials science community, but it relies on assumptions that can hardly be transposed to the world of biochemical simulations. The later developed "Generalized ParRep" variant solves those issues, but it was not applied to significant systems of interest so far.
In a recent article article, we presented the program gen.parRep, the first publicly available implementation of the Generalized Parallel Replica method (BSD 3-Clause license), targeting frequently encountered metastable biochemical systems, such as conformational equilibria or dissociation of protein-ligand complexes. It was shown that the resulting C++ implementation exhibits a strong linear scalability, providing up to 70 % of the maximum possible speedup on several hundreds of CPUs.
Functional Description: gen.parRep is the first publicly available implementation of the Generalized Parallel Replica method (BSD 3-Clause license), targeting frequently encountered metastable biochemical systems, such as conformational equilibria or dissociation of protein-ligand complexes.
It was shown (https://hal.archives-ouvertes.fr/hal-01832823) that the resulting C++/MPI implementation exhibits a strong linear scalability, providing up to 70 % of the maximum possible speedup on several hundreds of CPUs.
Release Functional Description: The software was modified in order to allow reproducibility in some cases (the limiting factor is OpenMM which does not always provides deterministic output even when using the same seeds (!), see http://docs.openmm.org/latest/userguide/library.html#determinism ).
The main executable now has 2 more command line options, '–inp-seeds [fname]' or '–out-seeds [fname]' for respectively loading seeds or writing seeds from/to a unique binary file. See rand.hpp/rand.cpp, od the Doxygen doc for more details.
These modifications now allow Continuous Integration (CI) on the infrastructure provided by Inria : in mol/ci a small test case will be executed at each commit to the repository and compared to reference results.
The two other minor modifications concern the Lua scripts:
"get_minimised_energy_crdvels" was added to the set of functions that the user can call from the Lua script : it simply combines in one call what "get_minimised_energy" and "get_minimised_crdvels" already provided.
a extra optional parameter is available for the "simulation" parameters block when "simulation.algorithm" is "PARREP_FV" , this parameter is "simulation.minAccumulatedObs" : it will enforce that at least minAccumulatedObs observations of an observable have already been accumulated before the convergence test is performed , this may be useful if there is a risk of early pseudo-convergence for some of the observables when only a few samples have been accumulated.
Download sources:
https://gitlab.inria.fr/parallel-replica/gen.parRep/tags/v1.2.0
or
https://github.com/FHedin/gen.parRep/releases/tag/v1.2.0
News Of The Year: Corresponding publication : https://hal.archives-ouvertes.fr/hal-01832823