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

#SETTINGS NREPLICAS=2nh:RDC ...GYROM=-72.5388compulsory keyword ( default=1. )Add the product of the gyromagnetic constants for the bond.SCALE=0.001compulsory keyword ( default=1. )Add the scaling factor to take into account concentration and other effects.ATOMS1=20,21the couple of atoms involved in each of the bonds for which you wish to calculate the RDC.ATOMS2=37,38the couple of atoms involved in each of the bonds for which you wish to calculate the RDC.ATOMS3=56,57the couple of atoms involved in each of the bonds for which you wish to calculate the RDC.ATOMS4=76,77the couple of atoms involved in each of the bonds for which you wish to calculate the RDC.ATOMS5=92,93 ...the couple of atoms involved in each of the bonds for which you wish to calculate the RDC.erdc:ENSEMBLEARG=the input for this action is the scalar output from one or more other actions.nh.*st:STATSARG=the input for this action is the scalar output from one or more other actions.erdc.*PARAMETERS=8.17,-8.271,-10.489,-9.871,-9.152the parameters of the arguments in your functionrdce:RESTRAINTARG=the input for this action is the scalar output from one or more other actions.st.corrKAPPA=0.compulsory keyword ( default=0.0 )specifies that the restraint is harmonic and what the values of the force constants on each of the variables areSLOPE=-25000.0compulsory keyword ( default=0.0 )specifies that the restraint is linear and what the values of the force constants on each of the variables areAT=1.compulsory keywordthe position of the restraintsvd:RDC ...GYROM=-72.5388compulsory keyword ( default=1. )Add the product of the gyromagnetic constants for the bond.SVD( default=off ) Set to TRUE if you want to back calculate using Single Value Decomposition (need GSL at compilation time).ATOMS1=20,21the couple of atoms involved in each of the bonds for which you wish to calculate the RDC.COUPLING1=8.17Add an experimental value for each coupling (needed by SVD and useful for \ref STATS).ATOMS2=37,38the couple of atoms involved in each of the bonds for which you wish to calculate the RDC.COUPLING2=-8.271Add an experimental value for each coupling (needed by SVD and useful for \ref STATS).ATOMS3=56,57the couple of atoms involved in each of the bonds for which you wish to calculate the RDC.COUPLING3=-10.489Add an experimental value for each coupling (needed by SVD and useful for \ref STATS).ATOMS4=76,77the couple of atoms involved in each of the bonds for which you wish to calculate the RDC.COUPLING4=-9.871Add an experimental value for each coupling (needed by SVD and useful for \ref STATS).ATOMS5=92,93the couple of atoms involved in each of the bonds for which you wish to calculate the RDC.COUPLING5=-9.152 ...Add an experimental value for each coupling (needed by SVD and useful for \ref STATS).esvd:ENSEMBLEARG=(svd\.rdc-.*)the input for this action is the scalar output from one or more other actions.st_svd:STATSARG=the input for this action is the scalar output from one or more other actions.esvd.*PARAMETERS=8.17,-8.271,-10.489,-9.871,-9.152 PRINTthe parameters of the arguments in your functionARG=the input for this action is the scalar output from one or more other actions.st.corr,st_svd.corr,rdce.biasFILE=colvarthe name of the file on which to output these quantities

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