This is part of the colvar module |
Calculate a torsional angle.
This command can be used to compute the torsion between four atoms or alternatively to calculate the angle between two vectors projected on the plane orthogonal to an axis.
This input tells plumed to print the torsional angle between atoms 1, 2, 3 and 4 on file COLVAR.
t: TORSION ATOMSthe four atoms involved in the torsional angle =1,2,3,4 # this is an alternative, equivalent, definition: # t: TORSION VECTOR1=2,1 AXIS=2,3 VECTOR2=3,4 PRINT ARGthe input for this action is the scalar output from one or more other actions. =t FILEthe name of the file on which to output these quantities =COLVAR
If you are working with a protein you can specify the special named torsion angles \(\phi\), \(\psi\), \(\omega\) and \(\chi_1\) by using TORSION in combination with the MOLINFO command. This can be done by using the following syntax.
#SETTINGS MOLFILE=regtest/basic/rt32/helix.pdb MOLINFO MOLTYPEcompulsory keyword ( default=protein ) what kind of molecule is contained in the pdb file - usually not needed since protein/RNA/DNA are compatible =protein STRUCTUREcompulsory keyword a file in pdb format containing a reference structure. =myprotein.pdb t1: TORSION ATOMSthe four atoms involved in the torsional angle =@phi-3 t2: TORSION ATOMSthe four atoms involved in the torsional angle =@psi-4 PRINT ARGthe input for this action is the scalar output from one or more other actions. =t1,t2 FILEthe name of the file on which to output these quantities =colvar STRIDEcompulsory keyword ( default=1 ) the frequency with which the quantities of interest should be output =10
Here, @phi-3 tells plumed that you would like to calculate the \(\phi\) angle in the third residue of the protein. Similarly @psi-4 tells plumed that you want to calculate the \(\psi\) angle of the fourth residue of the protein.
Both of the previous examples specify that the torsion angle should be calculated based on the position of four atoms. For the first example in particular the assumption when the torsion is specified in this way is that there are chemical bonds between atoms 1 and 2, atoms 2 and 3 and atoms 3 and 4. In general, however, a torsional angle measures the angle between two planes, which have at least one vector in common. As shown below, there is thus an alternate, more general, way through which we can define a torsional angle:
t1: TORSION VECTOR1 could not find this keyword =1,2 AXIStwo atoms that define an axis. =3,4 VECTOR2 could not find this keyword =5,6 PRINT ARGthe input for this action is the scalar output from one or more other actions. =t1 FILEthe name of the file on which to output these quantities =colvar STRIDEcompulsory keyword ( default=1 ) the frequency with which the quantities of interest should be output =20
This input instructs PLUMED to calculate the angle between the plane containing the vector connecting atoms 1 and 2 and the vector connecting atoms 3 and 4 and the plane containing this second vector and the vector connecting atoms 5 and 6. We can even use PLUMED to calculate the torsional angle between two bond vectors around the z-axis as shown below:
a0: FIXEDATOM ATcompulsory keyword coordinates of the virtual atom =0,0,0 az: FIXEDATOM ATcompulsory keyword coordinates of the virtual atom =0,0,1 t1: TORSION VECTOR1 could not find this keyword =1,2 AXIStwo atoms that define an axis. =a0,az VECTOR2 could not find this keyword =5,6 PRINT ARGthe input for this action is the scalar output from one or more other actions. =t1 FILEthe name of the file on which to output these quantities =colvar STRIDEcompulsory keyword ( default=1 ) the frequency with which the quantities of interest should be output =20
ATOMS | the four atoms involved in the torsional angle |
AXIS | two atoms that define an axis. You can use this to find the angle in the plane perpendicular to the axis between the vectors specified using the VECTOR1 and VECTOR2 keywords. |
VECTOR1 | two atoms that define a vector. You can use this in combination with VECTOR2 and AXIS |
VECTOR2 | two atoms that define a vector. You can use this in combination with VECTOR1 and AXIS |
NUMERICAL_DERIVATIVES | ( default=off ) calculate the derivatives for these quantities numerically |
NOPBC | ( default=off ) ignore the periodic boundary conditions when calculating distances |
COSINE | ( default=off ) calculate cosine instead of dihedral |