TORSION
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.

Examples

This input tells plumed to print the torsional angle between atoms 1, 2, 3 and 4 on file COLVAR.

Click on the labels of the actions for more information on what each action computes
tested on master
t: TORSION 
ATOMS
the 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
ARG
compulsory keyword the labels of the values that you would like to print to the file
=t
FILE
the 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.

Click on the labels of the actions for more information on what each action computes
tested on master
#SETTINGS MOLFILE=regtest/basic/rt32/helix.pdb
MOLINFO 
MOLTYPE
compulsory keyword ( default=protein ) what kind of molecule is contained in the pdb file - usually not needed since protein/RNA/DNA are compatible
=protein
STRUCTURE
compulsory keyword a file in pdb format containing a reference structure.
=myprotein.pdb t1: TORSION
ATOMS
the four atoms involved in the torsional angle
=@phi-3 t2: TORSION
ATOMS
the four atoms involved in the torsional angle
=@psi-4 PRINT
ARG
compulsory keyword the labels of the values that you would like to print to the file
=t1,t2
FILE
the name of the file on which to output these quantities
=colvar
STRIDE
compulsory 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:

Click on the labels of the actions for more information on what each action computes
tested on master
t1: TORSION 
VECTOR1
could not find this keyword
=1,2
AXIS
two atoms that define an axis.
=3,4
VECTOR2
could not find this keyword
=5,6 PRINT
ARG
compulsory keyword the labels of the values that you would like to print to the file
=t1
FILE
the name of the file on which to output these quantities
=colvar
STRIDE
compulsory 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:

Click on the labels of the actions for more information on what each action computes
tested on master
a0: FIXEDATOM 
AT
compulsory keyword coordinates of the virtual atom
=0,0,0 az: FIXEDATOM
AT
compulsory keyword coordinates of the virtual atom
=0,0,1 t1: TORSION
VECTOR1
could not find this keyword
=1,2
AXIS
two atoms that define an axis.
=a0,az
VECTOR2
could not find this keyword
=5,6 PRINT
ARG
compulsory keyword the labels of the values that you would like to print to the file
=t1
FILE
the name of the file on which to output these quantities
=colvar
STRIDE
compulsory keyword ( default=1 ) the frequency with which the quantities of interest should be output
=20
Glossary of keywords and components
Description of components

By default the value of the calculated quantity can be referenced elsewhere in the input file by using the label of the action. Alternatively this Action can be used to calculate the following quantities by employing the keywords listed below. These quantities can be referenced elsewhere in the input by using this Action's label followed by a dot and the name of the quantity required from the list below.

Quantity Description
.#!value the TORSION involving these atoms
The atoms involved can be specified using
ATOMS the four atoms involved in the torsional angle
Or alternatively by using
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 VECTORA and VECTORB keywords.
VECTORA two atoms that define a vector. You can use this in combination with VECTOR2 and AXIS
VECTORB two atoms that define a vector. You can use this in combination with VECTOR1 and AXIS
Or alternatively by using
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
Options
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