RDC
This is part of the isdb module

Calculates the (Residual) Dipolar Coupling between two atoms.

The Dipolar Coupling between two nuclei depends on the \(\theta\) angle between the inter-nuclear vector and the external magnetic field.

\[ D=D_{max}0.5(3\cos^2(\theta)-1) \]

where

\[ D_{max}=-\mu_0\gamma_1\gamma_2h/(8\pi^3r^3) \]

that is the maximal value of the dipolar coupling for the two nuclear spins with gyromagnetic ratio \(\gamma\). \(\mu\) is the magnetic constant and h is the Planck constant.

Common Gyromagnetic Ratios (C.G.S)

  • H(1) 26.7513
  • C(13) 6.7261
  • N(15) -2.7116 and their products (this is what is given in input using the keyword GYROM)
  • N-H -72.5388
  • C-H 179.9319
  • C-N -18.2385
  • C-C 45.2404

In isotropic media DCs average to zero because of the rotational averaging, but when the rotational symmetry is broken, either through the introduction of an alignment medium or for molecules with highly anisotropic paramagnetic susceptibility, then the average of the DCs is not zero and it is possible to measure a Residual Dipolar Coupling (RDCs).

This collective variable calculates the Dipolar Coupling for a set of couple of atoms using the above definition.

In a standard MD simulation the average over time of the DC should then be zero. If one wants to model the meaning of a set of measured RDCs it is possible to try to solve the following problem: "what is the distribution of structures and orientations that reproduce the measured RDCs".

This collective variable can then be use to break the rotational symmetry of a simulation by imposing that the average of the DCs over the conformational ensemble must be equal to the measured RDCs [29] . Since measured RDCs are also a function of the fraction of aligned molecules in the sample it is better to compare them modulo a constant or looking at the correlation.

Alternatively if the molecule is rigid it is possible to use the experimental data to calculate the alignment tensor and the use that to back calculate the RDCs, this is what is usually call the Single Value Decomposition approach. In this case the code rely on the a set of function from the GNU Scientific Library (GSL). (With SVD forces are not currently implemented).

Replica-Averaged simulations can be performed using RDCs, ENSEMBLE, STATS and RESTRAINT . METAINFERENCE can be activated using DOSCORE and the other relevant keywords.

Additional material and examples can be also found in the tutorial ISDB: setting up a Metadynamics Metainference simulation

Examples
In the following example five N-H RDCs are defined and averaged over multiple replicas, their correlation is then calculated with respect to a set of experimental data and restrained. In addition, and only for analysis purposes, the same RDCs each single conformation are calculated using a Single Value Decomposition algorithm, then averaged and again compared with the experimental data.
Click on the labels of the actions for more information on what each action computes
tested on v2.7
#SETTINGS NREPLICAS=2
nh: RDC ...
   
