This is part of the generic module |
This action is used to align a molecule to a template.
This can be used to move the coordinates stored in plumed so as to be aligned with a provided template in PDB format. Pdb should contain also weights for alignment (see the format of PDB files used e.g. for RMSD). Make sure your PDB file is correctly formatted as explained in this page. Weights for displacement are ignored, since no displacement is computed here. Notice that all atoms (not only those in the template) are aligned. To see what effect try the DUMPATOMS directive to output the atomic positions.
Also notice that PLUMED propagate forces correctly so that you can add a bias on a CV computed after alignment. For many CVs this has no effect, but in some case the alignment can change the result. Examples are:
When running with periodic boundary conditions, the atoms should be in the proper periodic image. This is done automatically since PLUMED 2.5, by considering the ordered list of atoms and rebuilding the molecules using a procedure that is equivalent to that done in WHOLEMOLECULES . Notice that rebuilding is local to this action. This is different from WHOLEMOLECULES which actually modifies the coordinates stored in PLUMED.
In case you want to recover the old behavior you should use the NOPBC flag. In that case you need to take care that atoms are in the correct periodic image.
Align the atomic position to a template then print them. The following example is only translating the system so as to align the center of mass of a molecule to the one in the reference structure ref.pdb
:
# dump coordinates before fitting, to see the difference: DUMPATOMSFILE=dump-before.xyzcompulsory keyword file on which to output coordinates; extension is automatically detectedATOMS=1-20 # fit coordinates to ref.pdb template # this is a "TYPE=SIMPLE" fit, so that only translations are used. FIT_TO_TEMPLATEthe atom indices whose positions you would like to print out.STRIDE=1compulsory keyword ( default=1 ) the frequency with which molecules are reassembled.REFERENCE=ref.pdbcompulsory keyword a file in pdb format containing the reference structure and the atoms involved in the CV.TYPE=SIMPLE # dump coordinates after fitting, to see the difference: DUMPATOMScompulsory keyword ( default=SIMPLE ) the manner in which RMSD alignment is performed.FILE=dump-after.xyzcompulsory keyword file on which to output coordinates; extension is automatically detectedATOMS=1-20the atom indices whose positions you would like to print out.
The following example instead performs a rototranslational fit.
# dump coordinates before fitting, to see the difference: DUMPATOMSFILE=dump-before.xyzcompulsory keyword file on which to output coordinates; extension is automatically detectedATOMS=1-20 # fit coordinates to ref.pdb template # this is a "TYPE=OPTIMAL" fit, so that rototranslations are used. FIT_TO_TEMPLATEthe atom indices whose positions you would like to print out.STRIDE=1compulsory keyword ( default=1 ) the frequency with which molecules are reassembled.REFERENCE=ref.pdbcompulsory keyword a file in pdb format containing the reference structure and the atoms involved in the CV.TYPE=OPTIMAL # dump coordinates after fitting, to see the difference: DUMPATOMScompulsory keyword ( default=SIMPLE ) the manner in which RMSD alignment is performed.FILE=dump-after.xyzcompulsory keyword file on which to output coordinates; extension is automatically detectedATOMS=1-20the atom indices whose positions you would like to print out.
In both these cases the reference structure should be provided in a reference pdb file such as the one below:
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
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. 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