This is part of the function module |
This function calculates path collective variables.
This is the Path Collective Variables implementation ( see [21] ). This variable computes the progress along a given set of frames that is provided in input ("s" component) and the distance from them ("z" component). It is a function of mean squared displacement that are obtained by the joint use of mean squared displacement variables with the SQUARED flag (see below).
By default this Action calculates the following quantities. These quantities can be referenced elsewhere in the input by using this Action's label followed by a dot and the name of the quantity required from the list below.
Quantity | Description |
s | the position on the path |
z | the distance from the path |
LAMBDA | the lambda parameter is needed for smoothing, is in the units of plumed |
NUMERICAL_DERIVATIVES | ( default=off ) calculate the derivatives for these quantities numerically |
ARG | the input for this action is the scalar output from one or more other actions. The particular scalars that you will use are referenced using the label of the action. If the label appears on its own then it is assumed that the Action calculates a single scalar value. The value of this scalar is thus used as the input to this new action. If * or *.* appears the scalars calculated by all the proceeding actions in the input file are taken. Some actions have multi-component outputs and each component of the output has a specific label. For example a DISTANCE action labelled dist may have three components x, y and z. To take just the x component you should use dist.x, if you wish to take all three components then use dist.*.More information on the referencing of Actions can be found in the section of the manual on the PLUMED Getting Started. Scalar values can also be referenced using POSIX regular expressions as detailed in the section on Regular Expressions. To use this feature you you must compile PLUMED with the appropriate flag. You can use multiple instances of this keyword i.e. ARG1, ARG2, ARG3... |
NEIGH_SIZE | size of the neighbor list |
NEIGH_STRIDE | how often the neighbor list needs to be calculated in time units |
Here below is a case where you have defined three frames and you want to calculate the progress along the path and the distance from it in p1
t1: RMSD REFERENCE=frame_1.pdb TYPE=OPTIMAL SQUARED t2: RMSD REFERENCE=frame_21.pdb TYPE=OPTIMAL SQUARED t3: RMSD REFERENCE=frame_42.pdb TYPE=OPTIMAL SQUARED p1: FUNCPATHMSD ARG=t1,t2,t3 LAMBDA=500.0 PRINT ARG=t1,t2,t3,p1.s,p1.z STRIDE=1 FILE=colvar FMT=%8.4f
For this input you would then define the position of the reference coordinates in three separate pdb files. The contents of the file frame_1.pdb are shown below:
ATOM 1 CL ALA 1 -3.171 0.295 2.045 1.00 1.00 ATOM 5 CLP ALA 1 -1.819 -0.143 1.679 1.00 1.00 ATOM 6 OL ALA 1 -1.177 -0.889 2.401 1.00 1.00 ATOM 7 NL ALA 1 -1.313 0.341 0.529 1.00 1.00 ATOM 8 HL ALA 1 -1.845 0.961 -0.011 1.00 1.00 END
This is then frame.21.pdb:
ATOM 1 CL ALA 1 -3.089 1.850 1.546 1.00 1.00 ATOM 5 CLP ALA 1 -1.667 1.457 1.629 1.00 1.00 ATOM 6 OL ALA 1 -0.974 1.868 2.533 1.00 1.00 ATOM 7 NL ALA 1 -1.204 0.683 0.642 1.00 1.00 ATOM 8 HL ALA 1 -1.844 0.360 -0.021 1.00 1.00 END
and finally this is frame_42.pdb:
ATOM 1 CL ALA 1 -3.257 1.605 1.105 1.00 1.00 ATOM 5 CLP ALA 1 -1.941 1.459 0.447 1.00 1.00 ATOM 6 OL ALA 1 -1.481 2.369 -0.223 1.00 1.00 ATOM 7 NL ALA 1 -1.303 0.291 0.647 1.00 1.00 ATOM 8 HL ALA 1 -1.743 -0.379 1.229 1.00 1.00 END
This second example shows how to define a PATH in CONTACTMAP space:
CONTACTMAP ... ATOMS1=1,2 REFERENCE1=0.1 ATOMS2=3,4 REFERENCE2=0.5 ATOMS3=4,5 REFERENCE3=0.25 ATOMS4=5,6 REFERENCE4=0.0 SWITCH={RATIONAL R_0=1.5} LABEL=c1 CMDIST ... CONTACTMAP CONTACTMAP ... ATOMS1=1,2 REFERENCE1=0.3 ATOMS2=3,4 REFERENCE2=0.9 ATOMS3=4,5 REFERENCE3=0.45 ATOMS4=5,6 REFERENCE4=0.1 SWITCH={RATIONAL R_0=1.5} LABEL=c2 CMDIST ... CONTACTMAP CONTACTMAP ... ATOMS1=1,2 REFERENCE1=1.0 ATOMS2=3,4 REFERENCE2=1.0 ATOMS3=4,5 REFERENCE3=1.0 ATOMS4=5,6 REFERENCE4=1.0 SWITCH={RATIONAL R_0=1.5} LABEL=c3 CMDIST ... CONTACTMAP p1: FUNCPATHMSD ARG=c1,c2,c3 LAMBDA=500.0 PRINT ARG=c1,c2,c3,p1.s,p1.z STRIDE=1 FILE=colvar FMT=%8.4f
This third example shows how to define a PATH in PIV space:
PIV ... LABEL=c1 PRECISION=1000 NLIST REF_FILE=Ref1.pdb PIVATOMS=2 ATOMTYPES=A,B ONLYDIRECT SFACTOR=1.0,0.2 SORT=1,1 SWITCH1={RATIONAL R_0=0.6 MM=12 NN=4} SWITCH2={RATIONAL R_0=0.5 MM=10 NN=5} NL_CUTOFF=1.2,1.2 NL_STRIDE=10,10 NL_SKIN=0.1,0.1 ... PIV PIV ... LABEL=c2 PRECISION=1000 NLIST REF_FILE=Ref2.pdb PIVATOMS=2 ATOMTYPES=A,B ONLYDIRECT SFACTOR=1.0,0.2 SORT=1,1 SWITCH1={RATIONAL R_0=0.6 MM=12 NN=4} SWITCH2={RATIONAL R_0=0.4 MM=10 NN=5} NL_CUTOFF=1.2,1.2 NL_STRIDE=10,10 NL_SKIN=0.1,0.1 ... PIV p1: FUNCPATHMSD ARG=c1,c2 LAMBDA=0.180338 METAD ARG=p1.s,p1.z SIGMA=0.01,0.2 HEIGHT=0.8 PACE=500 LABEL=res PRINT ARG=c1,c2,p1.s,p1.z,res.bias STRIDE=500 FILE=colvar FMT=%15.6f