WHOLEMOLECULES
This is part of the generic module

This action is used to rebuild molecules that can become split by the periodic boundary conditions.

It is similar to the ALIGN_ATOMS keyword of plumed1, and is needed since some MD dynamics code (e.g. GROMACS) can break molecules during the calculation.

Running some CVs without this command can cause there to be discontinuities changes in the CV value and artifacts in the calculations. This command can be applied more than once. To see what effect is has use a variable without pbc or use the DUMPATOMS directive to output the atomic positions.

Attention
This directive modifies the stored position at the precise moment it is executed. This means that only collective variables which are below it in the input script will see the corrected positions. As a general rule, put it at the top of the input file. Also, unless you know exactly what you are doing, leave the default stride (1), so that this action is performed at every MD step.

The way WHOLEMOLECULES modifies each of the listed entities is this:

  • First atom of the list is left in place
  • Each atom of the list is shifted by a lattice vectors so that it becomes as close as possible to the previous one, iteratively.

In this way, if an entity consists of a list of atoms such that consecutive atoms in the list are always closer than half a box side the entity will become whole. This can be usually achieved selecting consecutive atoms (1-100), but it is also possible to skip some atoms, provided consecutive chosen atoms are close enough.

Examples

This command instructs plumed to reconstruct the molecule containing atoms 1-20 at every step of the calculation and dump them on a file.

Click on the labels of the actions for more information on what each action computes
tested on master
# to see the effect, one could dump the atoms as they were before molecule reconstruction:
# DUMPATOMS FILE=dump-broken.xyz ATOMS=1-20
WHOLEMOLECULES 
ENTITY0
the atoms that make up a molecule that you wish to align.
=1-20 DUMPATOMS
FILE
compulsory keyword file on which to output coordinates; extension is automatically detected
=dump.xyz
ATOMS
the atom indices whose positions you would like to print out.
=1-20

This command instructs plumed to reconstruct two molecules containing atoms 1-20 and 30-40

Click on the labels of the actions for more information on what each action computes
tested on master
WHOLEMOLECULES 
ENTITY0
the atoms that make up a molecule that you wish to align.
=1-20
ENTITY1
the atoms that make up a molecule that you wish to align.
=30-40 DUMPATOMS
FILE
compulsory keyword file on which to output coordinates; extension is automatically detected
=dump.xyz
ATOMS
the atom indices whose positions you would like to print out.
=1-20,30-40

This command instructs plumed to reconstruct the chain of backbone atoms in a protein

Click on the labels of the actions for more information on what each action computes
tested on master
#SETTINGS MOLFILE=regtest/basic/rt32/helix.pdb
MOLINFO 
STRUCTURE
compulsory keyword a file in pdb format containing a reference structure.
=helix.pdb WHOLEMOLECULES
RESIDUES
this command specifies that the backbone atoms in a set of residues all must be aligned.
=all
MOLTYPE
the type of molecule that is under study.
=protein
Glossary of keywords and components
The atoms involved can be specified using
ENTITY the atoms that make up a molecule that you wish to align. To specify multiple molecules use a list of ENTITY keywords: ENTITY0, ENTITY1,... You can use multiple instances of this keyword i.e. ENTITY1, ENTITY2, ENTITY3...
Or alternatively by using
RESIDUES this command specifies that the backbone atoms in a set of residues all must be aligned. It must be used in tandem with the MOLINFO action and the MOLTYPE keyword. If you wish to use all the residues from all the chains in your system you can do so by specifying all. Alternatively, if you wish to use a subset of the residues you can specify the particular residues you are interested in as a list of numbers
Compulsory keywords
STRIDE ( default=1 ) the frequency with which molecules are reassembled. Unless you are completely certain about what you are doing leave this set equal to 1!
Options
EMST ( default=off ) Define atoms sequence in entities using an Euclidean minimum spanning tree
ADDREFERENCE

( default=off ) Define the reference position of the first atom of each entity using a PDB file

MOLTYPE the type of molecule that is under study. This is used to define the backbone atoms