ALPHARMSD
 This is part of the secondarystructure module

Probe the alpha helical content of a protein structure.

Any chain of six contiguous residues in a protein chain can form an alpha helix. This colvar thus generates the set of all possible six residue sections and calculates the RMSD distance between the configuration in which the residues find themselves and an idealized alpha helical structure. These distances can be calculated by either aligning the instantaneous structure with the reference structure and measuring each atomic displacement or by calculating differences between the set of inter-atomic distances in the reference and instantaneous structures.

This colvar is based on the following reference [93]. The authors of this paper use the set of distances from the alpha helix configurations to measure the number of segments that have an alpha helical configuration. This is done by calculating the following sum of functions of the rmsd distances:

$s = \sum_i \frac{ 1 - \left(\frac{r_i-d_0}{r_0}\right)^n } { 1 - \left(\frac{r_i-d_0}{r_0}\right)^m }$

where the sum runs over all possible segments of alpha helix. By default the NN, MM and D_0 parameters are set equal to those used in [93]. The R_0 parameter must be set by the user - the value used in [93] was 0.08 nm.

If you change the function in the above sum you can calculate quantities such as the average distance from a purely the alpha helical configuration or the distance between the set of residues that is closest to an alpha helix and the reference configuration. To do these sorts of calculations you can use the AVERAGE and MIN keywords. In addition you can use the LESS_THAN keyword if you would like to change the form of the switching function. If you use any of these options you no longer need to specify NN, R_0, MM and D_0.

Please be aware that for codes like gromacs you must ensure that plumed reconstructs the chains involved in your CV when you calculate this CV using anything other than TYPE=DRMSD. For more details as to how to do this see WHOLEMOLECULES.

Examples

The following input calculates the number of six residue segments of protein that are in an alpha helical configuration.

Click on the labels of the actions for more information on what each action computes
#SETTINGS MOLFILE=regtest/basic/rt32/helix.pdb
MOLINFO STRUCTUREcompulsory keyword
a file in pdb format containing a reference structure. =helix.pdb
alpha: ALPHARMSD RESIDUESthis command is used to specify the set of residues that could conceivably form part
of the secondary structure. =all


Here the same is done use RMSD instead of DRMSD

Click on the labels of the actions for more information on what each action computes
#SETTINGS MOLFILE=regtest/basic/rt32/helix.pdb
MOLINFO STRUCTUREcompulsory keyword
a file in pdb format containing a reference structure. =helix.pdb
WHOLEMOLECULES ENTITY0the atoms that make up a molecule that you wish to align. =1-100
alpha: ALPHARMSD RESIDUESthis command is used to specify the set of residues that could conceivably form part
of the secondary structure. =all TYPEcompulsory keyword ( default=DRMSD )
the manner in which RMSD alignment is performed. =OPTIMAL R_0 could not find this keyword =0.1

Glossary of keywords and components
Description of components

By default this Action calculates the number of structural units that are within a certain distance of a idealized secondary structure element. This quantity can then be referenced elsewhere in the input by using the label of the action. However, this Action can also be used to calculate the following quantities by using the keywords as described below. The quantities then calculated can be referenced using the label of the action followed by a dot and then the name from the table below. Please note that you can use the LESS_THAN keyword more than once. The resulting components will be labelled label.lessthan-1, label.lessthan-2 and so on unless you exploit the fact that these labels can be given custom labels by using the LABEL keyword in the description of you LESS_THAN function that you are computing

 Quantity Keyword Description altmin ALT_MIN the minimum value. This is calculated using the formula described in the description of the keyword so as to make it continuous. highest HIGHEST the highest of the quantities calculated by this action lessthan LESS_THAN the number of values less than a target value. This is calculated using one of the formula described in the description of the keyword so as to make it continuous. You can calculate this quantity multiple times using different parameters. lowest LOWEST the lowest of the quantities calculated by this action min MIN the minimum value. This is calculated using the formula described in the description of the keyword so as to make it continuous.
The atoms involved can be specified using
 RESIDUES this command is used to specify the set of residues that could conceivably form part of the secondary structure. It is possible to use residues numbers as the various chains and residues should have been identified else using an instance of the MOLINFO action. If you wish to use all the residues from all the chains in your system you can do so by specifying all. Alternatively, if you wish to use a subset of the residues you can specify the particular residues you are interested in as a list of numbers. Please be aware that to form secondary structure elements your chain must contain at least N residues, where N is dependent on the particular secondary structure you are interested in. As such if you define portions of the chain with fewer than N residues the code will crash.
Compulsory keywords
 TYPE ( default=DRMSD ) the manner in which RMSD alignment is performed. Should be OPTIMAL, SIMPLE or DRMSD. For more details on the OPTIMAL and SIMPLE methods see RMSD. For more details on the DRMSD method see DRMSD. R_0 ( default=0.08 ) The r_0 parameter of the switching function. D_0 ( default=0.0 ) The d_0 parameter of the switching function NN ( default=8 ) The n parameter of the switching function MM ( default=12 ) The m parameter of the switching function
Options
 NUMERICAL_DERIVATIVES ( default=off ) calculate the derivatives for these quantities numerically NOPBC ( default=off ) ignore the periodic boundary conditions VERBOSE ( default=off ) write a more detailed output SERIAL ( default=off ) do the calculation in serial. Do not use MPI LOWMEM ( default=off ) lower the memory requirements TIMINGS ( default=off ) output information on the timings of the various parts of the calculation LESS_THAN calculate the number of variables less than a certain target value. This quantity is calculated using $$\sum_i \sigma(s_i)$$, where $$\sigma(s)$$ is a switchingfunction. The final value can be referenced using label.lessthan. You can use multiple instances of this keyword i.e. LESS_THAN1, LESS_THAN2, LESS_THAN3... The corresponding values are then referenced using label.lessthan-1, label.lessthan-2, label.lessthan-3... MIN calculate the minimum value. To make this quantity continuous the minimum is calculated using $$\textrm{min} = \frac{\beta}{ \log \sum_i \exp\left( \frac{\beta}{s_i} \right) }$$ The value of $$\beta$$ in this function is specified using (BETA= $$\beta$$) The final value can be referenced using label.min. You can use multiple instances of this keyword i.e. MIN1, MIN2, MIN3... The corresponding values are then referenced using label.min-1, label.min-2, label.min-3... ALT_MIN calculate the minimum value. To make this quantity continuous the minimum is calculated using $$\textrm{min} = -\frac{1}{\beta} \log \sum_i \exp\left( -\beta s_i \right)$$ The value of $$\beta$$ in this function is specified using (BETA= $$\beta$$). The final value can be referenced using label.altmin. You can use multiple instances of this keyword i.e. ALT_MIN1, ALT_MIN2, ALT_MIN3... The corresponding values are then referenced using label.altmin-1, label.altmin-2, label.altmin-3... LOWEST this flag allows you to recover the lowest of these variables. The final value can be referenced using label.lowest HIGHEST this flag allows you to recover the highest of these variables. The final value can be referenced using label.highest