This is part of the colvar module

This collective variable calculates the backbone chemical shifts for a protein.

The functional form is that of CamShift [40]. The chemical shifts of the selected nuclei/residues are saved as components. Reference experimental values can also be stored as components. The two components can then be used to calculate either a scoring function as in [53] [34], using the keyword CAMSHIFT or to calculate ensemble averages chemical shift per chemical shift as in [20] [22] (see STATS and ENSEMBLE).

CamShift calculation is relatively heavy because it often uses a large number of atoms, in order to make it faster it is currently parallelised with OpenMP.

As a general rule, when using CS2BACKBONE or other experimental restraints it is better to increase the accuracy of the constraint algorithm due to the increased strain on the bonded structure. In the case of GROMACS it is safer to use lincs-iter=2 and lincs-order=6.

In general the system for which chemical shifts are calculated must be completly included in ATOMS and a TEMPLATE pdb file for the same atoms should be provided as well in the folder DATA. The atoms are made automatically whole unless NOPBC is used, in particular if the system is made of by multiple chains it is usually better to use NOPBC and make the molecule whole WHOLEMOLECULES selecting an appropriate order.

In addition to a pdb file one needs to provide a list of chemical shifts to be calculated using one file per nucleus type (CAshifts.dat, CBshifts.dat, Cshifts.dat, Hshifts.dat, HAshifts.dat, Nshifts.dat), all the six files should always be present. A chemical shift for a nucleus is calculated if a value greater than 0 is provided. For practical purposes the value can correspond to the experimental value. Residues numbers should go from 1 to N irrespectively of the numbers used in the pdb file. The first and last residue of each chain should be preceeded by a # character. Termini groups like ACE or NME should be removed from the PDB.

#1 0.0
2 55.5
3 58.4
#last 0.0
#last+1 (first) of second chain
#last of second chain

The default behaviour is to store the values for the active nuclei in components (ca_#, cb_#, co_#, ha_#, hn_#, nh_# and expca_#, expcb_#, expco_#, expha_#, exphn_#, exp_nh#) with NOEXP it is possible to only store the backcalculated values.

A pdb file is needed to the generate a simple topology of the protein. For histidines in protonation states different from D the HIE/HSE HIP/HSP name should be used. GLH and ASH can be used for the alternative protonation of GLU and ASP. Non-standard amino acids and other molecules are not yet supported, but in principle they can be named UNK. If multiple chains are present the chain identifier must be in the standard PDB format, together with the TER keyword at the end of each chain.

One more standard file is also needed in the folder DATA: camshift.db. This file includes all the CamShift parameters and can be found in regtest/basic/rt45/data/ .

All the above files must be in a single folder that must be specified with the keyword DATA.

Additional material and examples can be also found in the tutorial Belfast tutorial: NMR restraints

Description of components

The names of the components in this action can be customized by the user in the actions input file. However, in addition to these customizable components the following quantities will always be output

Quantity Description
ha the calculated Ha hydrogen chemical shifts
hn the calculated H hydrogen chemical shifts
nh the calculated N nitrogen chemical shifts
ca the calculated Ca carbon chemical shifts
cb the calculated Cb carbon chemical shifts
co the calculated C' carbon chemical shifts
expha the experimental Ha hydrogen chemical shifts
exphn the experimental H hydrogen chemical shifts
expnh the experimental N nitrogen chemical shifts
expca the experimental Ca carbon chemical shifts
expcb the experimental Cb carbon chemical shifts
expco the experimental C' carbon chemical shifts
The atoms involved can be specified using
ATOMS The atoms to be included in the calculation, e.g. the whole protein.. For more information on how to specify lists of atoms see Groups and Virtual Atoms
Compulsory keywords
DATA ( default=data/ ) The folder with the experimental chemical shifts.
TEMPLATE ( default=template.pdb ) A PDB file of the protein system to initialise ALMOST.
NEIGH_FREQ ( default=20 ) Period in step for neighbour list update.
NRES Number of residues, corresponding to the number of chemical shifts.
NUMERICAL_DERIVATIVES ( default=off ) calculate the derivatives for these quantities numerically
NOPBC ( default=off ) ignore the periodic boundary conditions when calculating distances
CAMSHIFT ( default=off ) Set to TRUE if you to calculate a single CamShift score.

( default=off ) Set to TRUE if you don't want to have fixed components with the experimetnal values.


In this first example the chemical shifts are used to calculate a scoring function to be used in NMR driven Metadynamics [34] :

whole: GROUP ATOMS=2612-2514:-1,961-1:-1,2466-962:-1,2513-2467:-1
cs: CS2BACKBONE ATOMS=1-2612 NRES=176 DATA=../data/ TEMPLATE=template.pdb CAMSHIFT NOPBC

In this second example the chemical shifts are used as replica-averaged restrained as in [20] [22].

cs: CS2BACKBONE ATOMS=1-174 DATA=data/ NRES=13
encs: ENSEMBLE ARG=(cs\.hn_.*),(cs\.nh_.*)
stcs: STATS ARG=encs.* SQDEVSUM PARARG=(cs\.exphn_.*),(cs\.expnh_.*)
RESTRAINT ARG=stcs.sqdevsum AT=0 KAPPA=0 SLOPE=24

PRINT ARG=(cs\.hn_.*),(cs\.nh_.*) FILE=RESTRAINT STRIDE=100