openmaterials.ai / codes / PLUMED
PLUMED: collective variables and bias forces plugged into MD engines
A C++ library that computes collective variables from the positions an MD engine passes it and returns bias forces, so one implementation of each method serves every engine.
What it is and how it works
Bias forces by the chain rule
Each input line creates an Action: a collective variable, a function of variables, a bias or an output. PLUMED differentiates the bias through the variable derivatives and returns forces to the engine (Tribello 2014).
Actions and pilots
Pilot Actions such as METAD, UPPER_WALL and PRINT set the schedule. Only the Actions the active pilots need run at a step, so costly variables wait (Tribello 2014).
Collective variables
Distances, angles, torsions, coordination numbers, RMSD, path variables, secondary structure, radius of gyration, cell volume, energy, dipoles, MATHEVAL (Tribello 2014).
Free-energy methods
Umbrella sampling, steered MD with MOVINGRESTRAINT, well-tempered metadynamics with adaptive hills, parallel tempering, multiple walkers, bias exchange (Tribello 2014).
Engine interface
Engines call create, a generic data call, finalize (Tribello 2014). C, C++, Fortran, Python APIs. Native in AMBER, LAMMPS, DL_POLY, i-PI, OpenMM (PLUMED consortium 2019).
PLUMED-NEST
A public repository of input files and data to reproduce published enhanced-sampling runs, each parsed against current and development PLUMED (PLUMED consortium 2019).
What people do with it
- 10MD codes interfaced with PLUMED 1Tribello 2014
- 0.05 epsspread of the LJ7 free energy over 16 runsTribello 2014
- 6modules contributed by groups outside the corePLUMED consortium 2019
Folding of HIV-1 protease in a Go model
Parallel tempering in the well-tempered ensemble with GROMACS and PLUMED converges the folding free energy in under 2.5e7 steps. Plain PT has not converged after 2.4e8 (Bonomi 2010). Bonomi 2010
Ligand binding to trypsin and COX-2
Funnel metadynamics in NAMD with PLUMED: -8.5 +/- 0.7 kcal/mol for benzamidine-trypsin (measured -6.4 to -7.3) and -11.1 +/- 1.5 for SC-558/COX-2 (about -12) (Limongelli 2013). Limongelli 2013
Polymorphs of urea and naphthalene
Well-tempered metadynamics in GROMACS 5.1.4 with PLUMED 2 crystallizes 108 urea and 36 naphthalene molecules from the liquid, finds the known forms and predicts new ones (Piaggi 2018). Piaggi 2018
How it is used
Write the input
One Action per line: labelled variables, biases with ARG=, PRINT ... FILE=colvar STRIDE=.
Link the engine
Use the native interface or a patch. The engine calls PLUMED after each force evaluation.
Run the biased MD
PLUMED adds the bias forces and virial and writes COLVAR and the hills at the set stride.
Reconstruct F(s)
plumed sum_hills on the hills, or plumed driver with HISTOGRAM and reweighting on a run.
What PLUMED is
PLUMED is a library for enhanced sampling and analysis of molecular dynamics. It adds collective variables, metadynamics and related free-energy methods to engines such as LAMMPS, GROMACS and i-PI. On the map it serves the quantities it computes from a trajectory.
WebsiteOn the mapAll codesLicense: LGPL-3.0
In more detail
How a step works
The engine calls PLUMED at three points, at initialization, after each force evaluation and at the end (Tribello 2014). On each call it reads the input as a list of Actions whose dependencies fix the order of evaluation, computes the collective variables and their derivatives with respect to atom positions and cell vectors, evaluates the bias V(s, t), and accumulates the forces on the atoms by running the active Actions in reverse. PLUMED 2 computes the virial of the bias, so it runs at constant pressure as well as constant temperature (Tribello 2014). The same input runs on the fly or on a stored trajectory through the driver tool.
Collective variables and methods
The free energy follows from F(s) = -kB T log P(s) along the chosen variables, and a bias is a function of those variables, so new variables can be assembled in the input with COMBINE, MATHEVAL and the MultiColvar moments without writing C++ (Tribello 2014). Multi-replica schemes (parallel tempering metadynamics, multiple walkers, bias exchange) use MPI (Tribello 2014). Contributed modules add variationally enhanced sampling (VES), the extended-system adaptive biasing force (DRR), experiment-directed simulation (EDS), logMFD, the permutation-invariant vector (PIV), MAZE and PLUMED-ISDB for NMR, SAXS and cryo-EM restraints (PLUMED consortium 2019).
Engines and tools
PLUMED compiles as static object files or a dynamic library (Tribello 2014), and its LGPL license lets it be linked to proprietary codes (PLUMED consortium 2019). The 2019 list of engines is ACEMD, Amber, DL_POLY, GROMACS, LAMMPS, NAMD, OpenMM, ABIN, CP2K, i-PI, PINY-MD and Quantum ESPRESSO, and VMD, HTMD and OpenPathSampling use it for analysis (PLUMED consortium 2019). The plumed executable carries the command-line tools driver and sum_hills and the Lennard-Jones code simplemd (Tribello 2014).
Validation and reproducibility
A regression test suite re-analyzes stored trajectories and must reproduce precomputed results within computational accuracy (Tribello 2014). Documentation is generated from the source with Doxygen, one HTML page per Action with its keywords, so error messages and the manual share one description (Tribello 2014). PLUMED-NEST holds the input files and data behind published simulations, each parsed automatically against the current and the development version, and consortium members commit to deposit the inputs of their papers (PLUMED consortium 2019).
What it computes on the map
2 quantities, drawn by tier with the data flow between them. Dashed boxes are intermediate quantities. Select one for its formula and the other codes that compute it.
Embed this submap
<iframe src="https://openmaterials.ai/m/c56731602651/00000000010004?embed=1" title="PLUMED on the OpenMaterials map" width="100%" height="480" loading="lazy" style="border:1px solid #EBEBEB;border-radius:6px"></iframe>
Each quantity with the interface the representation records.
- PotentialOfMeanForcePLUMED sum_hills reconstructs F(s) from a metadynamics HILLS file (kJ/mol against the collective variable); or a reweighted / WHAM free-energy profile from umbrella samplingkJ_per_mol
- Trajectorythe host MD engine's trajectory (LAMMPS / GROMACS / i-PI), read by PLUMED through its patched interface; PLUMED biases the dynamics along the chosen collective variables rather than dumping its own positions
References
The code
The papers that describe the code; cite them when you use it.
- G. A. Tribello, M. Bonomi, D. Branduardi et al., PLUMED 2: New feathers for an old bird, Computer Physics Communications, 2014. doi.org/10.1016/j.cpc.2013.09.018
- The PLUMED consortium, Promoting transparency and reproducibility in enhanced molecular simulations, Nature Methods, 2019. doi.org/10.1038/s41592-019-0506-8
Applications
Highly cited studies that cite the code, with a few picked by hand.
- M. Bonomi, M. Parrinello, Enhanced Sampling in the Well-Tempered Ensemble, Physical Review Letters, 2010. doi.org/10.1103/PhysRevLett.104.190601
- P. Tiwary, M. Parrinello, From Metadynamics to Dynamics, Physical Review Letters, 2013. doi.org/10.1103/PhysRevLett.111.230602
- V. Limongelli, M. Bonomi, M. Parrinello, Funnel metadynamics as accurate binding free-energy method, Proceedings of the National Academy of Sciences, 2013. doi.org/10.1073/pnas.1303186110
- P. M. Piaggi, M. Parrinello, Predicting polymorphism in molecular crystals using orientational entropy, Proceedings of the National Academy of Sciences, 2018. doi.org/10.1073/pnas.1811056115
How to cite
G. A. Tribello, M. Bonomi, D. Branduardi, C. Camilloni, G. Bussi, PLUMED 2: New feathers for an old bird, Comput. Phys. Commun. 185, 604 (2014)