This is part of the mapping module

Compute path collective variables that adapt to the lowest free energy path connecting states A and B.

The Path Collective Variables developed by Branduardi and co-workers [21] allow one to compute the progress along a high-dimensional path and the distance from the high-dimensional path. The progress along the path (s) is computed using:

\[ s = i_2 + \textrm{sign}(i_2-i_1) \frac{ \sqrt{( \mathbf{v}_1\cdot\mathbf{v}_2 )^2 - |\mathbf{v}_3|^2(|\mathbf{v}_1|^2 - |\mathbf{v}_2|^2) } }{2|\mathbf{v}_3|^2} - \frac{\mathbf{v}_1\cdot\mathbf{v}_3 - |\mathbf{v}_3|^2}{2|\mathbf{v}_3|^2} \]

In this expression \(\mathbf{v}_1\) and \(\mathbf{v}_3\) are the vectors connecting the current position to the closest and second closest node of the path, respectfully and \(i_1\) and \(i_2\) are the projections of the closest and second closest frames of the path. \(\mathbf{v}_2\), meanwhile, is the vector connecting the closest frame to the second closest frame. The distance from the path, \(z\) is calculated using:

\[ z = \sqrt{ \left[ |\mathbf{v}_1|^2 - |\mathbf{v}_2| \left( \frac{ \sqrt{( \mathbf{v}_1\cdot\mathbf{v}_2 )^2 - |\mathbf{v}_3|^2(|\mathbf{v}_1|^2 - |\mathbf{v}_2|^2) } }{2|\mathbf{v}_3|^2} - \frac{\mathbf{v}_1\cdot\mathbf{v}_3 - |\mathbf{v}_3|^2}{2|\mathbf{v}_3|^2} \right) \right]^2 } \]

Notice that these are the definitions of \(s\) and \(z\) that are used by PATH when the GPATH option is employed. The reason for this is that the adaptive path method implemented in this action was inspired by the work of Diaz and Ensing in which these formula were used [62]. To learn more about how the path is adapted we strongly recommend reading this paper.

Compulsory keywords
REFERENCE a pdb file containing the set of reference configurations
TYPE ( default=OPTIMAL-FAST ) the manner in which distances are calculated. More information on the different metrics that are available in PLUMED can be found in the section of the manual on Distances from reference configurations
FIXED the positions in the list of input frames of the two path nodes whose positions remain fixed during the path optimization
HALFLIFE ( default=-1 ) the number of MD steps after which a previously measured path distance weighs only 50% in the average. This option may increase convergence by allowing to "forget" the memory of a bad initial guess path. The default is to set this to infinity
UPDATE the frequency with which the path should be updated
TOLERANCE ( default=1E-6 ) the tolerance to use for the path updating algorithm that makes all frames equidistant
FMT ( default=f ) the format to use for output files
NUMERICAL_DERIVATIVES ( default=off ) calculate the derivatives for these quantities numerically
SERIAL ( default=off ) do the calculation in serial. Do not use MPI
LOWMEM ( default=off ) lower the memory requirements
TIMINGS ( default=off ) output information on the timings of the various parts of the calculation

( default=off ) disable checks on reference input structures.

WFILE file on which to write out the path
WSTRIDE frequency with which to write out the path

The input below provides an example that shows how the adaptive path works. The path is updated every 50 steps of MD based on the data accumulated during the preceding 50 time steps.

PRINT ARG=d1.x,d1.y,pp.* FILE=colvar

In the case above the distance between frames is calculated based on the \(x\) and \(y\) components of the vector connecting atoms 1 and 2. As such an extract from the input reference path (mypath.pdb) would look as follows:

REMARK ARG=d1.x,d1.y d1.x=1.12 d1.y=-.60
REMARK ARG=d1.x,d1.y d1.x=.99 d1.y=-.45
REMARK ARG=d1.x,d1.y d1.x=.86 d1.y=-.30
REMARK ARG=d1.x,d1.y d1.x=.73 d1.y=-.15
REMARK ARG=d1.x,d1.y d1.x=.60 d1.y=0
REMARK ARG=d1.x,d1.y d1.x=.47 d1.y=.15

Notice that one can also use RMSD frames in place of arguments like those above.