diff --git a/src/adjmat/ClusterDistribution.cpp b/src/adjmat/ClusterDistribution.cpp index 400fed6112457ab3bd25f45de9882a3dd97b7ea5..a18b73758248a0587753f97edbc42264961b8046 100644 --- a/src/adjmat/ClusterDistribution.cpp +++ b/src/adjmat/ClusterDistribution.cpp @@ -41,11 +41,11 @@ value for the local q6 Steinhardt parameter is then computed. A contact matrix whether atoms atoms \f$i\f$ and \f$j\f$ have a high value for this coordination number and if they are within 3.6 nm of each other. The connected components of this matrix are then found using a depth first clustering algorithm on the corresponding graph. The number of components in this graph that contain more than 27 atoms is then computed. -As discussed in \cite tribello-clustering this input was used to analyze the formation of a polycrystal of GeTe from amorphous +As discussed in \cite tribello-clustering an input similar to this one was used to analyze the formation of a polycrystal of GeTe from amorphous GeTe. \plumedfile -q6: Q6 SPECIES=1-32768 SWITCH={GAUSSIAN D_0=5.29 R_0=0.01 D_MAX=5.3} LOWMEM +q6: Q6 SPECIES=1-300 SWITCH={GAUSSIAN D_0=5.29 R_0=0.01 D_MAX=5.3} LOWMEM lq6: LOCAL_Q6 SPECIES=q6 SWITCH={GAUSSIAN D_0=5.29 R_0=0.01 D_MAX=5.3} LOWMEM flq6: MFILTER_MORE DATA=lq6 SWITCH={GAUSSIAN D_0=0.19 R_0=0.01 D_MAX=0.2} cc: COORDINATIONNUMBER SPECIES=flq6 SWITCH={GAUSSIAN D_0=3.59 R_0=0.01 D_MAX=3.6} diff --git a/src/adjmat/ContactMatrix.cpp b/src/adjmat/ContactMatrix.cpp index be825f0c32ec6784f1b78b67dcd02ea0709b9b72..d2a9fe9ad3a9caa8caaade8e342fa0b68b92a4fb 100644 --- a/src/adjmat/ContactMatrix.cpp +++ b/src/adjmat/ContactMatrix.cpp @@ -49,7 +49,7 @@ of each other and which is zero otherwise. The columns in this matrix are then The final quantity output in the colvar file is thus the average coordination number. \plumedfile -aa: CONTACT_MATRIX ATOMS=1-6 SWITCH={EXP D_0=0.2 R_0=0.1 D_MAX=0.66} +mat: CONTACT_MATRIX ATOMS=1-6 SWITCH={EXP D_0=0.2 R_0=0.1 D_MAX=0.66} COLUMNSUMS MATRIX=mat MEAN LABEL=csums PRINT ARG=csums.* FILE=colvar \endplumedfile diff --git a/src/adjmat/HbondMatrix.cpp b/src/adjmat/HbondMatrix.cpp index 777f3dd5c92959501299a08d27bca4f5b1ffc30f..f635da2057e01724c9fdfbfadd0830c86688bd13 100644 --- a/src/adjmat/HbondMatrix.cpp +++ b/src/adjmat/HbondMatrix.cpp @@ -71,7 +71,7 @@ mat: HBOND_MATRIX ATOMS=1-192:3 HYDROGENS=2-192:3,3-192:3 SWITCH={RATIONAL R_0=3 rsums: ROWSUMS MATRIX=mat MEAN csums: COLUMNSUMS MATRIX=mat MEAN DUMPMULTICOLVAR DATA=rsums FILE=donors.xyz -DUMPMULTICOLVAR DATA=csums FILE=acceptors.x +DUMPMULTICOLVAR DATA=csums FILE=acceptors.xyz \endplumedfile */ diff --git a/src/adjmat/MatrixRowSums.cpp b/src/adjmat/MatrixRowSums.cpp index fb60b8b31e25124e906fa25381d41e4412298963..160882d3ed4ae04891f6730ae19866102d2c81dd 100644 --- a/src/adjmat/MatrixRowSums.cpp +++ b/src/adjmat/MatrixRowSums.cpp @@ -85,7 +85,7 @@ MatrixRowSums::MatrixRowSums(const ActionOptions& ao): Action(ao), ActionWithInputMatrix(ao) { - if( (mymatrix->getMatrixAction())->mybasemulticolvars.size()>0 ) error("matrix row sums should only be calculated when inputs are atoms"); + if( (mymatrix->getMatrixAction())->mybasemulticolvars.size()>0 ) warning("matrix row may be problematic when inputs are not atoms"); // Setup the tasks unsigned nrows = mymatrix->getNumberOfRows(); ablocks.resize(1); ablocks[0].resize( nrows ); diff --git a/src/adjmat/SMACMatrix.cpp b/src/adjmat/SMACMatrix.cpp index 617abcdb35139639a76fd1a1a6712b7bd3070521..26e0819933fa521b0c4f279561cb451e18e5a596 100644 --- a/src/adjmat/SMACMatrix.cpp +++ b/src/adjmat/SMACMatrix.cpp @@ -64,12 +64,12 @@ LABEL=m1 SMAC_MATRIX ... ATOMS=m1 SWITCH={RATIONAL D_0=5.99 R_0=0.1 D_MAX=6.0} KERNEL1={TRIANGULAR CENTER=0 SIGMA=1.0} KERNEL2={TRIANGULAR CENTER=pi SIGMA=0.6} - LABEL=smacm + LABEL=smac ... SMAC_MATRIX -dfs1: DFSCLUSTERING MATRIX=smacm +dfs1: DFSCLUSTERING MATRIX=smac cc2: CLUSTER_NATOMS CLUSTERS=dfs1 CLUSTER=1 -PRINT ARG=smac.*,cc1.*,cc2 FILE=colvar +PRINT ARG=cc2 FILE=colvar \endplumedfile */ diff --git a/src/analysis/Histogram.cpp b/src/analysis/Histogram.cpp index 59dc8049f710ad2d9e0799a038468cb5744c56ac..0ccc308526059cf7458ffddae862e9e539617baf 100644 --- a/src/analysis/Histogram.cpp +++ b/src/analysis/Histogram.cpp @@ -186,7 +186,6 @@ HISTOGRAM ... GRID_MAX=3.14,3.14 GRID_BIN=200,200 BANDWIDTH=0.05,0.05 - GRID_WFILE=histo LABEL=hh ... HISTOGRAM diff --git a/src/bias/BiasValue.cpp b/src/bias/BiasValue.cpp index 3c4839a39457a8701208263dce1f9d4b245cf5aa..f2730a76bdb0fa7c9beb6592c60a63ba53341d96 100644 --- a/src/bias/BiasValue.cpp +++ b/src/bias/BiasValue.cpp @@ -46,7 +46,7 @@ It then tells plumed to print the energy of the restraint DISTANCE ATOMS=3,5 LABEL=d1 DISTANCE ATOMS=3,6 LABEL=d2 BIASVALUE ARG=d1,d2 LABEL=b -PRINT ARG=d1,d2,b.d1,b.d2 +PRINT ARG=d1,d2,b.d1_bias,b.d2_bias \endplumedfile Another thing one can do is asking one system to follow @@ -70,7 +70,7 @@ vv1: MATHEVAL ARG=mycos,mysin,cos,sin VAR=mc,ms,c,s FUNC=100*((mc-c)^2+(ms-s)^ # this takes the value calculated with matheval and uses as a bias cc: BIASVALUE ARG=vv1 # some printout -PRINT ARG=t,cos,sin,d.x,d.y,d.z,mycos,mysin,cc.bias.vv1 STRIDE=1 FILE=colvar FMT=%8.4f +PRINT ARG=t,cos,sin,d.x,d.y,d.z,mycos,mysin,cc.vv1_bias STRIDE=1 FILE=colvar FMT=%8.4f \endplumedfile */ diff --git a/src/bias/External.cpp b/src/bias/External.cpp index f21cbfa906791ccf680a5904ee141c895ef63a40..96b0f1c1d56da9072b725594de4d658d23249aed 100644 --- a/src/bias/External.cpp +++ b/src/bias/External.cpp @@ -43,17 +43,24 @@ The following is an input for a calculation with an external potential that is defined in the file bias.dat and that acts on the distance between atoms 3 and 5. \plumedfile DISTANCE ATOMS=3,5 LABEL=d1 -EXTERNAL ARG=d1 FILE=bias.dat LABEL=external +EXTERNAL ARG=d1 FILE=bias.grid LABEL=external \endplumedfile -The header in the file bias.dat should read: -\verbatim +The bias.grid will then look something like this: +\auxfile{bias.grid} #! FIELDS d1 external.bias der_d1 -#! SET min_d1 0.0 -#! SET max_d1 1.0 -#! SET nbins_d1 100 +#! SET min_d1 1.14 +#! SET max_d1 1.32 +#! SET nbins_d1 6 #! SET periodic_d1 false -\endverbatim + 1.1400 0.0031 0.1101 + 1.1700 0.0086 0.2842 + 1.2000 0.0222 0.6648 + 1.2300 0.0521 1.4068 + 1.2600 0.1120 2.6873 + 1.2900 0.2199 4.6183 + 1.3200 0.3948 7.1055 +\endauxfile This should then be followed by the value of the potential and its derivative at 100 equally spaced points along the distance between 0 and 1. @@ -64,21 +71,32 @@ potential acting on two torsional angles: \plumedfile TORSION ATOMS=4,5,6,7 LABEL=t1 TORSION ATOMS=6,7,8,9 LABEL=t2 -EXTERNAL ARG=t1,t2 FILE=bias.dat LABEL=ext +EXTERNAL ARG=t1,t2 FILE=bias2.grid LABEL=ext \endplumedfile -The header in the file bias.dat for this calculation would read: -\verbatim +The file bias2.grid for this calculation would need to look something like this: +\auxfile{bias2.grid} #! FIELDS t1 t2 ext.bias der_t1 der_t2 #! SET min_t1 -pi -#! SET max_t1 +pi -#! SET nbins_t1 100 +#! SET max_t1 pi +#! SET nbins_t1 3 #! SET periodic_t1 true #! SET min_t2 -pi -#! SET max_t2 +pi -#! SET nbins_t2 100 +#! SET max_t2 pi +#! SET nbins_t2 3 #! SET periodic_t2 true -\endverbatim + -3.141593 -3.141593 0.000000 -0.000000 -0.000000 + -1.047198 -3.141593 0.000000 0.000000 -0.000000 + 1.047198 -3.141593 0.000000 -0.000000 -0.000000 + + -3.141593 -1.047198 0.000000 -0.000000 0.000000 + -1.047198 -1.047198 0.007922 0.033185 0.033185 + 1.047198 -1.047198 0.007922 -0.033185 0.033185 + + -3.141593 1.047198 0.000000 -0.000000 -0.000000 + -1.047198 1.047198 0.007922 0.033185 -0.033185 + 1.047198 1.047198 0.007922 -0.033185 -0.033185 +\endauxfile This would be then followed by 100 blocks of data. In the first block of data the value of t1 (the value in the first column) is kept fixed and the value of diff --git a/src/bias/MetaD.cpp b/src/bias/MetaD.cpp index c5aa93ee7c8e0196a09784a2b792a6ea0017c3c8..fe975b677623733d9f85573f134552ec1f44ad1d 100644 --- a/src/bias/MetaD.cpp +++ b/src/bias/MetaD.cpp @@ -238,6 +238,9 @@ presented in \cite Tiwary_jp504920s as described above. This is enabled by using the keyword CALC_RCT, and can be done only if the bias is defined on a grid. \plumedfile +phi: TORSION ATOMS=1,2,3,4 +psi: TORSION ATOMS=5,6,7,8 + METAD ... LABEL=metad ARG=phi,psi SIGMA=0.20,0.20 HEIGHT=1.20 BIASFACTOR=5 TEMP=300.0 PACE=500 @@ -322,22 +325,29 @@ DISTANCE ATOMS=3,5 LABEL=d1 METAD ... LABEL=t1 ARG=d1 SIGMA=0.05 TAU=200 DAMPFACTOR=100 PACE=250 - GRID_MIN=0 GRID_MAX=2 GRID_BIN=200 - TARGET=dist.dat + GRID_MIN=1.14 GRID_MAX=1.32 GRID_BIN=6 + TARGET=dist.grid ... METAD PRINT ARG=d1,t1.bias STRIDE=100 FILE=COLVAR \endplumedfile -The header in the file dist.dat for this calculation would read: +The file dist.dat for this calculation would read: -\verbatim +\auxfile{dist.grid} #! FIELDS d1 t1.target der_d1 -#! SET min_d1 0 -#! SET max_d1 2 -#! SET nbins_d1 200 +#! SET min_d1 1.14 +#! SET max_d1 1.32 +#! SET nbins_d1 6 #! SET periodic_d1 false -\endverbatim + 1.1400 0.0031 0.1101 + 1.1700 0.0086 0.2842 + 1.2000 0.0222 0.6648 + 1.2300 0.0521 1.4068 + 1.2600 0.1120 2.6873 + 1.2900 0.2199 4.6183 + 1.3200 0.3948 7.1055 +\endauxfile Notice that BIASFACTOR can also be chosen as equal to 1. In this case one will perform unbiased sampling. Instead of using HEIGHT, one should provide the TAU parameter. diff --git a/src/bias/ReweightMetad.cpp b/src/bias/ReweightMetad.cpp index 013af2bc47d393ff51614dfad7b4fc2ab3407b4d..9b2400c79a3a1762cd418a7dae8ece0766994e91 100644 --- a/src/bias/ReweightMetad.cpp +++ b/src/bias/ReweightMetad.cpp @@ -42,7 +42,7 @@ factor and the grid over which we calculate c(t) in the input to the METAD comma \plumedfile a: ANGLE ATOMS=1,2,3 x: DISTANCE ATOMS=1,2 -METAD ARG=x PACE=100 SIGMA=0.1 HEIGHT=1.5 BIASFACTOR=5 GRID_MIN=0 GRID_MAX=10 GRID_BIN=100 REWEIGHTING_NGRID=100 REWEIGHTING_NHILLS=50 +METAD ARG=x PACE=100 SIGMA=0.1 HEIGHT=1.5 BIASFACTOR=5 GRID_MIN=0 GRID_MAX=10 GRID_BIN=100 CALC_RCT RCT_USTRIDE=50 bias: REWEIGHT_METAD TEMP=300 diff --git a/src/colvar/Constant.cpp b/src/colvar/Constant.cpp index 3f82c9ab2961cfb74bf354dbde67992038eef99c..64678097f0e0bf2c210c7fa62af0c59313627c38 100644 --- a/src/colvar/Constant.cpp +++ b/src/colvar/Constant.cpp @@ -53,7 +53,7 @@ PRINT ARG=sss.2 In case you want to pass a single value you can use VALUE: \plumedfile cn: CONSTANT VALUE=1.0 -dis: DISTANCE ATOMS=1 +dis: DISTANCE ATOMS=1,2 sss: SORT ARG=cn,dis PRINT ARG=sss.1 \endplumedfile diff --git a/src/colvar/Coordination.cpp b/src/colvar/Coordination.cpp index 06073e1b26971348e332cc722d70c441042b2fdc..6898b2eb8d10a2acfabf70b92799c7165f047187 100644 --- a/src/colvar/Coordination.cpp +++ b/src/colvar/Coordination.cpp @@ -84,7 +84,7 @@ c1: COORDINATION GROUPA=group GROUPB=group R_0=0.3 # Here's coordination within a single group: x: COORDINATION GROUPA=group R_0=0.3 # This is just multiplying times 2 the variable x: -c2: COMBINE ARG=x COEFFICIENTS=2 +c2: COMBINE ARG=x COEFFICIENTS=2 PERIODIC=NO # the two variables c1 and c2 should be identical, but the calculation of c2 is twice faster # since it runs on half of the pairs. diff --git a/src/colvar/DRMSD.cpp b/src/colvar/DRMSD.cpp index d89a18869bd4bc1728cccfc51668629452833808..003fbc92981c8eaf1fbc658af5d492db49779ce7 100644 --- a/src/colvar/DRMSD.cpp +++ b/src/colvar/DRMSD.cpp @@ -67,19 +67,30 @@ position. Only pairs of atoms whose distance in the reference structure is withi 0.1 and 0.8 nm are considered. \plumedfile -DRMSD REFERENCE=file.pdb LOWER_CUTOFF=0.1 UPPER_CUTOFF=0.8 +DRMSD REFERENCE=file1.pdb LOWER_CUTOFF=0.1 UPPER_CUTOFF=0.8 \endplumedfile +The reference file is a PDB file that looks like this + +\auxfile{file1.pdb} +ATOM 8 HT3 ALA 2 -1.480 -1.560 1.212 1.00 1.00 DIA H +ATOM 9 CAY ALA 2 -0.096 2.144 -0.669 1.00 1.00 DIA C +ATOM 10 HY1 ALA 2 0.871 2.385 -0.588 1.00 1.00 DIA H +ATOM 12 HY3 ALA 2 -0.520 2.679 -1.400 1.00 1.00 DIA H +ATOM 14 OY ALA 2 -1.139 0.931 -0.973 1.00 1.00 DIA O +END +\endauxfile + The following tells plumed to calculate a DRMSD value for a pair of molecules. \plumedfile -DRMSD REFERENCE=file.pdb LOWER_CUTOFF=0.1 UPPER_CUTOFF=0.8 TYPE=INTER-DRMSD +DRMSD REFERENCE=file2.pdb LOWER_CUTOFF=0.1 UPPER_CUTOFF=0.8 TYPE=INTER-DRMSD \endplumedfile In the input reference file (file.pdb) the atoms in each of the two molecules are separated by a TER command as shown below. -\verbatim +\auxfile{file2.pdb} ATOM 8 HT3 ALA 2 -1.480 -1.560 1.212 1.00 1.00 DIA H ATOM 9 CAY ALA 2 -0.096 2.144 -0.669 1.00 1.00 DIA C ATOM 10 HY1 ALA 2 0.871 2.385 -0.588 1.00 1.00 DIA H @@ -87,7 +98,7 @@ TER ATOM 12 HY3 ALA 2 -0.520 2.679 -1.400 1.00 1.00 DIA H ATOM 14 OY ALA 2 -1.139 0.931 -0.973 1.00 1.00 DIA O END -\endverbatim +\endauxfile In this example the INTER-DRMSD type ensures that the set of distances from which the final quantity is computed involve one atom from each of the two molecules. If this is replaced diff --git a/src/colvar/Dipole.cpp b/src/colvar/Dipole.cpp index 763895edacb56b5cf1a53e1514d55c51a19e142c..91a453ae916609961f842be9072dac24f0690ac6 100644 --- a/src/colvar/Dipole.cpp +++ b/src/colvar/Dipole.cpp @@ -51,7 +51,7 @@ The following tells plumed to calculate the dipole of the group of atoms contain the atoms from 1-10 and print it every 5 steps \plumedfile d: DIPOLE GROUP=1-10 -PRINT FILE=output STRIDE=5 ARG=5 +PRINT FILE=output STRIDE=5 ARG=d \endplumedfile \attention diff --git a/src/colvar/MultiRMSD.cpp b/src/colvar/MultiRMSD.cpp index 490d31c845b6360dbf6746e4a671eff6b3803cea..b0ccb9418981b98730cfeb3346e18ccd26f5067a 100644 --- a/src/colvar/MultiRMSD.cpp +++ b/src/colvar/MultiRMSD.cpp @@ -71,7 +71,7 @@ configuration. \f$w_i\f$ is an optional weight. The distances for each of the domains in the above sum can be calculated using the \ref DRMSD or \ref RMSD measures or using a combination of these distance. The reference configuration is specified in a pdb file like the one below: -\verbatim +\auxfile{file1.pdb} ATOM 2 O ALA 2 -0.926 -2.447 -0.497 1.00 1.00 DIA O ATOM 4 HNT ALA 2 0.533 -0.396 1.184 1.00 1.00 DIA H ATOM 6 HT1 ALA 2 -0.216 -2.590 1.371 1.00 1.00 DIA H @@ -89,7 +89,7 @@ ATOM 20 HB1 ALA 2 2.670 -0.716 -2.057 1.00 1.00 DIA H ATOM 21 HB2 ALA 2 2.556 -1.051 -0.295 1.00 1.00 DIA H ATOM 22 HB3 ALA 2 2.070 -2.314 -1.490 1.00 1.00 DIA H END -\endverbatim +\endauxfile with the TER keyword being used to separate the various domains in you protein. @@ -101,7 +101,7 @@ the positions of the atoms in the reference file and their instantaneous position. The Kearsley algorithm for each of the domains. \plumedfile -MULTI-RMSD REFERENCE=file.pdb TYPE=MULTI-OPTIMAL +MULTI-RMSD REFERENCE=file1.pdb TYPE=MULTI-OPTIMAL \endplumedfile The following tells plumed to calculate the RMSD distance between the positions of @@ -109,7 +109,7 @@ the atoms in the domains of reference the reference structure and their instanta positions. Here distances are calculated using the \ref DRMSD measure. \plumedfile -MULTI-RMSD REFERENCE=file.pdb TYPE=MULTI-DRMSD +MULTI-RMSD REFERENCE=file2.pdb TYPE=MULTI-DRMSD \endplumedfile in this case it is possible to use the following DRMSD options in the pdb file using the REMARK syntax: @@ -120,7 +120,7 @@ UPPER_CUTOFF=# only pairs of atoms further than UPPER_CUTOFF are considered in t \endverbatim as shown in the following example -\verbatim +\auxfile{file2.pdb} REMARK NOPBC REMARK LOWER_CUTOFF=0.1 REMARK UPPER_CUTOFF=0.8 @@ -141,7 +141,7 @@ ATOM 20 HB1 ALA 2 2.670 -0.716 -2.057 1.00 1.00 DIA H ATOM 21 HB2 ALA 2 2.556 -1.051 -0.295 1.00 1.00 DIA H ATOM 22 HB3 ALA 2 2.070 -2.314 -1.490 1.00 1.00 DIA H END -\endverbatim +\endauxfile */ @@ -161,6 +161,28 @@ Just replace \ref MULTI-RMSD with \ref MULTI_RMSD MULTI_RMSD REFERENCE=file.pdb TYPE=MULTI-DRMSD \endplumedfile +and remember to use a pdb file like the one below to define the reference structure + +\auxfile{file.pdb} +ATOM 2 O ALA 2 -0.926 -2.447 -0.497 1.00 1.00 DIA O +ATOM 4 HNT ALA 2 0.533 -0.396 1.184 1.00 1.00 DIA H +ATOM 6 HT1 ALA 2 -0.216 -2.590 1.371 1.00 1.00 DIA H +ATOM 7 HT2 ALA 2 -0.309 -1.255 2.315 1.00 1.00 DIA H +ATOM 8 HT3 ALA 2 -1.480 -1.560 1.212 1.00 1.00 DIA H +ATOM 9 CAY ALA 2 -0.096 2.144 -0.669 1.00 1.00 DIA C +ATOM 10 HY1 ALA 2 0.871 2.385 -0.588 1.00 1.00 DIA H +TER +ATOM 12 HY3 ALA 2 -0.520 2.679 -1.400 1.00 1.00 DIA H +ATOM 14 OY ALA 2 -1.139 0.931 -0.973 1.00 1.00 DIA O +ATOM 16 HN ALA 2 1.713 1.021 -0.873 1.00 1.00 DIA H +ATOM 18 HA ALA 2 0.099 -0.774 -2.218 1.00 1.00 DIA H +ATOM 19 CB ALA 2 2.063 -1.223 -1.276 1.00 1.00 DIA C +ATOM 20 HB1 ALA 2 2.670 -0.716 -2.057 1.00 1.00 DIA H +ATOM 21 HB2 ALA 2 2.556 -1.051 -0.295 1.00 1.00 DIA H +ATOM 22 HB3 ALA 2 2.070 -2.314 -1.490 1.00 1.00 DIA H +END +\endauxfile + */ //+ENDPLUMEDOC diff --git a/src/colvar/PCARMSD.cpp b/src/colvar/PCARMSD.cpp index 63e40eb19c9d43f2cb76d064f1239c8c33f6fbbf..d235a5cda5a5296cbc40463d06f0e646b137fb46 100644 --- a/src/colvar/PCARMSD.cpp +++ b/src/colvar/PCARMSD.cpp @@ -63,6 +63,43 @@ PCARMSD AVERAGE=file.pdb EIGENVECTORS=eigenvectors.pdb \endplumedfile The input is taken so to be compatible with the output you get from g_covar utility of gromacs (suitably adapted to have a pdb input format). +The reference configuration (file.pdb) will thus be in a file that looks something like this: + +\auxfile{file.pdb} +TITLE Average structure +MODEL 1 +ATOM 1 CL ALA 1 1.042 -3.070 0.946 1.00 0.00 +ATOM 5 CLP ALA 1 0.416 -2.033 0.132 1.00 0.00 +ATOM 6 OL ALA 1 0.415 -2.082 -0.976 1.00 0.00 +ATOM 7 NL ALA 1 -0.134 -1.045 0.677 1.00 0.00 +ATOM 9 CA ALA 1 -0.774 0.053 0.003 1.00 0.00 +TER +ENDMDL +\endauxfile + +while the eigenvectors will be in a pdb file (eigenvectors.pdb) that looks something like this: + +\auxfile{eigenvectors.pdb} +TITLE frame t= -1.000 +MODEL 1 +ATOM 1 CL ALA 1 1.194 -2.988 0.724 1.00 0.00 +ATOM 5 CLP ALA 1 -0.996 0.042 0.144 1.00 0.00 +ATOM 6 OL ALA 1 -1.246 -0.178 -0.886 1.00 0.00 +ATOM 7 NL ALA 1 -2.296 0.272 0.934 1.00 0.00 +ATOM 9 CA ALA 1 -0.436 2.292 0.814 1.00 0.00 +TER +ENDMDL +TITLE frame t= 0.000 +MODEL 1 +ATOM 1 CL ALA 1 1.042 -3.070 0.946 1.00 0.00 +ATOM 5 CLP ALA 1 -0.774 0.053 0.003 1.00 0.00 +ATOM 6 OL ALA 1 -0.849 -0.166 -1.034 1.00 0.00 +ATOM 7 NL ALA 1 -2.176 0.260 0.563 1.00 0.00 +ATOM 9 CA ALA 1 0.314 1.825 0.962 1.00 0.00 +TER +ENDMDL + +\endauxfile */ //+ENDPLUMEDOC diff --git a/src/colvar/PathMSD.cpp b/src/colvar/PathMSD.cpp index 790ac8ec57c7c5f4c9c516d081e206ea30657d23..d9e941b7e874637b5288ae80fa25b28fefd5afac 100644 --- a/src/colvar/PathMSD.cpp +++ b/src/colvar/PathMSD.cpp @@ -62,7 +62,26 @@ note that NEIGH_STRIDE=4 NEIGH_SIZE=8 control the neighbor list parameter (optio recommended for performance) and states that the neighbor list will be calculated every 4 steps and consider only the closest 8 member to the actual md snapshots. -In the REFERENCE PDB file the frames must be separated either using END or ENDMDL. +This input must be accompanied by a REFERENCE PDB file in which the positions of each of the frames are specified +separated using either END or ENDMDL as shown below: + +\auxfile{file.pdb} +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 +END +ATOM 1 CL ALA 1 -3.175 0.365 2.024 1.00 1.00 +ATOM 5 CLP ALA 1 -1.814 -0.106 1.685 1.00 1.00 +ATOM 6 OL ALA 1 -1.201 -0.849 2.425 1.00 1.00 +ATOM 7 NL ALA 1 -1.296 0.337 0.534 1.00 1.00 +END +ATOM 1 CL ALA 1 -2.990 0.383 2.277 1.00 1.00 +ATOM 5 CLP ALA 1 -1.664 -0.085 1.831 1.00 1.00 +ATOM 6 OL ALA 1 -0.987 -0.835 2.533 1.00 1.00 +ATOM 7 NL ALA 1 -1.227 0.364 0.646 1.00 1.00 +END +\endauxfile \note The implementation of this collective variable and of \ref PROPERTYMAP diff --git a/src/colvar/Position.cpp b/src/colvar/Position.cpp index b06806299d802eea07609044abc38c8b71c88412..120ec10197171e436be031d22623d44fdd6aea56 100644 --- a/src/colvar/Position.cpp +++ b/src/colvar/Position.cpp @@ -61,6 +61,17 @@ p: POSITION ATOM=3 PRINT ARG=p.x,p.y,p.z \endplumedfile +The reference position is specified in a pdb file like the one shown below + +\auxfile{ref.pdb} +ATOM 3 HT3 ALA 2 -1.480 -1.560 1.212 1.00 1.00 DIA H +ATOM 9 CAY ALA 2 -0.096 2.144 -0.669 1.00 1.00 DIA C +ATOM 10 HY1 ALA 2 0.871 2.385 -0.588 1.00 1.00 DIA H +ATOM 12 HY3 ALA 2 -0.520 2.679 -1.400 1.00 1.00 DIA H +ATOM 14 OY ALA 2 -1.139 0.931 -0.973 1.00 1.00 DIA O +END +\endauxfile + */ //+ENDPLUMEDOC diff --git a/src/colvar/PropertyMap.cpp b/src/colvar/PropertyMap.cpp index a5934134e863fb67083294ccf724eec654846abc..820bff96b5d3ad16f2d537f7827e30a6d1a5ad89 100644 --- a/src/colvar/PropertyMap.cpp +++ b/src/colvar/PropertyMap.cpp @@ -60,7 +60,7 @@ periodic image. \par Examples \plumedfile -p3: PROPERTYMAP REFERENCE=../../trajectories/path_msd/allv.pdb PROPERTY=X,Y LAMBDA=69087 NEIGH_SIZE=8 NEIGH_STRIDE=4 +p3: PROPERTYMAP REFERENCE=allv.pdb PROPERTY=X,Y LAMBDA=69087 NEIGH_SIZE=8 NEIGH_STRIDE=4 PRINT ARG=p3.X,p3.Y,p3.zzz STRIDE=1 FILE=colvar FMT=%8.4f \endplumedfile @@ -72,18 +72,16 @@ In this case the input line instructs plumed to look for two properties X and Y line of the reference pdb (Note: No spaces from X and = and 1 !!!!). e.g. -\verbatim +\auxfile{allv.pdb} REMARK X=1 Y=2 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 -....... END REMARK X=2 Y=3 ATOM 1 CL ALA 1 -3.175 0.365 2.024 1.00 1.00 ATOM 5 CLP ALA 1 -1.814 -0.106 1.685 1.00 1.00 -.... END -\endverbatim +\endauxfile \note The implementation of this collective variable and of \ref PATHMSD diff --git a/src/colvar/RMSD.cpp b/src/colvar/RMSD.cpp index 8ec3f2035c985487770f9d859bd21abbd9dd9863..572fe2f5402350ab780e40054387a621d7d472eb 100644 --- a/src/colvar/RMSD.cpp +++ b/src/colvar/RMSD.cpp @@ -149,6 +149,17 @@ position. The Kearsley algorithm is used so this is done optimally. RMSD REFERENCE=file.pdb TYPE=OPTIMAL \endplumedfile +The reference configuration is specified in a pdb file that will have a format similar to the one shown below: + +\auxfile{file.pdb} +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 +\endauxfile + ... */ diff --git a/src/crystallization/MoleculeOrientation.cpp b/src/crystallization/MoleculeOrientation.cpp index 8112b9a563691bac74212a38b6a939aa1ccbafeb..a2ed7f598be906a64c259092e288a02e2c338737 100644 --- a/src/crystallization/MoleculeOrientation.cpp +++ b/src/crystallization/MoleculeOrientation.cpp @@ -64,7 +64,7 @@ public: PLUMED_REGISTER_ACTION(MoleculeOrientation,"MOLECULES") void MoleculeOrientation::registerKeywords( Keywords& keys ) { - VectorMultiColvar::registerKeywords( keys ); keys.use("VMEAN"); + VectorMultiColvar::registerKeywords( keys ); keys.use("MEAN"); keys.use("VMEAN"); keys.add("numbered","MOL","The numerical indices of the atoms in the molecule. The orientation of the molecule is equal to " "the vector connecting the first two atoms specified. If a third atom is specified its position " "is used to specify where the molecule is. If a third atom is not present the molecule is assumed " diff --git a/src/crystallization/Q6.cpp b/src/crystallization/Q6.cpp index a784607b1162306bdb0837db8c55dbdd29ffeacc..f9729b48a3212b2681b4a84ac16c5353fcd90451 100644 --- a/src/crystallization/Q6.cpp +++ b/src/crystallization/Q6.cpp @@ -156,7 +156,7 @@ are done with those of all the other atoms in the system. The final quantity is Q6 SPECIESA=1-5 SPECIESB=1-64 D_0=1.3 R_0=0.2 LABEL=q6a Q6 SPECIESA=6-64 SPECIESB=1-64 D_0=1.3 R_0=0.2 LABEL=q6b -LOCAL_Q6 SPECIES=q4a,q4b SWITCH={RATIONAL D_0=1.3 R_0=0.2} MEAN LOWMEM LABEL=w4 +LOCAL_Q6 SPECIES=q6a,q6b SWITCH={RATIONAL D_0=1.3 R_0=0.2} MEAN LOWMEM LABEL=w6 PRINT ARG=w6.* FILE=colvar \endplumedfile diff --git a/src/dimred/ClassicalMultiDimensionalScaling.cpp b/src/dimred/ClassicalMultiDimensionalScaling.cpp index af8ab1e62522e1693603ccd2ffe93e064955fe93..eb982bbde33495f3be480bc89e22384d8744f78a 100644 --- a/src/dimred/ClassicalMultiDimensionalScaling.cpp +++ b/src/dimred/ClassicalMultiDimensionalScaling.cpp @@ -51,12 +51,10 @@ The following command instructs plumed to construct a classical multidimensional The RMSD distance between atoms 1-256 have moved is used to measure the distances in the high-dimensional space. \plumedfile -CLASSICAL_MDS ... - ATOMS=1-256 - METRIC=OPTIMAL-FAST - NLOW_DIM=2 - OUTPUT_FILE=rmsd-embed -... CLASSICAL_MDS +data: COLLECT_FRAMES ATOMS=1-256 +mat: EUCLIDEAN_DISSIMILARITIES USE_OUTPUT_DATA_FROM=data +mds: CLASSICAL_MDS USE_OUTPUT_DATA_FROM=mat NLOW_DIM=2 +OUTPUT_ANALYSIS_DATA_TO_COLVAR USE_OUTPUT_DATA_FROM=mds FILE=rmsd-embed \endplumedfile The following section is for people who are interested in how this method works in detail. A solid understanding of this material is diff --git a/src/dimred/PCA.cpp b/src/dimred/PCA.cpp index f8640e61b236e065e42027b96556280f0d4485c5..5988a635f6aec2daa87ce49f4bc7a3554495a90d 100644 --- a/src/dimred/PCA.cpp +++ b/src/dimred/PCA.cpp @@ -63,14 +63,16 @@ The first two principal components will be output to a file called PCA-comp.pdb. will be performed at the end of the simulation. \plumedfile -PCA METRIC=OPTIMAL ATOMS=1-22 STRIDE=1 NLOW_DIM=2 OFILE=PCA-comp.pdb +ff: COLLECT_FRAMES ATOMS=1-22 STRIDE=1 +pca: PCA USE_OUTPUT_DATA_FROM=ff METRIC=OPTIMAL NLOW_DIM=2 +OUTPUT_PCA_PROJECTION USE_OUTPUT_DATA_FROM=pca FILE=PCA-comp.pdb \endplumedfile The following input instructs PLUMED to perform a principal component analysis in which the covariance matrix is calculated from changes in the six distances seen in the previous lines. Notice that here the TYPE=EUCLIDEAN keyword is used to indicate that no alignment has to be done when calculating the various elements of the covariance matrix from the input vectors. In this calculation the first two principal components will be output to a file called PCA-comp.pdb. Trajectory frames will be collected every five steps and the PCA calculation is performed every 1000 steps. Consequently, if you run a 2000 step simulation the -PCA analysis will be performed twice. The REWEIGHT_BIAS keyword in this input tells PLUMED that rather that ascribing a weight of one to each of the frames +PCA analysis will be performed twice. The REWEIGHT_BIAS action in this input tells PLUMED that rather that ascribing a weight of one to each of the frames when calculating averages and covariance matrices a reweighting should be performed based and each frames' weight in these calculations should be determined based on the current value of the instantaneous bias (see \ref REWEIGHT_BIAS). @@ -81,8 +83,12 @@ d3: DISTANCE ATOMS=1,4 d4: DISTANCE ATOMS=2,3 d5: DISTANCE ATOMS=2,4 d6: DISTANCE ATOMS=3,4 +rr: RESTRAINT ARG=d1 AT=0.1 KAPPA=10 +rbias: REWEIGHT_BIAS TEMP=300 -PCA ARG=d1,d2,d3,d4,d5,d6 METRIC=EUCLIDEAN STRIDE=5 RUN=1000 NLOW_DIM=2 REWEIGHT_BIAS OFILE=PCA-comp.pdb +ff: COLLECT_FRAMES ARG=d1,d2,d3,d4,d5,d6 LOGWEIGHTS=rbias STRIDE=5 +pca: PCA USE_OUTPUT_DATA_FROM=ff METRIC=EUCLIDEAN NLOW_DIM=2 +OUTPUT_PCA_PROJECTION USE_OUTPUT_DATA_FROM=pca STRIDE=100 FILE=PCA-comp.pdb \endplumedfile */ diff --git a/src/function/Custom.cpp b/src/function/Custom.cpp index 03fc9936caec2a4c722b000744a34a07608be6f5..630cde788b2ef4dd5658e5fd0e3a5d2da24390d8 100644 --- a/src/function/Custom.cpp +++ b/src/function/Custom.cpp @@ -56,7 +56,7 @@ dAC: DISTANCE ATOMS=10,15 diff: CUSTOM ARG=dAB,dAC FUNC=y-x PERIODIC=NO # notice: the previous line could be replaced with the following # diff: COMBINE ARG=dAB,dAC COEFFICIENTS=-1,1 -METAD ARG=diff WIDTH=0.1 HEIGHT=0.5 BIASFACTOR=10 PACE=100 +METAD ARG=diff SIGMA=0.1 HEIGHT=0.5 BIASFACTOR=10 PACE=100 \endplumedfile (see also \ref DISTANCE, \ref COMBINE, and \ref METAD). Notice that forces applied to diff will be correctly propagated @@ -77,7 +77,7 @@ CUSTOM ... LABEL=theta ARG=d1.x,d1.y,d1.z,d2.x,d2.y,d2.z VAR=ax,ay,az,bx,by,bz - FUNC=acos((ax*bx+ay*by+az*bz)/sqrt((ax*ax+ay*ay+az*az)*(bx*bx+by*by+bz*bz)) + FUNC=acos((ax*bx+ay*by+az*bz)/sqrt((ax*ax+ay*ay+az*az)*(bx*bx+by*by+bz*bz))) PERIODIC=NO ... CUSTOM PRINT ARG=theta @@ -95,7 +95,7 @@ distance is larger than 0.5. You can do it with d: DISTANCE ATOMS=10,15 m: CUSTOM ARG=d FUNC=0.5*step(0.5-x)+x*step(x-0.5) PERIODIC=NO # check the function you are applying: -PRINT ARG=d,n FILE=checkme +PRINT ARG=d,m FILE=checkme RESTRAINT ARG=d AT=0.5 KAPPA=10.0 \endplumedfile (see also \ref DISTANCE, \ref PRINT, and \ref RESTRAINT) @@ -197,7 +197,7 @@ Just replace \ref CUSTOM with \ref MATHEVAL. d: DISTANCE ATOMS=10,15 m: MATHEVAL ARG=d FUNC=0.5*step(0.5-x)+x*step(x-0.5) PERIODIC=NO # check the function you are applying: -PRINT ARG=d,n FILE=checkme +PRINT ARG=d,m FILE=checkme RESTRAINT ARG=d AT=0.5 KAPPA=10.0 \endplumedfile (see also \ref DISTANCE, \ref PRINT, and \ref RESTRAINT) diff --git a/src/function/FuncPathMSD.cpp b/src/function/FuncPathMSD.cpp index 5935ee07965453597d9c58ed03b97b5943512fce..e1ed3088ece87391b54fbd53bbf7d8f451cfcade 100644 --- a/src/function/FuncPathMSD.cpp +++ b/src/function/FuncPathMSD.cpp @@ -57,7 +57,41 @@ 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 \endplumedfile -In this second example is shown how to define a PATH in the \ref CONTACTMAP space: +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: + +\auxfile{frame_1.pdb} +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 +\endauxfile + +This is then frame.21.pdb: + +\auxfile{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 +\endauxfile + +and finally this is frame_42.pdb: + +\auxfile{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 +\endauxfile + +This second example shows how to define a PATH in \ref CONTACTMAP space: \plumedfile CONTACTMAP ... @@ -94,7 +128,7 @@ 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 \endplumedfile -In this third example is shown how to define a PATH in the \ref PIV space: +This third example shows how to define a PATH in \ref PIV space: \plumedfile PIV ... diff --git a/src/function/Target.cpp b/src/function/Target.cpp index 637330459676bcc155cdc8e0377c4ac9adb32322..ee87a44a23e340241d9264ef3912985a65f15524 100644 --- a/src/function/Target.cpp +++ b/src/function/Target.cpp @@ -86,13 +86,13 @@ The contents of the file containing the reference structure (reference.pdb) is s labels of the CVs that are being used to define the position of the reference configuration in this file together with the values that these quantities take in the reference configuration. -\verbatim +\auxfile{reference.pdb} DESCRIPTION: a reference point. REMARK WEIGHT=1.0 REMARK ARG=d1,d2 REMARK d1=1.0 d2=1.0 END -\endverbatim +\endauxfile */ //+ENDPLUMEDOC diff --git a/src/generic/DumpDerivatives.cpp b/src/generic/DumpDerivatives.cpp index 153f76f601daf6999cfb6ccb76ec57e41e99141c..a2ec2e6ad6612153d3e771233051d0c5d8d2dad7 100644 --- a/src/generic/DumpDerivatives.cpp +++ b/src/generic/DumpDerivatives.cpp @@ -44,8 +44,8 @@ can be done by outputting the derivatives calculated analytically and numericall The following input instructs plumed to write a file called deriv that contains both the analytical and numerical derivatives of the distance between atoms 1 and 2. \plumedfile -DISTANCE ATOM=1,2 LABEL=distance -DISTANCE ATOM=1,2 LABEL=distanceN NUMERICAL_DERIVATIVES +DISTANCE ATOMS=1,2 LABEL=distance +DISTANCE ATOMS=1,2 LABEL=distanceN NUMERICAL_DERIVATIVES DUMPDERIVATIVES ARG=distance,distanceN STRIDE=1 FILE=deriv \endplumedfile diff --git a/src/generic/DumpForces.cpp b/src/generic/DumpForces.cpp index 33ec80b8033e0ee969e1f541c1a179ec201fe910..00b490b1eebcc7c3c84ff03684dc819135b8ffb7 100644 --- a/src/generic/DumpForces.cpp +++ b/src/generic/DumpForces.cpp @@ -45,7 +45,7 @@ by specifying more than one argument. You can control the buffering of output us The following input instructs plumed to write a file called forces that contains the force acting on the distance between atoms 1 and 2. \plumedfile -DISTANCE ATOM=1,2 LABEL=distance +DISTANCE ATOMS=1,2 LABEL=distance DUMPFORCES ARG=distance STRIDE=1 FILE=forces \endplumedfile diff --git a/src/generic/DumpMassCharge.cpp b/src/generic/DumpMassCharge.cpp index a3721dfb1cf832e472d3fbff4a2af9cd8b441527..0f60f682c2701f8c9b9c98a486637459f7bd6777 100644 --- a/src/generic/DumpMassCharge.cpp +++ b/src/generic/DumpMassCharge.cpp @@ -52,7 +52,7 @@ file that you use during an MD simulations: \plumedfile c1: COM ATOMS=1-10 c2: COM ATOMS=11-20 -PRINT ARG=c1,c2 FILE=colvar STRIDE=100 +DUMPATOMS ATOMS=c1,c2 FILE=coms.xyz STRIDE=100 DUMPMASSCHARGE FILE=mcfile \endplumedfile diff --git a/src/generic/FitToTemplate.cpp b/src/generic/FitToTemplate.cpp index fbb275c941ec295b1ee73d090f60fa27f442be18..9ece91d9895940d9a28f1e825a1fc4bacd4de32a 100644 --- a/src/generic/FitToTemplate.cpp +++ b/src/generic/FitToTemplate.cpp @@ -120,15 +120,28 @@ FIT_TO_TEMPLATE STRIDE=1 REFERENCE=ref.pdb TYPE=OPTIMAL DUMPATOMS FILE=dump-after.xyz ATOMS=1-20 \endplumedfile +In both these cases the reference structure should be provided in a reference pdb file such as the one below: + +\auxfile{ref.pdb} +ATOM 8 HT3 ALA 2 -1.480 -1.560 1.212 1.00 1.00 DIA H +ATOM 9 CAY ALA 2 -0.096 2.144 -0.669 1.00 1.00 DIA C +ATOM 10 HY1 ALA 2 0.871 2.385 -0.588 1.00 1.00 DIA H +ATOM 12 HY3 ALA 2 -0.520 2.679 -1.400 1.00 1.00 DIA H +ATOM 14 OY ALA 2 -1.139 0.931 -0.973 1.00 1.00 DIA O +END +\endauxfile + In the following example you see two completely equivalent way to restrain an atom close to a position that is defined in the reference -frame of an aligned molecule. It could be for instance the center of mass -of a ligand with respect to a protein +frame of an aligned molecule. You could for instance use this command to calculate the +position of the center of mass of a ligand after having aligned the atoms to the reference +frame of the protein that is determined by aligning the atoms in the protein to the coordinates +provided in the file ref.pdb \plumedfile # center of the ligand: center: CENTER ATOMS=100-110 -FIT_TO_TEMPLATE REFERENCE=protein.pdb TYPE=OPTIMAL +FIT_TO_TEMPLATE REFERENCE=ref.pdb TYPE=OPTIMAL # place a fixed atom in the protein reference coordinates: fix: FIXEDATOM AT=1.0,1.1,1.0 @@ -140,7 +153,7 @@ d: DISTANCE ATOMS=center,fix RESTRAINT ARG=d AT=0.0 KAPPA=100.0 \endplumedfile -Notice that you could have obtained an (almost) identical result adding a fictitious +Notice that you could have obtained an (almost) identical result by adding a fictitious atom to `ref.pdb` with the serial number corresponding to the atom labelled `center` (there is no automatic way to get it, but in this example it should be the number of atoms of the system plus one), and properly setting the weights for alignment and displacement in \ref RMSD. diff --git a/src/generic/Group.cpp b/src/generic/Group.cpp index 3871d521b3793f6b47900ddb236f576c4c86bbb2..5df1ca6545e3fd788b9c791f4b60a842f75cbd1b 100644 --- a/src/generic/Group.cpp +++ b/src/generic/Group.cpp @@ -94,10 +94,21 @@ PRINT ARG=c FILE=colvar \endplumedfile The `groups.dat` file could be very long and include lists of thousand atoms without cluttering the main plumed.dat file. -A GROMACS index file can also be imported +A GROMACS index file such as the one shown below: + +\auxfile{index.ndx} +[ Protein ] +1 3 5 7 9 +2 4 6 8 10 +[ Group2 ] +30 31 32 33 34 35 36 37 38 39 40 +5 +\endauxfile + +can also be imported by using the GROUP keyword as shown below \plumedfile -# import group named 'protein' from file index.ndx -pro: GROUP NDX_FILE=index.ndx NDX_GROUP=protein +# import group named 'Protein' from file index.ndx +pro: GROUP NDX_FILE=index.ndx NDX_GROUP=Protein # dump all the atoms of the protein on a trajectory file DUMPATOMS ATOMS=pro FILE=traj.gro \endplumedfile diff --git a/src/generic/Include.cpp b/src/generic/Include.cpp index 5bdc276a08af56ce43415c87166f667a8b3bb21d..c5844a0fa8cb47c65d1c4975ce2de32b5308f131 100644 --- a/src/generic/Include.cpp +++ b/src/generic/Include.cpp @@ -122,11 +122,11 @@ This is true also for files opened by INCLUDE! As an example, the same result of the inputs above could have been obtained using `plumed.dat`: -\plumedfile +\plumedmultireplicafile{2} # this is plumed.dat t: TORSION ATOMS=1,2,3,4 INCLUDE FILE=other.inc -\endplumedfile +\endplumedmultireplicafile Then `other.0.inc`: \plumedincludefile # this is other.0.inc diff --git a/src/generic/Read.cpp b/src/generic/Read.cpp index 3166e24e0f86cdb512ad3681a565044f3818b45d..55907468844635c2c73bda4046ff6ae96da16213 100644 --- a/src/generic/Read.cpp +++ b/src/generic/Read.cpp @@ -59,6 +59,19 @@ rphi2: READ FILE=input_colvar.data VALUES=phi2 PRINT ARG=rphi1,rphi2 STRIDE=500 FILE=output_colvar.data \endplumedfile +The file input_colvar.data is just a normal colvar file as shown below + +\auxfile{input_colvar.data} +#! FIELDS time phi psi metad.bias metad.rbias metad.rct +#! SET min_phi -pi +#! SET max_phi pi +#! SET min_psi -pi +#! SET max_psi pi + 0.000000 -1.2379 0.8942 0.0000 0.0000 0.0000 + 1.000000 -1.4839 1.0482 0.0000 0.0000 0.0089 + 2.000000 -1.3243 0.6055 0.0753 0.0664 0.0184 +\endauxfile + */ //+ENDPLUMEDOC diff --git a/src/generic/ResetCell.cpp b/src/generic/ResetCell.cpp index 9478e8601b404f4ead03bbca222b41d95b25024b..b08d9c223b4d145fda8fea2ba4964a714920e5f7 100644 --- a/src/generic/ResetCell.cpp +++ b/src/generic/ResetCell.cpp @@ -79,6 +79,16 @@ RESET_CELL TYPE=TRIANGULAR DUMPATOMS FILE=dump-reset.xyz ATOMS=1-20 \endplumedfile +The reference file for the FIT_TO_TEMPLATE is just a normal pdb file with the format shown below: + +\auxfile{ref.pdb} +ATOM 8 HT3 ALA 2 -1.480 -1.560 1.212 1.00 1.00 DIA H +ATOM 9 CAY ALA 2 -0.096 2.144 -0.669 1.00 1.00 DIA C +ATOM 10 HY1 ALA 2 0.871 2.385 -0.588 1.00 1.00 DIA H +ATOM 12 HY3 ALA 2 -0.520 2.679 -1.400 1.00 1.00 DIA H +ATOM 14 OY ALA 2 -1.139 0.931 -0.973 1.00 1.00 DIA O +END +\endauxfile */ //+ENDPLUMEDOC diff --git a/src/gridtools/DumpGrid.cpp b/src/gridtools/DumpGrid.cpp index 1de9a9b6369b82605c885c6a6bd87a6de2948b73..26cd47a74dfd2d96154077f552f44462963a3709 100644 --- a/src/gridtools/DumpGrid.cpp +++ b/src/gridtools/DumpGrid.cpp @@ -130,7 +130,6 @@ HISTOGRAM ... GRID_MAX=3.14,3.14 GRID_BIN=200,200 BANDWIDTH=0.05,0.05 - GRID_WFILE=histo LABEL=hh ... HISTOGRAM diff --git a/src/gridtools/FindContour.cpp b/src/gridtools/FindContour.cpp index 97e68adb87a25ec383c06d8e25b62aff010bee78..ffde85fdf797127af670bf83903e432bb961f185 100644 --- a/src/gridtools/FindContour.cpp +++ b/src/gridtools/FindContour.cpp @@ -74,16 +74,15 @@ FCCUBIC ... ALPHA=27 PHI=0.0 THETA=-1.5708 PSI=-2.35619 LABEL=fcc ... FCCUBIC -tfcc: MTRANSFORM_MORE DATA=fcc SWITCH={SMAP R_0=0.5 A=8 B=8} +tfcc: MTRANSFORM_MORE DATA=fcc LOWMEM SWITCH={SMAP R_0=0.5 A=8 B=8} center: CENTER_OF_MULTICOLVAR DATA=tfcc -MULTICOLVARDENS ... - DATA=tfcc ORIGIN=center DIR=xyz LABEL=dens - NBINS=80,80,80 BANDWIDTH=1.0,1.0,1.0 STRIDE=25 - LABEL=dens STRIDE=1 CLEAR=1 -... MULTICOLVARDENS +dens: MULTICOLVARDENS ... + DATA=tfcc ORIGIN=center DIR=xyz + NBINS=80,80,80 BANDWIDTH=1.0,1.0,1.0 STRIDE=1 CLEAR=1 +... -FIND_CONTOUR GRID=dens CONTOUR=0.5 FILE=mycontour.dat +FIND_CONTOUR GRID=dens CONTOUR=0.5 FILE=mycontour.xyz \endplumedfile */ diff --git a/src/gridtools/FindSphericalContour.cpp b/src/gridtools/FindSphericalContour.cpp index 018c11dc2e57a17f9b63ad128611ba4869fd91cd..ade04ae7f5d0b529d42751bc6ef4d18d844211e6 100644 --- a/src/gridtools/FindSphericalContour.cpp +++ b/src/gridtools/FindSphericalContour.cpp @@ -83,13 +83,13 @@ the droplet from the surrounding gas. The value of the phase field on this isoc \plumedfile # Calculate coordination numbers -c1: COORDINATIONNUMBER SPECIES=1-512 SWITCH={EXP D_0=4.0 R_0=0.5 D_MAX=6.0} +c1: COORDINATIONNUMBER SPECIES=1-512 SWITCH={EXP D_0=4.0 R_0=0.5 D_MAX=6.0} # Select coordination numbers that are more than 2.0 cf: MFILTER_MORE DATA=c1 SWITCH={RATIONAL D_0=2.0 R_0=0.1} LOWMEM # Build a contact matrix mat: CONTACT_MATRIX ATOMS=cf SWITCH={EXP D_0=4.0 R_0=0.5 D_MAX=6.0} # Find largest cluster -dfs: DFSCLUSTERING MATRIX=mat +dfs: DFSCLUSTERING MATRIX=mat LOWMEM clust1: CLUSTER_PROPERTIES CLUSTERS=dfs CLUSTER=1 # Find center of largest cluster trans1: MTRANSFORM_MORE DATA=clust1 SWITCH={RATIONAL D_0=2.0 R_0=0.1} LOWMEM @@ -97,7 +97,9 @@ cent: CENTER_OF_MULTICOLVAR DATA=trans1 # Calculate the phase field of the coordination dens: MULTICOLVARDENS DATA=trans1 ORIGIN=cent DIR=xyz NBINS=30,30,30 BANDWIDTH=2.0,2.0,2.0 # Find the isocontour around the nucleus -FIND_SPHERICAL_CONTOUR GRID=dens CONTOUR=0.85 INNER_RADIUS=10.0 OUTER_RADIUS=40.0 FILE=mysurface.xyz UNITS=A PRECISION=4 NPOINTS=100 +sc: FIND_SPHERICAL_CONTOUR GRID=dens CONTOUR=0.85 INNER_RADIUS=10.0 OUTER_RADIUS=40.0 NPOINTS=100 +# And print the grid to a file +GRID_TO_XYZ GRID=sc FILE=mysurface.xyz UNITS=A \endplumedfile */ diff --git a/src/mapping/AdaptivePath.cpp b/src/mapping/AdaptivePath.cpp index f140c414f52b82f8e9d5e780bcc542e183ddb9ff..85be6cca6b7b93af2a552873e0af12c2521c9c2d 100644 --- a/src/mapping/AdaptivePath.cpp +++ b/src/mapping/AdaptivePath.cpp @@ -59,19 +59,28 @@ MD based on the data accumulated during the preceding 50 time steps. \plumedfile d1: DISTANCE ATOMS=1,2 COMPONENTS -pp: ADAPTIVE_PATH TYPE=EUCLIDEAN FIXED=5,15 UPDATE=50 WFILE=out-path.pdb WSTRIDE=50 REFERENCE=mypath.pdb +pp: ADAPTIVE_PATH TYPE=EUCLIDEAN FIXED=2,5 UPDATE=50 WFILE=out-path.pdb WSTRIDE=50 REFERENCE=mypath.pdb PRINT ARG=d1.x,d1.y,pp.* FILE=colvar \endplumedfile In the case above the distance between frames is calculated based on the \f$x\f$ and \f$y\f$ components of the vector connecting atoms 1 and 2. As such an extract from the input reference path (mypath.pdb) would look as follows: -\verbatim +\auxfile{mypath.pdb} REMARK ARG=d1.x,d1.y d1.x=1.12 d1.y=-.60 END REMARK ARG=d1.x,d1.y d1.x=.99 d1.y=-.45 END -\endverbatim +REMARK ARG=d1.x,d1.y d1.x=.86 d1.y=-.30 +END +REMARK ARG=d1.x,d1.y d1.x=.73 d1.y=-.15 +END +REMARK ARG=d1.x,d1.y d1.x=.60 d1.y=0 +END +REMARK ARG=d1.x,d1.y d1.x=.47 d1.y=.15 +END + +\endauxfile Notice that one can also use RMSD frames in place of arguments like those above. diff --git a/src/mapping/PCAVars.cpp b/src/mapping/PCAVars.cpp index 224dfb7493b34491f291e9398d00454eefe482dc..3f296100ea9b53100a0d2d29431f1afc93ab1b51 100644 --- a/src/mapping/PCAVars.cpp +++ b/src/mapping/PCAVars.cpp @@ -86,7 +86,8 @@ the matrix \f$A\f$ above. These directions can be specified by specifying a sec be constructed by calculating the displacement of this second configuration from the reference configuration. A pdb input prepared in this way would look as follows: -\verbatim +\auxfile{reference.pdb} +REMARK TYPE=OPTIMAL ATOM 2 CH3 ACE 1 12.932 -14.718 -6.016 1.00 1.00 ATOM 5 C ACE 1 21.312 -9.928 -5.946 1.00 1.00 ATOM 9 CA ALA 2 19.462 -11.088 -8.986 1.00 1.00 @@ -95,6 +96,7 @@ ATOM 15 C ALA 2 19.422 7.978 -14.536 1.00 1.00 ATOM 20 HH31 NME 3 20.122 -9.928 -17.746 1.00 1.00 ATOM 21 HH32 NME 3 18.572 -13.148 -16.346 1.00 1.00 END +REMARK TYPE=OPTIMAL ATOM 2 CH3 ACE 1 13.932 -14.718 -6.016 1.00 1.00 ATOM 5 C ACE 1 20.312 -9.928 -5.946 1.00 1.00 ATOM 9 CA ALA 2 18.462 -11.088 -8.986 1.00 1.00 @@ -103,7 +105,7 @@ ATOM 15 C ALA 2 19.422 7.978 -12.536 1.00 1.00 ATOM 20 HH31 NME 3 20.122 -9.928 -17.746 1.00 1.00 ATOM 21 HH32 NME 3 18.572 -13.148 -16.346 1.00 1.00 END -\endverbatim +\endauxfile Alternatively, the second configuration can specify the components of \f$A\f$ explicitly. In this case you need to include the keyword TYPE=DIRECTION in the remarks to the pdb as shown below. diff --git a/src/mapping/Path.cpp b/src/mapping/Path.cpp index 1a4c3cb9f78cfbf9e203bc7d5b9c998f47960440..56288018cbc8bff4042ef2f0cd438bba6171dcc5 100644 --- a/src/mapping/Path.cpp +++ b/src/mapping/Path.cpp @@ -70,14 +70,33 @@ The values of \f$s\f$ and \f$z\f$ can then be referenced using the gspath and gz \par Examples In the example below the path is defined using RMSD distance from frames. -The reference frames in the path are defined in the pdb file. In this frame -each configuration in the path is separated by a line containing just the word END. \plumedfile p1: PATH REFERENCE=file.pdb TYPE=OPTIMAL LAMBDA=500.0 -PRINT ARG=p1.sss,p1.zzz STRIDE=1 FILE=colvar FMT=%8.4f +PRINT ARG=p1.spath,p1.zpath STRIDE=1 FILE=colvar FMT=%8.4f \endplumedfile +The reference frames in the path are defined in the pdb file shown below. In this frame +each configuration in the path is separated by a line containing just the word END. + +\auxfile{file.pdb} +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 +END +ATOM 1 CL ALA 1 -3.175 0.365 2.024 1.00 1.00 +ATOM 5 CLP ALA 1 -1.814 -0.106 1.685 1.00 1.00 +ATOM 6 OL ALA 1 -1.201 -0.849 2.425 1.00 1.00 +ATOM 7 NL ALA 1 -1.296 0.337 0.534 1.00 1.00 +END +ATOM 1 CL ALA 1 -2.990 0.383 2.277 1.00 1.00 +ATOM 5 CLP ALA 1 -1.664 -0.085 1.831 1.00 1.00 +ATOM 6 OL ALA 1 -0.987 -0.835 2.533 1.00 1.00 +ATOM 7 NL ALA 1 -1.227 0.364 0.646 1.00 1.00 +END +\endauxfile + In the example below the path is defined using the values of two torsional angles (t1 and t2). In addition, the \f$s\f$ and \f$z\f$ are calculated using the geometric expressions described above rather than the algebraic expressions that are used by default. @@ -93,53 +112,18 @@ Notice that the LAMBDA parameter is not required here as we are not calculating using the algebraic formulae defined earlier. The positions of the frames in the path are defined in the file epath.pdb. An extract from this file looks as shown below. -\verbatim +\auxfile{epath.pdb} REMARK ARG=t1,t2 t1=-4.25053 t2=3.88053 END REMARK ARG=t1,t2 t1=-4.11 t2=3.75 END REMARK ARG=t1,t2 t1=-3.96947 t2=3.61947 END -\endverbatim +\endauxfile The remarks in this pdb file tell PLUMED the labels that are being used to define the position in the high dimensional space and the values that these arguments have at each point on the path. -The following input instructs PLUMED to calculate the values of the path collective variables. The frames that make up this -path are defined in the file all.pdb and all distances are measured using the OPTIMAL metric that is discussed in the manual -page on \ref RMSD. - -\plumedfile -p2: PATH REFERENCE=all.pdb LAMBDA=69087 -PRINT ARG=p2.spath,p2.zpath STRIDE=1 FILE=colvar -\endplumedfile - -If you wish to use collective variable values in the definition of your path you would use an input file with something like this: - -\plumedfile -d1: DISTANCE ATOMS=1,2 -d2: DISTANCE ATOMS=3,4a -p2: PATH REFERENCE=mypath.pdb LAMBDA=2 TYPE=EUCLIDEAN -PRINT ARG=p2.spath,p2.zpath STRIDE=1 FILE=colvar -\endplumedfile - -The corresponding pdb file containing the definitions of the frames in the path would then look like this: - -\verbatim -DESCRIPTION: a defintiion of a PATH -REMARK TYPE=EUCLIDEAN -REMARK ARG=d1,d2 -REMARK d1=1.0 d2=1.0 -END -REMARK TYPE=EUCLIDEAN -REMARK ARG=d1,d2 -REMARK d1=2.0 d2=2.0 -END -\endverbatim - -For each frame in the path you must specify the arguments that should be used to calculate the distance between the instantaneous configuration -of the system and the reference configurations together with the values that these arguments take in each of the reference configurations. - */ //+ENDPLUMEDOC diff --git a/src/mapping/PropertyMap.cpp b/src/mapping/PropertyMap.cpp index ac13aad4a192c1ba0499df5504c0135bef8d48b3..0b8e2b87a00838692f5d324b2b100b1dfba9530d 100644 --- a/src/mapping/PropertyMap.cpp +++ b/src/mapping/PropertyMap.cpp @@ -55,7 +55,7 @@ PRINT ARG=p2.X,p2.Y,p2.zpath STRIDE=1 FILE=colvar The additional input file for this calculation, which contains the reference frames and the values of X and Y at these reference points has the following format. -\verbatim +\auxfile{allv.pdb} REMARK X=1 Y=2 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 @@ -87,7 +87,7 @@ ATOM 17 NR ALA 1 1.380 0.537 1.968 1.00 1.00 ATOM 18 HR ALA 1 0.764 -0.060 2.461 1.00 1.00 ATOM 19 CR ALA 1 2.431 1.195 2.683 1.00 1.00 END -\endverbatim +\endauxfile */ //+ENDPLUMEDOC diff --git a/src/multicolvar/Bridge.cpp b/src/multicolvar/Bridge.cpp index e78584427b01317b8f993eeb41240533a8d6af88..2aca9dd880fe32b527366beb98c4f538d193c8d6 100644 --- a/src/multicolvar/Bridge.cpp +++ b/src/multicolvar/Bridge.cpp @@ -52,8 +52,8 @@ that are bridging between atoms 1-10 and atoms 11-20 and to print the value to a file \plumedfile -BRIDGE BRIDGING_ATOMS=100-200 GROUPA=1-10 GROUPB=11-20 LABEL=w1 -PRINT ARG=a1.mean FILE=colvar +w1: BRIDGE BRIDGING_ATOMS=100-200 GROUPA=1-10 GROUPB=11-20 SWITCH={RATIONAL R_0=0.2} +PRINT ARG=w1 FILE=colvar \endplumedfile */ diff --git a/src/multicolvar/CenterOfMultiColvar.cpp b/src/multicolvar/CenterOfMultiColvar.cpp index 5917e8006fb263851456c02f2c83512e86705f99..fe28d03f52c99e714cc2eea8d6f4f85d5bc2a179 100644 --- a/src/multicolvar/CenterOfMultiColvar.cpp +++ b/src/multicolvar/CenterOfMultiColvar.cpp @@ -56,7 +56,7 @@ numbers should have a high weight in the weighted average you are using to calcu You can thus calculate the position of the droplet using an input like the one shown below: \plumedfile -c1: COORDINATIONNUMBER SPECIES=1-512 SWITCH={EXP D_0=4.0 R_0=0.5} +c1: COORDINATIONNUMBER LOWMEM SPECIES=1-512 SWITCH={EXP D_0=4.0 R_0=0.5} cc: CENTER_OF_MULTICOLVAR DATA=c1 \endplumedfile diff --git a/src/multicolvar/Density.cpp b/src/multicolvar/Density.cpp index f45deadec6599b31058469df8461e9c9ab914a5a..e8b9755df3acf0c04ff3c31521e14a9ba6837f2d 100644 --- a/src/multicolvar/Density.cpp +++ b/src/multicolvar/Density.cpp @@ -42,7 +42,7 @@ The following example calculates the number of atoms in one half of the simulati \plumedfile DENSITY SPECIES=1-100 LABEL=d -AROUND ARG=d XLOWER=0.0 XUPPER=0.5 LABEL=d1 +AROUND ATOM=101 DATA=d SIGMA=0.1 XLOWER=0.0 XUPPER=0.5 LABEL=d1 PRINT ARG=d1.* FILE=colvar1 FMT=%8.4f \endplumedfile diff --git a/src/multicolvar/DihedralCorrelation.cpp b/src/multicolvar/DihedralCorrelation.cpp index 65dd6358aaabb757b68bcfed18701c70aed06c56..e5cc7288803c769773127339eb7849f9354c40e0 100644 --- a/src/multicolvar/DihedralCorrelation.cpp +++ b/src/multicolvar/DihedralCorrelation.cpp @@ -67,11 +67,11 @@ about the topology of the protein molecule. This means that you can specify tor \plumedfile MOLINFO MOLTYPE=protein STRUCTURE=myprotein.pdb -DIHCOR ... +dih: DIHCOR ... ATOMS1=@phi-3,@psi-3 ATOMS2=@psi-3,@phi-4 -ATOMS4=@phi-4,@psi-4 -... DIHCOR +ATOMS3=@phi-4,@psi-4 +... PRINT ARG=dih FILE=colvar STRIDE=10 \endplumedfile diff --git a/src/multicolvar/Distances.cpp b/src/multicolvar/Distances.cpp index 6a931c118b0fe8f5fd362fed16f99454115d92ca..5623609471e45801f0052a4d98beb5d52ac2de37 100644 --- a/src/multicolvar/Distances.cpp +++ b/src/multicolvar/Distances.cpp @@ -43,7 +43,7 @@ Calculate the distances between one or many pairs of atoms. You can then calcul The following input tells plumed to calculate the distances between atoms 3 and 5 and between atoms 1 and 2 and to print the minimum for these two distances. \plumedfile -DISTANCES ATOMS1=3,5 ATOMS2=1,2 MIN={BETA=0.1} LABEL=d1 +d1: DISTANCES ATOMS1=3,5 ATOMS2=1,2 MIN={BETA=0.1} PRINT ARG=d1.min \endplumedfile (See also \ref PRINT). @@ -52,15 +52,15 @@ The following input tells plumed to calculate the distances between atoms 3 and and then to calculate the number of these distances that are less than 0.1 nm. The number of distances less than 0.1nm is then printed to a file. \plumedfile -DISTANCES ATOMS1=3,5 ATOMS2=1,2 LABEL=d1 LESS_THAN={RATIONAL R_0=0.1} -PRINT ARG=d1.lt0.1 +d1: DISTANCES ATOMS1=3,5 ATOMS2=1,2 LESS_THAN={RATIONAL R_0=0.1} +PRINT ARG=d1.lessthan \endplumedfile (See also \ref PRINT \ref switchingfunction). The following input tells plumed to calculate all the distances between atoms 1, 2 and 3 (i.e. the distances between atoms 1 and 2, atoms 1 and 3 and atoms 2 and 3). The average of these distances is then calculated. \plumedfile -DISTANCES GROUP=1-3 MEAN LABEL=d1 +d1: DISTANCES GROUP=1-3 MEAN PRINT ARG=d1.mean \endplumedfile (See also \ref PRINT) @@ -69,8 +69,8 @@ The following input tells plumed to calculate all the distances between the atom In other words the distances between atoms 1 and 2 and the distance between atoms 1 and 3. The number of distances more than 0.1 is then printed to a file. \plumedfile -DISTANCES GROUPA=1 GROUPB=2,3 MORE_THAN={RATIONAL R_0=0.1} -PRINT ARG=d1.gt0.1 +d1: DISTANCES GROUPA=1 GROUPB=2,3 MORE_THAN={RATIONAL R_0=0.1} +PRINT ARG=d1.morethan \endplumedfile (See also \ref PRINT \ref switchingfunction) @@ -103,13 +103,13 @@ can calculate the number of distances less than 1.0, the minimum distance, the n 2.0 and the number of distances between 1.0 and 2.0 by using the following command: \plumedfile -DISTANCES ... +d1: DISTANCES ... GROUPA=1-10 GROUPB=11-20 LESS_THAN={RATIONAL R_0=1.0} MORE_THAN={RATIONAL R_0=2.0} BETWEEN={GAUSSIAN LOWER=1.0 UPPER=2.0} MIN={BETA=500.} -... DISTANCES +... PRINT ARG=d1.lessthan,d1.morethan,d1.between,d1.min FILE=colvar STRIDE=10 \endplumedfile (see \ref DISTANCES and \ref PRINT) diff --git a/src/multicolvar/FilterMoreThan.cpp b/src/multicolvar/FilterMoreThan.cpp index 958ff5168dc45110ca2e2733bcc46989a55823b9..cf324540a7574f4d3b628f0929b67e09f1f13e3b 100644 --- a/src/multicolvar/FilterMoreThan.cpp +++ b/src/multicolvar/FilterMoreThan.cpp @@ -116,7 +116,7 @@ to a second coordination number calculation. This second coordination number th two-coordinated atoms that each of the two-coordinated atoms is bound to. \plumedfile -1: COORDINATIONNUMBER SPECIES=1-150 SWITCH={EXP D_0=4.0 R_0=0.5 D_MAX=6.0} +c1: COORDINATIONNUMBER SPECIES=1-150 SWITCH={EXP D_0=4.0 R_0=0.5 D_MAX=6.0} cf: MFILTER_MORE DATA=c1 SWITCH={RATIONAL D_0=2.0 R_0=0.1} LOWMEM c2: COORDINATIONNUMBER SPECIES=cf SWITCH={EXP D_0=4.0 R_0=0.5 D_MAX=6.0} MORE_THAN={RATIONAL D_0=2.0 R_0=0.1} \endplumedfile diff --git a/src/multicolvar/InPlaneDistances.cpp b/src/multicolvar/InPlaneDistances.cpp index 197c24b7875ba11da4cbd341ab51a539564fcccf..d98b315a3b50065ca88a07c11bbcc2cac4c0f05a 100644 --- a/src/multicolvar/InPlaneDistances.cpp +++ b/src/multicolvar/InPlaneDistances.cpp @@ -92,11 +92,10 @@ InPlaneDistances::InPlaneDistances(const ActionOptions&ao): readThreeGroups("GROUP","VECTORSTART","VECTOREND",false,false,all_atoms); setupMultiColvarBase( all_atoms ); + // Setup the multicolvar base + setupMultiColvarBase( all_atoms ); readVesselKeywords(); // Check atoms are OK if( getFullNumberOfTasks()!=getNumberOfAtoms()-2 ) error("you should specify one atom for VECTORSTART and one atom for VECTOREND only"); - - // Setup the multicolvar base - setupMultiColvarBase( all_atoms ); readVesselKeywords(); // And check everything has been read in correctly checkRead(); diff --git a/src/multicolvar/LocalAverage.cpp b/src/multicolvar/LocalAverage.cpp index db52c55ba7a30798380bd9900978ed4a4fe1c318..aceadee9d592270de14ecfef0c8a187dc3ff7cb4 100644 --- a/src/multicolvar/LocalAverage.cpp +++ b/src/multicolvar/LocalAverage.cpp @@ -61,7 +61,7 @@ spherical regions. The number of averaged coordination numbers that are greater \plumedfile COORDINATIONNUMBER SPECIES=1-64 D_0=1.3 R_0=0.2 LABEL=d1 -LOCAL_AVERAGE ARG=d1 SWITCH={RATIONAL D_0=1.3 R_0=0.2} MORE_THAN={RATIONAL R_0=4} LABEL=la +LOCAL_AVERAGE SPECIES=d1 SWITCH={RATIONAL D_0=1.3 R_0=0.2} MORE_THAN={RATIONAL R_0=4} LABEL=la PRINT ARG=la.* FILE=colvar \endplumedfile @@ -71,7 +71,7 @@ quantities that were used in the paper by Lechner and Dellago \cite dellago-q6 \plumedfile Q4 SPECIES=1-64 SWITCH={RATIONAL D_0=1.3 R_0=0.2} LABEL=q4 -LOCAL_AVERAGE ARG=q4 SWITCH={RATIONAL D_0=1.3 R_0=0.2} MEAN LABEL=la +LOCAL_AVERAGE SPECIES=q4 SWITCH={RATIONAL D_0=1.3 R_0=0.2} MEAN LABEL=la PRINT ARG=la.* FILE=colvar \endplumedfile diff --git a/src/multicolvar/NumberOfLinks.cpp b/src/multicolvar/NumberOfLinks.cpp index 833763164b3dfc5ee4ab53a65ee04b6a60048a2c..bd07cc7de507e05e0509902a8dfbe69a53b46340 100644 --- a/src/multicolvar/NumberOfLinks.cpp +++ b/src/multicolvar/NumberOfLinks.cpp @@ -45,7 +45,7 @@ this quantity to a file. \plumedfile DENSITY SPECIES=1-64 LABEL=d1 -NLINKS ARG=d1 SWITCH={RATIONAL D_0=1.3 R_0=0.2} LABEL=dd +NLINKS GROUP=d1 SWITCH={RATIONAL D_0=1.3 R_0=0.2} LABEL=dd PRINT ARG=dd FILE=colvar \endplumedfile @@ -56,7 +56,7 @@ dot product of the Q6 vectors on adjacent atoms to measure whether or not two at \plumedfile Q6 SPECIES=1-64 SWITCH={RATIONAL D_0=1.3 R_0=0.2} LABEL=q6 -NLINKS ARG=q6 SWITCH={RATIONAL D_0=1.3 R_0=0.2} LABEL=dd +NLINKS GROUP=q6 SWITCH={RATIONAL D_0=1.3 R_0=0.2} LABEL=dd PRINT ARG=dd FILE=colvar \endplumedfile diff --git a/src/multicolvar/Torsions.cpp b/src/multicolvar/Torsions.cpp index 360344ddc66e94fc08292a441217c9bed5d9b84b..13889c1a1385a4b8709e5cb27c6f7cb99af1a9f7 100644 --- a/src/multicolvar/Torsions.cpp +++ b/src/multicolvar/Torsions.cpp @@ -45,6 +45,7 @@ TORSIONS ... ATOMS1=168,170,172,188 ATOMS2=170,172,188,190 ATOMS3=188,190,192,230 +BETWEEN={GAUSSIAN LOWER=0 UPPER=pi SMEAR=0.1} LABEL=ab ... TORSIONS PRINT ARG=ab.* FILE=colvar STRIDE=10 @@ -60,9 +61,10 @@ TORSIONS ... ATOMS1=@phi-3 ATOMS2=@psi-3 ATOMS3=@phi-4 +BETWEEN={GAUSSIAN LOWER=0 UPPER=pi SMEAR=0.1} LABEL=ab ... TORSIONS -PRINT ARG=ab FILE=colvar STRIDE=10 +PRINT ARG=ab.* FILE=colvar STRIDE=10 \endplumedfile Here, \@phi-3 tells plumed that you would like to calculate the \f$\phi\f$ angle in the third residue of the protein. diff --git a/src/multicolvar/VolumeAround.cpp b/src/multicolvar/VolumeAround.cpp index bddef4b2e464c9e6500d2ff1d4eb4b5ed337d75d..fd3d7b2322a8970639aa9f2237d42fcc3119998b 100644 --- a/src/multicolvar/VolumeAround.cpp +++ b/src/multicolvar/VolumeAround.cpp @@ -57,7 +57,7 @@ that have x (in fractional coordinates) within 2.0 nm of the com of mass c1. The \plumedfile COM ATOMS=1-100 LABEL=c1 COORDINATIONNUMBER SPECIES=1-100 R_0=1.0 LABEL=c -AROUND DATA=c ORIGIN=c1 XLOWER=-2.0 XUPPER=2.0 SIGMA=0.1 MEAN LABEL=s +AROUND DATA=c ATOM=c1 XLOWER=-2.0 XUPPER=2.0 SIGMA=0.1 MEAN LABEL=s \endplumedfile */ diff --git a/src/multicolvar/VolumeBetweenContours.cpp b/src/multicolvar/VolumeBetweenContours.cpp index edd3d3ef5c6290aa237909ec16d472a2892dc534..8679b9c7b67b4770219862a87ae876a4c5b95d4b 100644 --- a/src/multicolvar/VolumeBetweenContours.cpp +++ b/src/multicolvar/VolumeBetweenContours.cpp @@ -51,7 +51,7 @@ that are specified in the DENSITY action that are within a region where the dens \plumedfile d1: DENSITY SPECIES=14401-74134:3 LOWMEM fi: INENVELOPE DATA=d1 ATOMS=1-14400 CONTOUR={RATIONAL D_0=2.0 R_0=1.0} BANDWIDTH=0.1,0.1,0.1 LOWMEM -PRINT ARG=fi,rr.* FILE=colvar +PRINT ARG=fi FILE=colvar \endplumedfile */ diff --git a/src/multicolvar/VolumeCavity.cpp b/src/multicolvar/VolumeCavity.cpp index 65aaed7eca7bd575e82c6a7d06145fc33baa3037..a09a6b01aafa62efbc7f0689c59429756849eeea 100644 --- a/src/multicolvar/VolumeCavity.cpp +++ b/src/multicolvar/VolumeCavity.cpp @@ -95,7 +95,7 @@ molecules in the protein channel described above. The average coordination numb numbers more than 4 is then calculated. The values of these two quantities are given the labels cav.mean and cav.morethan \plumedfile -d1: COORDINATIONNUMBER SPECIES=20-500 +d1: COORDINATIONNUMBER SPECIES=20-500 R_0=0.1 CAVITY DATA=d1 ATOMS=1,4,5,11 SIGMA=0.1 MEAN MORE_THAN={RATIONAL R_0=4} LABEL=cav \endplumedfile diff --git a/src/multicolvar/VolumeInCylinder.cpp b/src/multicolvar/VolumeInCylinder.cpp index 3c18c238f0c2e38cfdd14abc1f2e37b753370213..c80e753e8838c59e484bfe38e77be2010229f8bc 100644 --- a/src/multicolvar/VolumeInCylinder.cpp +++ b/src/multicolvar/VolumeInCylinder.cpp @@ -60,7 +60,7 @@ of radius 1.5 nm that is centered on the position of atom 101 and that has its l \plumedfile c1: COORDINATIONNUMBER SPECIES=1-100 SWITCH={RATIONAL R_0=0.1} -d2: INCYLINDER ATOM=101 DATA=d1 DIRECTION=Z RADIUS={TANH R_0=1.5} SIGMA=0.1 LOWER=-0.1 UPPER=0.1 MEAN +d2: INCYLINDER ATOM=101 DATA=c1 DIRECTION=Z RADIUS={TANH R_0=1.5} SIGMA=0.1 LOWER=-0.1 UPPER=0.1 MEAN PRINT ARG=d2.* FILE=colvar \endplumedfile diff --git a/src/multicolvar/VolumeInSphere.cpp b/src/multicolvar/VolumeInSphere.cpp index 4f47e8ccd590c8d3158adc6c582d99da38ef1532..44606f81278636553874b718cb3001deaa7067ac 100644 --- a/src/multicolvar/VolumeInSphere.cpp +++ b/src/multicolvar/VolumeInSphere.cpp @@ -59,7 +59,7 @@ of radius 1.5 nm that is centered on the position of atom 101. \plumedfile c1: COORDINATIONNUMBER SPECIES=1-100 SWITCH={RATIONAL R_0=0.1} -d2: INSPHERE ATOM=101 DATA=d1 RADIUS={TANH R_0=1.5} SIGMA=0.1 LOWER=-0.1 UPPER=0.1 MEAN +d2: INSPHERE ATOM=101 DATA=c1 RADIUS={TANH R_0=1.5} MEAN PRINT ARG=d2.* FILE=colvar \endplumedfile diff --git a/src/multicolvar/VolumeTetrapore.cpp b/src/multicolvar/VolumeTetrapore.cpp index 70793a58391a7af7c4ba4b3574cb3b50e74eb544..70b1f02f0507f3f7636305b76803171440a11f4d 100644 --- a/src/multicolvar/VolumeTetrapore.cpp +++ b/src/multicolvar/VolumeTetrapore.cpp @@ -103,7 +103,7 @@ molecules in the tetrahedral cavity described above. The average coordination n numbers more than 4 is then calculated. The values of these two quantities are given the labels cav.mean and cav.morethan \plumedfile -d1: COORDINATIONNUMBER SPECIES=20-500 +d1: COORDINATIONNUMBER SPECIES=20-500 R_0=0.1 CAVITY DATA=d1 ATOMS=1,4,5,11 SIGMA=0.1 MEAN MORE_THAN={RATIONAL R_0=4} LABEL=cav \endplumedfile diff --git a/src/multicolvar/XDistances.cpp b/src/multicolvar/XDistances.cpp index 73c22269e8c88a8477218b3efe801684c9d41ca5..1fdb8ccd25eccd03f03269f9d6ff2845b21244d3 100644 --- a/src/multicolvar/XDistances.cpp +++ b/src/multicolvar/XDistances.cpp @@ -42,7 +42,7 @@ The following input tells plumed to calculate the x-component of the vector conn the x-component of the vector connecting atom 1 to atom 2. The minimum of these two quantities is then printed \plumedfile -XDISTANCES ATOMS1=3,5 ATOMS2=1,2 MIN={BETA=0.1} LABEL=d1 +d1: XDISTANCES ATOMS1=3,5 ATOMS2=1,2 MIN={BETA=0.1} PRINT ARG=d1.min \endplumedfile (See also \ref PRINT). @@ -52,8 +52,8 @@ The following input tells plumed to calculate the x-component of the vector conn the x-component of the vector connecting atom 1 to atom 2. The number of values that are less than 0.1nm is then printed to a file. \plumedfile -XDISTANCES ATOMS1=3,5 ATOMS2=1,2 LABEL=d1 LESS_THAN={RATIONAL R_0=0.1} -PRINT ARG=d1.lt0.1 +d1: XDISTANCES ATOMS1=3,5 ATOMS2=1,2 LESS_THAN={RATIONAL R_0=0.1} +PRINT ARG=d1.lessthan \endplumedfile (See also \ref PRINT \ref switchingfunction). @@ -61,8 +61,8 @@ The following input tells plumed to calculate the x-components of all the distin between atoms 1, 2 and 3 (i.e. the vectors between atoms 1 and 2, atoms 1 and 3 and atoms 2 and 3). The average of these quantities is then calculated. \plumedfile -XDISTANCES GROUP=1-3 AVERAGE LABEL=d1 -PRINT ARG=d1.average +d1: XDISTANCES GROUP=1-3 MEAN +PRINT ARG=d1.mean \endplumedfile (See also \ref PRINT) @@ -70,8 +70,8 @@ The following input tells plumed to calculate all the vectors connecting the the In other words the vector between atoms 1 and 2 and the vector between atoms 1 and 3. The number of values more than 0.1 is then printed to a file. \plumedfile -XDISTANCES GROUPA=1 GROUPB=2,3 MORE_THAN={RATIONAL R_0=0.1} -PRINT ARG=d1.gt0.1 +d1: XDISTANCES GROUPA=1 GROUPB=2,3 MORE_THAN={RATIONAL R_0=0.1} +PRINT ARG=d1.morethan \endplumedfile (See also \ref PRINT \ref switchingfunction) */ @@ -88,7 +88,7 @@ The following input tells plumed to calculate the y-component of the vector conn the y-component of the vector connecting atom 1 to atom 2. The minimum of these two quantities is then printed \plumedfile -YDISTANCES ATOMS1=3,5 ATOMS2=1,2 MIN={BETA=0.1} LABEL=d1 +d1: YDISTANCES ATOMS1=3,5 ATOMS2=1,2 MIN={BETA=0.1} PRINT ARG=d1.min \endplumedfile (See also \ref PRINT). @@ -98,8 +98,8 @@ The following input tells plumed to calculate the y-component of the vector conn the y-component of the vector connecting atom 1 to atom 2. The number of values that are less than 0.1nm is then printed to a file. \plumedfile -YDISTANCES ATOMS1=3,5 ATOMS2=1,2 LABEL=d1 LESS_THAN={RATIONAL R_0=0.1} -PRINT ARG=d1.lt0.1 +d1: YDISTANCES ATOMS1=3,5 ATOMS2=1,2 LESS_THAN={RATIONAL R_0=0.1} +PRINT ARG=d1.lessthan \endplumedfile (See also \ref PRINT \ref switchingfunction). @@ -107,8 +107,8 @@ The following input tells plumed to calculate the y-components of all the distin between atoms 1, 2 and 3 (i.e. the vectors between atoms 1 and 2, atoms 1 and 3 and atoms 2 and 3). The average of these quantities is then calculated. \plumedfile -YDISTANCES GROUP=1-3 AVERAGE LABEL=d1 -PRINT ARG=d1.average +d1: YDISTANCES GROUP=1-3 MEAN +PRINT ARG=d1.mean \endplumedfile (See also \ref PRINT) @@ -116,8 +116,8 @@ The following input tells plumed to calculate all the vectors connecting the the In other words the vector between atoms 1 and 2 and the vector between atoms 1 and 3. The number of values more than 0.1 is then printed to a file. \plumedfile -YDISTANCES GROUPA=1 GROUPB=2,3 MORE_THAN={RATIONAL R_0=0.1} -PRINT ARG=d1.gt0.1 +d1: YDISTANCES GROUPA=1 GROUPB=2,3 MORE_THAN={RATIONAL R_0=0.1} +PRINT ARG=d1.morethan \endplumedfile (See also \ref PRINT \ref switchingfunction) @@ -135,7 +135,7 @@ The following input tells plumed to calculate the z-component of the vector conn the z-component of the vector connecting atom 1 to atom 2. The minimum of these two quantities is then printed \plumedfile -ZDISTANCES ATOMS1=3,5 ATOMS2=1,2 MIN={BETA=0.1} LABEL=d1 +d1: ZDISTANCES ATOMS1=3,5 ATOMS2=1,2 MIN={BETA=0.1} PRINT ARG=d1.min \endplumedfile (See also \ref PRINT). @@ -145,8 +145,8 @@ The following input tells plumed to calculate the z-component of the vector conn the z-component of the vector connecting atom 1 to atom 2. The number of values that are less than 0.1nm is then printed to a file. \plumedfile -ZDISTANCES ATOMS1=3,5 ATOMS2=1,2 LABEL=d1 LESS_THAN={RATIONAL R_0=0.1} -PRINT ARG=d1.lt0.1 +d1: ZDISTANCES ATOMS1=3,5 ATOMS2=1,2 LESS_THAN={RATIONAL R_0=0.1} +PRINT ARG=d1.lessthan \endplumedfile (See also \ref PRINT \ref switchingfunction). @@ -154,8 +154,8 @@ The following input tells plumed to calculate the z-components of all the distin between atoms 1, 2 and 3 (i.e. the vectors between atoms 1 and 2, atoms 1 and 3 and atoms 2 and 3). The average of these quantities is then calculated. \plumedfile -ZDISTANCES GROUP=1-3 AVERAGE LABEL=d1 -PRINT ARG=d1.average +d1: ZDISTANCES GROUP=1-3 MEAN +PRINT ARG=d1.mean \endplumedfile (See also \ref PRINT) @@ -163,8 +163,8 @@ The following input tells plumed to calculate all the vectors connecting the the In other words the vector between atoms 1 and 2 and the vector between atoms 1 and 3. The number of values more than 0.1 is then printed to a file. \plumedfile -ZDISTANCES GROUPA=1 GROUPB=2,3 MORE_THAN={RATIONAL R_0=0.1} -PRINT ARG=d1.gt0.1 +d1: ZDISTANCES GROUPA=1 GROUPB=2,3 MORE_THAN={RATIONAL R_0=0.1} +PRINT ARG=d1.morethan \endplumedfile (See also \ref PRINT \ref switchingfunction) diff --git a/src/multicolvar/XYDistances.cpp b/src/multicolvar/XYDistances.cpp index f41f4c4db576d233e1d2a5e52a22202acd783619..d05ca33e484de337c6a4db7790be43e8458359e5 100644 --- a/src/multicolvar/XYDistances.cpp +++ b/src/multicolvar/XYDistances.cpp @@ -44,7 +44,7 @@ to atom 5 projected in the xy-plane and the projection of the length of the vect the vector connecting atom 1 to atom 2 in the xy-plane. The minimum of these two quantities is then printed \plumedfile -XYDISTANCES ATOMS1=3,5 ATOMS2=1,2 MIN={BETA=0.1} LABEL=d1 +d1: XYDISTANCES ATOMS1=3,5 ATOMS2=1,2 MIN={BETA=0.1} PRINT ARG=d1.min \endplumedfile (See also \ref PRINT). @@ -66,7 +66,7 @@ to atom 5 projected in the xz-plane and the projection of the length of the vect the vector connecting atom 1 to atom 2 in the xz-plane. The minimum of these two quantities is then printed \plumedfile -XZDISTANCES ATOMS1=3,5 ATOMS2=1,2 MIN={BETA=0.1} LABEL=d1 +d1: XZDISTANCES ATOMS1=3,5 ATOMS2=1,2 MIN={BETA=0.1} PRINT ARG=d1.min \endplumedfile (See also \ref PRINT). @@ -88,7 +88,7 @@ to atom 5 in the yz-plane and the projection of the length of the vector the vector connecting atom 1 to atom 2 in the yz-plane. The minimum of these two quantities is then printed \plumedfile -YZDISTANCES ATOMS1=3,5 ATOMS2=1,2 MIN={BETA=0.1} LABEL=d1 +d1: YZDISTANCES ATOMS1=3,5 ATOMS2=1,2 MIN={BETA=0.1} PRINT ARG=d1.min \endplumedfile (See also \ref PRINT). diff --git a/src/multicolvar/XYTorsion.cpp b/src/multicolvar/XYTorsion.cpp index 714e75f62f24488223573ee55d17fa9d12c9758e..9f3bfdee338e1e9c2e6bb6586667ca994dabe9c6 100644 --- a/src/multicolvar/XYTorsion.cpp +++ b/src/multicolvar/XYTorsion.cpp @@ -42,8 +42,8 @@ Calculate the torsional angle around the x axis from the positive y direction. The following input tells plumed to calculate the angle around the x direction between the positive y-axis and the vector connecting atom 3 to atom 5 and the angle around the x direction between the positive y axis and the vector connecting atom 1 to atom 2. The minimum of these two quantities is then output \plumedfile -XYTORSIONS ATOMS1=3,5 ATOMS2=1,2 MIN={BETA=0.1} LABEL=d1 -PRINT ARG=d1.min +d1: XYTORSIONS ATOMS1=3,5 ATOMS2=1,2 BETWEEN={GAUSSIAN LOWER=0 UPPER=pi SMEAR=0.1} +PRINT ARG=d1.between \endplumedfile (See also \ref PRINT). */ @@ -58,8 +58,8 @@ Calculate the torsional angle around the x axis from the positive z direction. The following input tells plumed to calculate the angle around the x direction between the positive z-axis and the vector connecting atom 3 to atom 5 and the angle around the x direction between the positive z direction and the vector connecting atom 1 to atom 2. The minimum of these two quantities is then output \plumedfile -XZTORSIONS ATOMS1=3,5 ATOMS2=1,2 MIN={BETA=0.1} LABEL=d1 -PRINT ARG=d1.min +d1: XZTORSIONS ATOMS1=3,5 ATOMS2=1,2 BETWEEN={GAUSSIAN LOWER=0 UPPER=pi SMEAR=0.1} +PRINT ARG=d1.* \endplumedfile (See also \ref PRINT). */ @@ -74,8 +74,8 @@ Calculate the torsional angle around the y axis from the positive x direction. The following input tells plumed to calculate the angle around the y direction between the positive x-direction and the vector connecting atom 3 to atom 5 and the angle around the y direction between the positive x axis and the vector connecting atom 1 to atom 2. The minimum of these two quantities is then output \plumedfile -YXTORSIONS ATOMS1=3,5 ATOMS2=1,2 MIN={BETA=0.1} LABEL=d1 -PRINT ARG=d1.min +d1: YXTORSIONS ATOMS1=3,5 ATOMS2=1,2 BETWEEN={GAUSSIAN LOWER=0 UPPER=pi SMEAR=0.1} +PRINT ARG=d1.* \endplumedfile (See also \ref PRINT). */ @@ -90,8 +90,8 @@ Calculate the torsional angle around the y axis from the positive z direction. The following input tells plumed to calculate the angle around the y direction between the positive z-direction and the vector connecting atom 3 to atom 5 and the angle around the y direction between the positive z direction and the vector connecting atom 1 to atom 2. The minimum of these two quantities is then output \plumedfile -YZTORSIONS ATOMS1=3,5 ATOMS2=1,2 MIN={BETA=0.1} LABEL=d1 -PRINT ARG=d1.min +d1: YZTORSIONS ATOMS1=3,5 ATOMS2=1,2 BETWEEN={GAUSSIAN LOWER=0 UPPER=pi SMEAR=0.1} +PRINT ARG=d1.* \endplumedfile (See also \ref PRINT). */ @@ -106,8 +106,8 @@ Calculate the torsional angle around the z axis from the positive x direction. The following input tells plumed to calculate the angle around the z direction between the positive x-direction and the vector connecting atom 3 to atom 5 and the angle around the z direction between the positive x-direction and the vector connecting atom 1 to atom 2. The minimum of these two quantities is then output \plumedfile -ZXTORSIONS ATOMS1=3,5 ATOMS2=1,2 MIN={BETA=0.1} LABEL=d1 -PRINT ARG=d1.min +d1: ZXTORSIONS ATOMS1=3,5 ATOMS2=1,2 BETWEEN={GAUSSIAN LOWER=0 UPPER=pi SMEAR=0.1} +PRINT ARG=d1.* \endplumedfile (See also \ref PRINT). */ @@ -122,8 +122,8 @@ Calculate the torsional angle around the z axis from the positive y direction. The following input tells plumed to calculate the angle around the z direction between the positive y-axis and the vector connecting atom 3 to atom 5 and the angle around the z direction between the positive y axis and the vector connecting atom 1 to atom 2. The minimum of these two quantities is then output \plumedfile -ZYTORSIONS ATOMS1=3,5 ATOMS2=1,2 MIN={BETA=0.1} LABEL=d1 -PRINT ARG=d1.min +d1: ZYTORSIONS ATOMS1=3,5 ATOMS2=1,2 BETWEEN={GAUSSIAN LOWER=0 UPPER=pi SMEAR=0.1} +PRINT ARG=d1.* \endplumedfile (See also \ref PRINT). */ diff --git a/src/vatom/FixedAtom.cpp b/src/vatom/FixedAtom.cpp index 0d4707eb37fa4907deff00346e9198342de9acda..0b5ea2c2df1c7cff2622f87d13a6be2720216464 100644 --- a/src/vatom/FixedAtom.cpp +++ b/src/vatom/FixedAtom.cpp @@ -58,8 +58,8 @@ an: ANGLE ATOMS=a,b,15,20 RESTRAINT ARG=an AT=0.0 KAPPA=100.0 \endplumedfile -The following input instructs plumed to align a protein on a template -and then compute the distance of one of its atom from the point +The following input instructs plumed to align a protein to a template +and to then compute the distance between one of the atoms in the protein and the point (10,20,30). \plumedfile FIT_TO_TEMPLATE STRIDE=1 REFERENCE=ref.pdb TYPE=SIMPLE @@ -68,6 +68,17 @@ d: DISTANCE ATOMS=a,20 PRINT ARG=d FILE=colvar \endplumedfile +The reference structure to align to is provided in a pdb file called ref.pdb as shown below: + +\auxfile{ref.pdb} +ATOM 8 HT3 ALA 2 -1.480 -1.560 1.212 1.00 1.00 DIA H +ATOM 9 CAY ALA 2 -0.096 2.144 -0.669 1.00 1.00 DIA C +ATOM 10 HY1 ALA 2 0.871 2.385 -0.588 1.00 1.00 DIA H +ATOM 12 HY3 ALA 2 -0.520 2.679 -1.400 1.00 1.00 DIA H +ATOM 14 OY ALA 2 -1.139 0.931 -0.973 1.00 1.00 DIA O +END +\endauxfile + */ //+ENDPLUMEDOC diff --git a/src/ves/Opt_BachAveragedSGD.cpp b/src/ves/Opt_BachAveragedSGD.cpp index 57757f54595c761c16a39019aace765c901fc4f7..99e489bd6ab195ed0b0c4c7ba4706115e4d77e4d 100644 --- a/src/ves/Opt_BachAveragedSGD.cpp +++ b/src/ves/Opt_BachAveragedSGD.cpp @@ -138,7 +138,7 @@ is updated every 500 iterations (e.g. every 1000 ps). The target distribution is also output to a file every 2000 iterations (the TARGETDIST_OUTPUT keyword). Here we also employ MULTIPLE_WALKERS flag to enable the usage of multiple walkers. -\plumedfile +\plumedmultireplicasfile{2} phi: TORSION ATOMS=5,7,9,15 psi: TORSION ATOMS=7,9,15,17 @@ -172,7 +172,7 @@ OPT_AVERAGED_SGD ... TARGETDIST_STRIDE=500 TARGETDIST_OUTPUT=2000 ... OPT_AVERAGED_SGD -\endplumedfile +\endplumedmultireplicasfile diff --git a/src/ves/TD_Custom.cpp b/src/ves/TD_Custom.cpp index 949e6d8f0dc0bc9331f6a1773fafc7f35cc2e9f8..0845d3b03696bd212b0902c67408dcbba34352cd 100644 --- a/src/ves/TD_Custom.cpp +++ b/src/ves/TD_Custom.cpp @@ -104,7 +104,7 @@ variable. It is also possible to use the \f$k_B T\f$ variable. The following syntax will give the exact same results as the syntax above \plumedfile TD_CUSTOM ... - FUNCTION=exp(-(1.0/(kBT*10.0))*FE)} + FUNCTION=exp(-(1.0/(kBT*10.0))*FE) LABEL=td ... TD_CUSTOM \endplumedfile diff --git a/src/ves/TD_Grid.cpp b/src/ves/TD_Grid.cpp index 97ba49457bb4623a1f304b8b2dc896f59673cb04..2c9f023fffc884961f7bf2dc0bf29aad7b00dcdf 100644 --- a/src/ves/TD_Grid.cpp +++ b/src/ves/TD_Grid.cpp @@ -78,6 +78,24 @@ file. td: TD_GRID FILE=input-grid.data \endplumedfile +The input grid is then specified using the usual format employed by PLUMED an example of which +is shown below: + +\auxfile{input-grid.data} +#! FIELDS d1 external.bias der_d1 +#! SET min_d1 1.14 +#! SET max_d1 1.32 +#! SET nbins_d1 6 +#! SET periodic_d1 false + 1.1400 0.0031 0.1101 + 1.1700 0.0086 0.2842 + 1.2000 0.0222 0.6648 + 1.2300 0.0521 1.4068 + 1.2600 0.1120 2.6873 + 1.2900 0.2199 4.6183 + 1.3200 0.3948 7.1055 +\endauxfile + */ //+ENDPLUMEDOC diff --git a/src/ves/TD_LinearCombination.cpp b/src/ves/TD_LinearCombination.cpp index 40f45416333cfc6be2411db8c4a92072721d113d..1ace9a5226fbfe82f620248a6caef227a70146e2 100644 --- a/src/ves/TD_LinearCombination.cpp +++ b/src/ves/TD_LinearCombination.cpp @@ -75,7 +75,7 @@ td_uni: TD_UNIFORM td_gauss: TD_GAUSSIAN CENTER1=-2.0 SIGMA1=0.5 -td_comb: TD_LINEAR_COMBINATION DISTRIBUTIONS=td_uniform,td_gaussian +td_comb: TD_LINEAR_COMBINATION DISTRIBUTIONS=td_uni,td_gauss \endplumedfile Here we employ a linear combination of a uniform and two Gaussian distribution. diff --git a/src/ves/TD_ProductDistribution.cpp b/src/ves/TD_ProductDistribution.cpp index 254b581739a5cfed2b0227a97c66628f53600d82..1310d84ac54520e336e15655332d4a63409511d5 100644 --- a/src/ves/TD_ProductDistribution.cpp +++ b/src/ves/TD_ProductDistribution.cpp @@ -69,7 +69,7 @@ argument 1 and a Gaussian distribution for argument 2. \plumedfile target_uniform: TD_UNIFORM -target_Gaussian: TD_GAUSSIAN CENTER=-2.0 SIGMA=0.5 +target_Gaussian: TD_GAUSSIAN CENTER1=-2.0 SIGMA1=0.5 td_pd: TD_PRODUCT_DISTRIBUTION DISTRIBUTIONS=target_uniform,target_Gaussian \endplumedfile diff --git a/src/ves/TD_Uniform.cpp b/src/ves/TD_Uniform.cpp index 3c0ccebbb4cdd83278a3f6318b1df30831e7799b..9fa9a568b774f2ad46e6e4abd0667135019e59f8 100644 --- a/src/ves/TD_Uniform.cpp +++ b/src/ves/TD_Uniform.cpp @@ -113,7 +113,7 @@ td: TD_UNIFORM \endplumedfile \plumedfile TD_UNIFORM ... - MINIMA=0.0,0,2 + MINIMA=0.0,0.2 MAXIMA=10.0,1.0 LABEL=td ... TD_UNIFORM diff --git a/user-doc/Analysis.md b/user-doc/Analysis.md index b3b602218fcdef4470c05b8226bd077f708c566f..2a45985ec126c5ddb06236ab64b6ac877763f25a 100644 --- a/user-doc/Analysis.md +++ b/user-doc/Analysis.md @@ -171,10 +171,13 @@ that are available in PLUMED are as follows In general most of these landmark selection algorithms must be used in tandem with a \ref dissimilaritym "dissimilarity matrix" object as as follows: \plumedfile -data: COLLECT_FRAMES ARG=d1 STRIDE=1 +d1: DISTANCE ATOMS=1,2 +d2: DISTANCE ATOMS=3,4 +d3: DISTANCE ATOMS=5,6 +data: COLLECT_FRAMES ARG=d1,d2,d3 STRIDE=1 ss1: EUCLIDEAN_DISSIMILARITIES USE_OUTPUT_DATA_FROM=data ll2: LANDMARK_SELECT_FPS USE_OUTPUT_DATA_FROM=ss1 NLANDMARKS=300 -OUTPUT_COLVAR_FILE USE_OUTPUT_DATA_FROM=ll2 FILE=mylandmarks +OUTPUT_ANALYSIS_DATA_TO_COLVAR USE_OUTPUT_DATA_FROM=ll2 FILE=mylandmarks \endplumedfile When landmark selection is performed in this way a weight is ascribed to each of the landmark configurations. This weight is @@ -208,7 +211,10 @@ the following <a href="https://www.youtube.com/watch?v=ofC2qz0_9_A&feature=youtu Within PLUMED running an input to run a dimensionality reduction algorithm can be as simple as: \plumedfile -data: COLLECT_FRAMES STRIDE=1 ARG=d1 +d1: DISTANCE ATOMS=1,2 +d2: DISTANCE ATOMS=3,4 +d3: DISTANCE ATOMS=5,6 +data: COLLECT_FRAMES STRIDE=1 ARG=d1,d2,d3 ss1: EUCLIDEAN_DISSIMILARITIES USE_OUTPUT_DATA_FROM=data mds: CLASSICAL_MDS USE_OUTPUT_DATA_FROM=ss1 NLOW_DIM=2 \endplumedfile @@ -217,11 +223,14 @@ Where we have to use the \ref EUCLIDEAN_DISSIMILARITIES action here in order to We can even throw some landmark selection into this procedure and perform \plumedfile -data: COLLECT_FRAMES STRIDE=1 ARG=d1 +d1: DISTANCE ATOMS=1,2 +d2: DISTANCE ATOMS=3,4 +d3: DISTANCE ATOMS=5,6 +data: COLLECT_FRAMES STRIDE=1 ARG=d1,d2,d3 matrix: EUCLIDEAN_DISSIMILARITIES USE_OUTPUT_DATA_FROM=data ll2: LANDMARK_SELECT_FPS USE_OUTPUT_DATA_FROM=matrix NLANDMARKS=300 mds: CLASSICAL_MDS USE_OUTPUT_DATA_FROM=ll2 NLOW_DIM=2 -osample: PROJECT_ALL_ANALYSIS_DATA USE_OUTPUT_DATA_FROM=matrix PROJECTION=smap +osample: PROJECT_ALL_ANALYSIS_DATA USE_OUTPUT_DATA_FROM=matrix PROJECTION=mds \endplumedfile Notice here that the final command allows us to calculate the projections of all the non-landmark points that were collected by the action with diff --git a/user-doc/Files.md b/user-doc/Files.md index 78e8254a8e1617237856cb30b2c42b009e31989a..b2cc353cb3e18cfeeba8afcf9fb0be5afb6d5a75 100644 --- a/user-doc/Files.md +++ b/user-doc/Files.md @@ -54,7 +54,7 @@ This means that using in a multi-replica context an input such as \plumedfile d: DISTANCE ATOMS=1,2 PRINT ARG=d FILE=COLVAR.gz -METAD ARG=d FILE=test.HILLS SIGMA=0.1 HEIGHT=0.1 +METAD ARG=d FILE=test.HILLS SIGMA=0.1 HEIGHT=0.1 PACE=100 \endplumedfile PLUMED will write files named COLVAR.0.gz, COLVAR.1.gz, test.0.HILLS, test.1.HILLS, etc etc. This is useful since the preserved extension makes it easy diff --git a/user-doc/Miscelaneous.md b/user-doc/Miscelaneous.md index d53c840e2f675a81e2c1fd554f2bffd73e9758a2..9978e59f129208f60bf1a761cc9a4765395cdb90 100644 --- a/user-doc/Miscelaneous.md +++ b/user-doc/Miscelaneous.md @@ -471,13 +471,14 @@ RESTRAINT ARG=dist could be split up into two files as shown below: \plumedfile -DISTANCE ATOMS=0,1 LABEL=dist -INCLUDE FILE=toBeIncluded.dat -\endplumedfile -plus a "toBeIncluded.dat" file -\plumedfile -RESTRAINT ARG=dist +DISTANCE ATOMS=1,2 LABEL=dist +INCLUDE FILE=toBeIncluded.inc \endplumedfile +plus a "toBeIncluded.inc" file +\plumedincludefile +# this is toBeIncluded.inc +RESTRAINT ARG=dist AT=2.0 KAPPA=1.0 +\endplumedincludefile However, when you do this it is important to recognize that \ref INCLUDE is a real directive that is only resolved after all the \ref comments have been stripped and the \ref ContinuationLines have been unrolled. This means it @@ -529,7 +530,7 @@ file with common definitions and specific input files with replica-dependent key However, as of PLUMED 2.4, we introduced a simpler manner to manipulate multiple replica inputs with tiny differences. Look at the following example: -\plumedfile +\plumedmultireplicafile{3} # Compute a distance d: DISTANCE ATOMS=1,2 @@ -541,7 +542,7 @@ RESTRAINT ARG=d AT=@replicas:1.0,1.1,1.2 KAPPA=1.0 # RESTRAINT ARG=d AT=1.1 KAPPA=1.0 # On replica 2, this means: # RESTRAINT ARG=d AT=1.2 KAPPA=1.0 -\endplumedfile +\endplumedmultireplicafile If you prepare a single `plumed.dat` file like this one and feeds it to PLUMED while using 3 replicas, the 3 replicas will see the very same input except for the `AT` keyword, that sets the position of the restraint. @@ -549,7 +550,7 @@ Replica 0 will see a restraint centered at 1.0, replica 1 centered at 1.1, and r The `@replicas:` keyword is not special for \ref RESTRAINT or for the `AT` keyword. Any keyword in PLUMED can accept that syntax. For instance, the following single input file can be used to setup a bias exchange metadynamics \cite piana simulations: -\plumedfile +\plumedmultireplicafile{2} # Compute distance between atoms 1 and 2 d: DISTANCE ATOMS=1,2 @@ -569,7 +570,7 @@ METAD ... # METAD ARG=d HEIGHT=1.0 PACE=100 SIGMA=0.1 GRID_MIN=0.0 GRID_MAX=2.0 # On replica 1, this means: # METAD ARG=t HEIGHT=1.0 PACE=100 SIGMA=0.3 GRID_MIN=-pi GRID_MAX=+pi -\endplumedfile +\endplumedmultireplicafile This would be a typical setup for a bias exchange simulation. Notice that even though variables `d` and `t` are both read in both replicas, @@ -579,7 +580,7 @@ This is because variables that are defined but not used are never actually calcu If the value that should be provided for each replica is a vector, you should use curly braces as delimiters. For instance, if the restraint acts on two variables, you can use the following input: -\plumedfile +\plumedmultireplicafile{3} # Compute distance between atoms 1 and 2 d: DISTANCE ATOMS=10,20 @@ -598,13 +599,13 @@ RESTRAINT ... # RESTRAINT ARG=d AT=3.0,4.0 KAPPA=1.0,3.0 # On replica 2 this means: # RESTRAINT ARG=d AT=5.0,6.0 KAPPA=1.0,3.0 -\endplumedfile +\endplumedmultireplicafile Notice the double curly braces. The outer ones are used by PLUMED to know there the argument of the `AT` keyword ends, whereas the inner ones are used to group the values corresponding to each replica. Also notice that the last example can be split in multiple lines exploiting the fact that within multi-line statements (enclosed by pairs of `...`) newlines are replaced with simple spaces: -\plumedfile +\plumedmultireplicafile{3} d: DISTANCE ATOMS=10,20 t: TORSION ATOMS=30,31,32,33 RESTRAINT ... @@ -616,9 +617,9 @@ RESTRAINT ... {3.0,4.0} {5.0,6.0} } - KAPPA=1.0 + KAPPA=1.0,3.0 ... -\endplumedfile +\endplumedmultireplicafile In short, whenever there are keywords that should vary across replicas, you should set them using the `@replicas:` keyword. As mentioned above, you can always use the old syntax with separate input file, and this is recommended when the diff --git a/user-doc/Performances.md b/user-doc/Performances.md index 20c0fb984e83094b599ebe3b7e932c1dda095605..e9ff663bb3f144a219065de5e63658ee40b94d28 100644 --- a/user-doc/Performances.md +++ b/user-doc/Performances.md @@ -274,12 +274,10 @@ make install You are done! In some case using a custom expression is almost as fast as using a hard-coded -function. For instance, with an input like this one: +function. For instance, with an input that contained the following lines: \plumedfile -... c: COORDINATION GROUPA=1-108 GROUPB=1-108 R_0=1 d_fast: COORDINATION GROUPA=1-108 GROUPB=1-108 SWITCH={CUSTOM FUNC=1/(1+x2^3) R_0=1} -... \endplumedfile I (GB) obtained the following timings (on a Macbook laptop): \verbatim diff --git a/user-doc/tutorials/a-trieste-1.txt b/user-doc/tutorials/a-trieste-1.txt index 0b20d690aba6fc5fe0ce5c967d5621bddaabb314..9f1b376503e6b97c4e80342646f813b4b18641b8 100644 --- a/user-doc/tutorials/a-trieste-1.txt +++ b/user-doc/tutorials/a-trieste-1.txt @@ -263,7 +263,7 @@ d2: DISTANCE ATOMS=1,3 d3: DISTANCE ATOMS=1,4 # Compute the sum of the squares of those three distances: -c: COMBINE ARG=d1,d2,d3 POWERS=2 PERIODIC=NO +c: COMBINE ARG=d1,d2,d3 POWERS=2,2,2 PERIODIC=NO # Sort the three distances: s: SORT ARG=d1,d2,d3 diff --git a/user-doc/tutorials/a-trieste-2.txt b/user-doc/tutorials/a-trieste-2.txt index 51e4bc0d5d74b91881d5a8c10a2330800f376f92..2ec2322025cd85247b1a363f278932276495c5a8 100644 --- a/user-doc/tutorials/a-trieste-2.txt +++ b/user-doc/tutorials/a-trieste-2.txt @@ -105,7 +105,17 @@ Copy the contents of the box above to a plain text file called generate_data.py, > python generate_data.py > my_data \endverbatim -This will generate a file called my_data that contains 10001 uniform random variables. PLUMED will ignore the first number in the colvar file as it assumes +This will generate a file called my_data that contains 10001 uniform random variables. The first few lines of this file should look something like this: + +\auxfile{my_data} +#! FIELDS time rand +0 0.7880696770414992 +1 0.6384371499082688 +2 0.01373858851099563 +3 0.30879241147755776 +\endauxfile + +PLUMED will ignore the first number in the colvar file as it assumes this is the initial configuration you provided for the trajectory. The sample mean will thus be calculated from 10000 random variables. Plot this data now using gnuplot and the command: @@ -322,6 +332,16 @@ Copy the script above to a file called gen-normal.py and then execute the python > python gen-normal.py > mynormal \endverbatim +This should produce a file called mynormal. The first few lines of this file will look something like the following: + +\auxfile{mynormal} +#! FIELDS time rand +0 0.7216627600374712 +1 0.7460765782434674 +2 0.7753011891527442 +3 0.5643419178297695 +\endauxfile + <b> Use what you have learned from the exercises above to estimate the ensemble average from these generated data points using PLUMED. If you want you can use block averaging but it does not matter if you do it by just considering all the data in the input file. What would you expect the ensemble average @@ -431,6 +451,15 @@ Copy the python script above to a filled called correlated-data.py and then exec > python correlated-data.py > mycorr \endverbatim +This should output a file called mycorr. The first few lines of this file should look something like the following: + +\auxfile{mycorr} +#! FIELDS time rand +0 0.17818391042061332 +1 0.33368077871483476 +2 0.0834749323925259 +\endauxfile + The autocorrelation function, \f$R(\tau)\f$ provides a simple method for determining whether or not there are correlations between the random variables, \f$X\f$, in our time series. This function is defined as follows: @@ -456,7 +485,7 @@ the analysis with PLUMED and explain the results that we get at each stage of th distribution using the following PLUMED input: \plumedfile -data: READ FILE=my_data VALUES=rand +data: READ FILE=mycorr VALUES=rand av5: AVERAGE ARG=data STRIDE=1 CLEAR=5 PRINT ARG=av5 FILE=colvar5 STRIDE=5 av10: AVERAGE ARG=data STRIDE=1 CLEAR=10 @@ -589,7 +618,17 @@ Copy this script to a filled called do-monte-carlo.py and execute the contents o \endverbatim This will run a short Monte Carlo simulation that generates (time-correlated) random data from a (roughly) Gaussian distribution by attempting -random translational moves of up to 0.1 units. An autocorrelation function that was calculated +random translational moves of up to 0.1 units. The command above will generate a file called mcdata the first few lines of which should look +somethign like the following: + +\auxfile{mcdata} +#! FIELDS time rand +0 0.17818391042061332 +1 0.33368077871483476 +2 0.0834749323925259 +\endauxfile + +An autocorrelation function that was calculated using data generated using this script is shown below. You can clearly see from this figure that there are correlations between the adjacent data points in the time series and that we have to do block averaging as a result. diff --git a/user-doc/tutorials/a-trieste-5.txt b/user-doc/tutorials/a-trieste-5.txt index 445f3b94f22c7d9ee6b99b0e1fe0aff82fc68d4c..086f3c2fa00e8c51f8eb80032584ad8c85f45c37 100644 --- a/user-doc/tutorials/a-trieste-5.txt +++ b/user-doc/tutorials/a-trieste-5.txt @@ -103,7 +103,7 @@ file with common definitions and specific input files with replica-dependent key However, as of PLUMED 2.4, we introduced a simpler manner to manipulate multiple replica inputs with tiny differences. Look at the following example: -\plumedfile +\plumedmultiplereplicasfile{3} # Compute a distance d: DISTANCE ATOMS=1,2 @@ -115,7 +115,7 @@ RESTRAINT ARG=d AT=@replicas:1.0,1.1,1.2 KAPPA=1.0 # RESTRAINT ARG=d AT=1.1 KAPPA=1.0 # On replica 2, this means: # RESTRAINT ARG=d AT=1.2 KAPPA=1.0 -\endplumedfile +\endplumedmultiplereplicasfile If you prepare a single `plumed.dat` file like this one and feeds it to PLUMED while using 3 replicas, the 3 replicas will see the very same input except for the `AT` keyword, that sets the position of the restraint. @@ -123,7 +123,7 @@ Replica 0 will see a restraint centered at 1.0, replica 1 centered at 1.1, and r The `@replicas:` keyword is not special for \ref RESTRAINT or for the `AT` keyword. Any keyword in PLUMED can accept that syntax. For instance, the following single input file can be used to setup a bias exchange metadynamics \cite piana simulations: -\plumedfile +\plumedmultiplereplicasfile{2} # Compute distance between atoms 1 and 2 d: DISTANCE ATOMS=1,2 @@ -143,7 +143,7 @@ METAD ... # METAD ARG=d HEIGHT=1.0 PACE=100 SIGMA=0.1 GRID_MIN=0.0 GRID_MAX=2.0 # On replica 1, this means: # METAD ARG=t HEIGHT=1.0 PACE=100 SIGMA=0.3 GRID_MIN=-pi GRID_MAX=+pi -\endplumedfile +\endplumedmultiplereplicasfile This would be a typical setup for a bias exchange simulation. Notice that even though variables `d` and `t` are both read in both replicas, @@ -153,7 +153,7 @@ This is because variables that are defined but not used are never actually calcu If the value that should be provided for each replica is a vector, you should use curly braces as delimiters. For instance, if the restraint acts on two variables, you can use the following input: -\plumedfile +\plumedmultiplereplicasfile{3} # Compute distance between atoms 1 and 2 d: DISTANCE ATOMS=10,20 @@ -172,13 +172,13 @@ RESTRAINT ... # RESTRAINT ARG=d AT=3.0,4.0 KAPPA=1.0,3.0 # On replica 2 this means: # RESTRAINT ARG=d AT=5.0,6.0 KAPPA=1.0,3.0 -\endplumedfile +\endplumedmultiplereplicasfile Notice the double curly braces. The outer ones are used by PLUMED to know there the argument of the `AT` keyword ends, whereas the inner ones are used to group the values corresponding to each replica. Also notice that the last example can be split in multiple lines exploiting the fact that within multi-line statements (enclosed by pairs of `...`) newlines are replaced with simple spaces: -\plumedfile +\plumedmultiplereplicasfile{3} d: DISTANCE ATOMS=10,20 t: TORSION ATOMS=30,31,32,33 RESTRAINT ... @@ -192,7 +192,7 @@ RESTRAINT ... } KAPPA=1.0 ... -\endplumedfile +\endplumedmultiplereplicasfile In short, whenever there are keywords that should vary across replicas, you should set them using the `@replicas:` keyword. As mentioned above, you can always use the old syntax with separate input file, and this is recommended when the diff --git a/user-doc/tutorials/munster.txt b/user-doc/tutorials/munster.txt index a5fc91061850f8a1f59b9227ab15078dba3b5aa7..bef53426ee78e2217490e478c780a080754f9e2a 100644 --- a/user-doc/tutorials/munster.txt +++ b/user-doc/tutorials/munster.txt @@ -248,7 +248,7 @@ the atomic positions. This is a very good way to understand what \ref WHOLEMOLEC is actually doing. Try the following input \plumedfile -MOLINFO STRUCTURE=../TOPO/reference.pdb +MOLINFO STRUCTURE=reference.pdb DUMPATOMS FILE=test1.gro ATOMS=1-22 WHOLEMOLECULES ENTITY0=1-22 DUMPATOMS FILE=test2.gro ATOMS=1-22 @@ -279,15 +279,14 @@ psi: TORSION ATOMS=7,9,15,17 heavy: GROUP ATOMS=1,5,6,7,9,11,15,16,17,19 gyr: GYRATION ATOMS=heavy PRINT ARG=phi,psi,gyr FILE=analyze -HISTOGRAM ... +myhist: HISTOGRAM ... ARG=gyr - USE_ALL_DATA - KERNEL=discrete + KERNEL=DISCRETE GRID_MIN=0 GRID_MAX=1 GRID_BIN=50 - GRID_WFILE=histogram -... HISTOGRAM +... +DUMPGRID GRID=myhist FILE=histogram \endplumedfile An histogram with 50 bins will be performed on the gyration radius. Try to compute the histogram for @@ -820,7 +819,7 @@ MOVINGRESTRAINT ... LABEL=res ARG=phi STEP0=0 AT0=-0.5pi KAPPA0=5 - STEP1=10000 AT0=0.5pi + STEP1=10000 AT1=0.5pi ... PRINT ARG=phi,psi,res.work,res.phi_cntr FILE=colvar \endplumedfile