Skip to content

Modules

Modules that make up PLUMED Version 2.11

The functionality in PLUMED is split up between a collection of modules. Each of these modules contains a collection of actions, shortcuts and command line tools. Some of these modules must be present every time PLUMED is compiled, others are not essential but are still compiled by default unless you explicitly tell PLUMED not to compile by using:

./configure --disable-module=module-name

The remainder of the modules are not compiled unless you explicitly request PLUMED to include that module in your compilation by using the command:

./configure --enable-module=module-name

To enable or disable multiple modules one should provide them as a : separated list. Notice that +modulename and modulename both activate the module, whereas -modulename deactivates it. E.g.

./configure --enable-modules=+adjmat:-colvar

will disable the colvar module and enable the adjmat module. The : can, in fact, be ommitted when you use + and -. In other words, the following command can be used in place of the previous one:

./configure --enable-modules=+adjmat-colvar

If you repeat the --enable-modules keyword only the last instance will be used. Thus ./configure --enable-modules=adjmat --enable-modules=-colvar will not do what you expect!

old implementation

Until PLUMED 2.2, it was also possible to switch on or off modules by adding files in the plumed2/src directory. Since PLUMED 2.3 this is discouraged, since any choice made in this manner will be overwritten next time ./configure is used.

There are also some shortcuts available:

  • ./configure --enable-modules=all can be used to enable all optional modules. This includes the maximum number of features in PLUMED, including modules that might not be properly functional.
  • ./configure --enable-modules=none or ./configure --disable-modules can be used to disable all optional modules. This produces a minimal PLUMED which can be used as a library but which has no command line tools and no collective variables or biasing methods.
  • ./configure --enable-modules=reset or ./configure --enable-modules can be used to enable the default modules.

The two kinds of syntax can be combined and, for example, ./configure --enable-modules=none:colvar will cause a version of PLUMED with all the modules disabled with the exception of the colvar module to be compiled.

The table below lists all the available modules and tells you whether they are always compiled, on by default or off by default. An alternative, graphical view of this information is available here.

Name Description Authors Type
bias bias potentials that can be used to force rare events to occur in MD simulations The PLUMED core developers default-on
generic generic features of PLUMED many of which are for printing data to files The PLUMED core developers default-on
mapping actions for definining linear and curvilinear paths and manifolds in a higher dimensional space Gareth Tribello default-off
multicolvar tools for working with vectors of collective variables Gareth Tribello default-on
secondarystructure variables for detecting the degree of secondary structure in a protein Gareth Tribello default-on
colvar various core collective variables that can be used to analyse or bias simulations The PLUMED core developers default-on
annfunc an implementation of a fully-connected feedforward neural network Wei Chan and Andrew Ferguson default-off
vatom actions for calculating the positions of virtual atoms The PLUMED core developers default-on
volumes tools for calculating whether atoms are within a certain part of the simulation cell or not Gareth Tribello default-off
dimred tools for performing dimensionality reduction Gareth Tribello default-off
symfunc tools for calculating symmetry functions that measure the degree of order in the coordination sphere around atoms Gareth Tribello default-off
isdb tools for doing integrative structural and dynamical biology Max Bonomi and Carlo Camilloni default-on
function actions that take arguments as input and that return values The PLUMED core developers default-on
ves implementations of methods based on Variationally Enhanced Sampling (VES) Omar Valsson, Michele Invernizzi, Pablo Piaggi and Benjamin Pampel default-off
crystdistrib order parameters for studying the formation of molecular crystals Jake McKibbin, Gareth Tribello and Erik Santiso default-off
adjmat methods for calculating adjacency matrices Gareth Tribello default-off
clusters tools for using depth first search clustering to find the largest connected component in an adjacency matrix Gareth Tribello, Federico Giberti, Matteo Salvalaglio and Gabriele Sosso default-off
landmarks various tools for selecting a subset of points from an input vector/matrix Gareth Tribello default-off
valtools tools for manipulating the values that are passed between actions Gareth Tribello always
gridtools tools for manipulating functions that are stored on grids Gareth Tribello default-on
matrixtools tools for constructing and manipulating matrices Gareth Tribello default-on
refdist tools for calculating the distance between trajectory frames Gareth Tribello default-on
contour actions that take functions as grid as input and that find isocontours in these functions Gareth Tribello default-off
core PLUMED's core functionalities for interfacing with MD codes and building actions The PLUMED core developers always
drr an implementation of the extended-system adaptive biasing force (eABF) method Haochuan Chen and Haohao Fu default-off
opes On-the-fly Probability Enhanced Sampling (OPES) Michele Invernizzi default-off
eds Methods for incorporating additional information about CVs into MD simulations by adaptively determined linear bias parameters Glen Hocky and Andrew White default-off
envsim the environmental similarity symmetry function that can be used for probing crystallinity in atomistic systems Pablo Piaggi and Gareth Tribello default-off
liquid_crystal nematic and ferronematic order parameters for distinguishing isotropic, nematic and ferronematic phases of liquid crystals Alexander Humeniuk default-on
fisst An implementation of infinite switch simulated tempering in force (FISST) Glen Hocky default-off
fourier tools for performing a 2D fast fourier transform of a function on a grid Edoardo Baldi and Gareth Tribello default-off
funnel a collective variable and a bias action necessary to perform Funnel-Metadynamics on Molecular Dynamics simulations Stefano Raniolo and Vittorio Limongelli default-off
membranefusion a set of collective variables that induces different steps in the MF process Ary Lautaro Di Bartolo and Diego Masone default-off
pamm implementations of the pamm methodology one application of which can be to determine if atoms are hydrogen bonded or not Gareth Tribello default-off
setup actions that are used in setup to set units, specify that we are restarting a simulation or to load additional functionality The PLUMED core developers default-on
logmfd Method for enhanced sampling and for free energy calculations along collective variables Tetsuya Morishita, Naoki Watanabe default-off
maze enhanced sampling methods for studying ligand unbinding from protein tunnels Jakub Rydzewski default-off
metatomic Using arbitrary machine learning models as collective variables Guillaume Fraux default-off
piv an implementation of the permutation invariant collective variable S. Pipolo and F. Pietrucci default-off
pytorch an interface between PLUMED and the PyTorch machine learning library Luigi Bonati default-off
s2cm S2 contact model collective variable (S2CM) Omar Valsson default-off
sasa Solvent Accessible Surface Area collective variable (SASA) Andrea Arsiccio default-off
sizeshape Linear projection in size and shape space Subarna Sasmal and Glen M Hocky default-off
sprint an implementation of the SPRINT CV Gareth Tribello default-off
wham an implementation of the binless wham technique Gareth Tribello default-off
cltools PLUMED's suite of command line tools The PLUMED core developers default-on