This is part of the isdb module

Calculates the backbone chemical shifts for a protein.

The functional form is that of CamShift [58]. The chemical shift of the selected nuclei can be saved as components. Alternatively one can calculate either the CAMSHIFT score (useful as a collective variable [50] or as a scoring function [86]) or a METAINFERENCE score (using DOSCORE). For these two latter cases experimental chemical shifts must be provided.

CS2BACKBONE calculation can be relatively heavy because it often uses a large number of atoms, it can be run in parallel using MPI and OpenMP.

As a general rule, when using CS2BACKBONE or other experimental restraints it may be 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 completely included in ATOMS and a TEMPLATE pdb file for the same atoms should be provided as well in the folder DATADIR. The system is made automatically whole unless NOPBC is used, in particular if the system is made by multiple chains it is usually better to use NOPBC and make the molecule whole WHOLEMOLECULES selecting an appropriate order of the atoms. The pdb file is needed to the generate a simple topology of the protein. For histidine residues 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. Termini groups like ACE or NME should be removed from the TEMPLATE pdb because they are not recognized by CS2BACKBONE.

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), add only the files for the nuclei you need, but each file should include all protein residues. 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 match that used in the pdb file, but must be positive, so double check the pdb. The first and last residue of each chain should be preceded by a # character.

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

The default behavior 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 back-calculated values, where # includes a chain and residue number.

One additional file is always needed in the folder DATADIR: camshift.db. This file includes all the parameters needed to calculate the chemical shifts and can be found in regtest/isdb/rt-cs2backbone/data/ .

Additional material and examples can be also found in the tutorial ISDB: setting up a Metadynamics Metainference simulation as well as in the cs2backbone regtests in the isdb folder.

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 the components that can be customized the following quantities will always be output

Quantity Description
sigma uncertainty parameter
sigmaMean uncertainty in the mean estimate
acceptSigma MC acceptance
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

In addition the following quantities can be calculated by employing the keywords listed below

Quantity Keyword Description
acceptScale SCALEDATA MC acceptance
weight REWEIGHT weights of the weighted average
biasDer REWEIGHT derivatives with respect to the bias
scale SCALEDATA scale parameter
offset ADDOFFSET offset parameter
ftilde GENERIC ensemble average estimator
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
LIKELIHOOD ( default=GAUSS ) the likelihood for the GENERIC metainference model, GAUSS or LOGN
DFTILDE ( default=0.1 ) fraction of sigma_mean used to evolve ftilde
SCALE0 ( default=1.0 ) initial value of the scaling factor
SCALE_PRIOR ( default=FLAT ) either FLAT or GAUSSIAN
OFFSET0 ( default=0.0 ) initial value of the offset
SIGMA0 ( default=1.0 ) initial value of the uncertainty parameter
SIGMA_MIN ( default=0.0 ) minimum value of the uncertainty parameter
SIGMA_MAX ( default=10. ) maximum value of the uncertainty parameter
OPTSIGMAMEAN ( default=NONE ) Set to NONE/SEM to manually set sigma mean, or to estimate it on the fly
WRITE_STRIDE ( default=10000 ) write the status to a file every N steps, this can be used for restart/continuation
DATADIR ( default=data/ ) The folder with the experimental chemical shifts.
TEMPLATE ( default=template.pdb ) A PDB file of the protein system.
NEIGH_FREQ ( default=20 ) Period in step for neighbor list update.
NUMERICAL_DERIVATIVES ( default=off ) calculate the derivatives for these quantities numerically
DOSCORE ( default=off ) activate metainference
NOENSEMBLE ( default=off ) don't perform any replica-averaging
REWEIGHT ( default=off ) simple REWEIGHT using the ARG as energy
SCALEDATA ( default=off ) Set to TRUE if you want to sample a scaling factor common to all values and replicas
ADDOFFSET ( default=off ) Set to TRUE if you want to sample an offset common to all values and replicas
NOPBC ( default=off ) ignore the periodic boundary conditions when calculating distances
SERIAL ( default=off ) Perform the calculation in serial - for debug purpose
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 experimental values.

ARG the input for this action is the scalar output from one or more other actions. The particular scalars that you will use are referenced using the label of the action. If the label appears on its own then it is assumed that the Action calculates a single scalar value. The value of this scalar is thus used as the input to this new action. If * or *.* appears the scalars calculated by all the proceeding actions in the input file are taken. Some actions have multi-component outputs and each component of the output has a specific label. For example a DISTANCE action labelled dist may have three components x, y and z. To take just the x component you should use dist.x, if you wish to take all three components then use dist.*.More information on the referencing of Actions can be found in the section of the manual on the PLUMED Getting Started. Scalar values can also be referenced using POSIX regular expressions as detailed in the section on Regular Expressions. To use this feature you you must compile PLUMED with the appropriate flag. You can use multiple instances of this keyword i.e. ARG1, ARG2, ARG3...
AVERAGING Stride for calculation of averaged weights and sigma_mean
SCALE_MIN minimum value of the scaling factor
SCALE_MAX maximum value of the scaling factor
DSCALE maximum MC move of the scaling factor
OFFSET_MIN minimum value of the offset
OFFSET_MAX maximum value of the offset
DOFFSET maximum MC move of the offset
REGRES_ZERO stride for regression with zero offset
DSIGMA maximum MC move of the uncertainty parameter
SIGMA_MEAN0 starting value for the uncertainty in the mean estimate
TEMP the system temperature - this is only needed if code doesn't pass the temperature to plumed
MC_STEPS number of MC steps
STATUS_FILE write a file with all the data useful for restart/continuation of Metainference
SELECTOR name of selector
NSELECT range of values for selector [0, N-1]
RESTART allows per-action setting of restart (YES/NO/AUTO)

In this first example the chemical shifts are used to calculate a collective variable to be used in NMR driven Metadynamics [50] :

whole: GROUP ATOMS=2612-2514:-1,961-1:-1,2466-962:-1,2513-2467:-1

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

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

This third example show how to use chemical shifts to calculate a METAINFERENCE score .

csbias: BIASVALUE ARG=cs.score

PRINT ARG=(cs\.hn_.*),(cs\.nh_.*) FILE=CS.dat STRIDE=1000