GYROM
compulsory keyword ( default=1. ) Add the product of the gyromagnetic constants for the bond.
=-72.5388
SCALE
compulsory keyword ( default=1. ) Add the scaling factor to take into account concentration and other effects.
=0.001
ATOMS1
the couple of atoms involved in each of the bonds for which you wish to calculate the RDC.
=20,21
ATOMS2
the couple of atoms involved in each of the bonds for which you wish to calculate the RDC.
=37,38
ATOMS3
the couple of atoms involved in each of the bonds for which you wish to calculate the RDC.
=56,57
ATOMS4
the couple of atoms involved in each of the bonds for which you wish to calculate the RDC.
=76,77
ATOMS5
the couple of atoms involved in each of the bonds for which you wish to calculate the RDC.
=92,93 ... erdc: ENSEMBLE
ARG
the input for this action is the scalar output from one or more other actions.
=nh.* st: STATS
ARG
the input for this action is the scalar output from one or more other actions.
=erdc.*
PARAMETERS
the parameters of the arguments in your function
=8.17,-8.271,-10.489,-9.871,-9.152 rdce: RESTRAINT
ARG
the input for this action is the scalar output from one or more other actions.
=st.corr
KAPPA
compulsory keyword ( default=0.0 ) specifies that the restraint is harmonic and what the values of the force constants on each of the variables are
=0.
SLOPE
compulsory keyword ( default=0.0 ) specifies that the restraint is linear and what the values of the force constants on each of the variables are
=-25000.0
AT
compulsory keyword the position of the restraint
=1. svd: RDC ...
GYROM
compulsory keyword ( default=1. ) Add the product of the gyromagnetic constants for the bond.
=-72.5388
SVD
( default=off ) Set to TRUE if you want to back calculate using Single Value Decomposition (need GSL at compilation time).
ATOMS1
the couple of atoms involved in each of the bonds for which you wish to calculate the RDC.
=20,21
COUPLING1
Add an experimental value for each coupling (needed by SVD and useful for \ref STATS).
=8.17
ATOMS2
the couple of atoms involved in each of the bonds for which you wish to calculate the RDC.
=37,38
COUPLING2
Add an experimental value for each coupling (needed by SVD and useful for \ref STATS).
=-8.271
ATOMS3
the couple of atoms involved in each of the bonds for which you wish to calculate the RDC.
=56,57
COUPLING3
Add an experimental value for each coupling (needed by SVD and useful for \ref STATS).
=-10.489
ATOMS4
the couple of atoms involved in each of the bonds for which you wish to calculate the RDC.
=76,77
COUPLING4
Add an experimental value for each coupling (needed by SVD and useful for \ref STATS).
=-9.871
ATOMS5
the couple of atoms involved in each of the bonds for which you wish to calculate the RDC.
=92,93
COUPLING5
Add an experimental value for each coupling (needed by SVD and useful for \ref STATS).
=-9.152 ... esvd: ENSEMBLE
ARG
the input for this action is the scalar output from one or more other actions.
=(svd\.rdc-.*) st_svd: STATS
ARG
the input for this action is the scalar output from one or more other actions.
=esvd.*
PARAMETERS
the parameters of the arguments in your function
=8.17,-8.271,-10.489,-9.871,-9.152 PRINT
ARG
the input for this action is the scalar output from one or more other actions.
=st.corr,st_svd.corr,rdce.bias
FILE
the name of the file on which to output these quantities
=colvar
Glossary of keywords and components
Description of components

By default this Action calculates the following quantities. 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
score the Metainference score
sigma uncertainty parameter
sigmaMean uncertainty in the mean estimate
neff effective number of replicas
acceptSigma MC acceptance for sigma values
rdc the calculated # RDC

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

Quantity Keyword Description
acceptScale SCALEDATA MC acceptance for scale value
acceptFT GENERIC MC acceptance for general metainference f tilde value
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
exp SVD/COUPLING the experimental # RDC
Sxx SVD Tensor component
Syy SVD Tensor component
Szz SVD Tensor component
Sxy SVD Tensor component
Sxz SVD Tensor component
Syz SVD Tensor component
The atoms involved can be specified using
ATOMS the couple of atoms involved in each of the bonds for which you wish to calculate the RDC. Keywords like ATOMS1, ATOMS2, ATOMS3,... should be listed and one dipolar coupling will be calculated for each ATOMS keyword you specify. You can use multiple instances of this keyword i.e. ATOMS1, ATOMS2, ATOMS3...
Compulsory keywords
NOISETYPE ( default=MGAUSS ) functional form of the noise (GAUSS,MGAUSS,OUTLIERS,MOUTLIERS,GENERIC)
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
OFFSET_PRIOR ( default=FLAT ) either FLAT or GAUSSIAN
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
GYROM ( default=1. ) Add the product of the gyromagnetic constants for the bond.
SCALE ( default=1. ) Add the scaling factor to take into account concentration and other effects.
Options
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
SVD

( default=off ) Set to TRUE if you want to back calculate using Single Value Decomposition (need GSL at compilation time).

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
SIGMA_MAX_STEPS Number of steps used to optimise SIGMA_MAX, before that the SIGMA_MAX value is used
TEMP the system temperature - this is only needed if code doesn't pass the temperature to plumed
MC_STEPS number of MC steps
MC_CHUNKSIZE MC chunksize
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)
COUPLING Add an experimental value for each coupling (needed by SVD and useful for STATS). You can use multiple instances of this keyword i.e. COUPLING1, COUPLING2, COUPLING3...