relaxRatioPot |
index |
apotential term to restrain observed ratios of residue NMR relaxation
rates, r2/r1.
Constructor:
RelaxRatioPot(const String& instanceName,
rc_SurfTessellation sTess )
instanceName - is a user-specified string.
sTess - rc pointer to surfTesslation class object.
Methods
addRestraint(aSel,bSel,
obs,err,csa=0.) - add a single restraint. aSel and bSel
should be AtomSels specifying the same
number (>0) of atoms. obs and err are the
observed value of and error in the observed
r2/r1 ratio. The optional csa argument
can also be specified. aSel and bSel must
select the same number of atoms. If they
select more than 1, the ratio of relaxation
values is <r2> / <r1> where angle brackets
denote average over rates for the nuclei
specified by aSel[i], bSel[b], i.e.
pairwise.
calcEnergy() - calculates energy, returns the energy value.
calcEnergyAndDerivs(derivs) - calculates energy and gradients,
returns the energy value.
rms() - return the magnitude of violation of this
term - see below.
removeRestraint(index) - remove the restraint with the given index.
get_TmpF(temperature) - ??
setTmpAtoms(o_tmp_atom, - set the pseudo atoms used for temperature
x_tmp_atom, optimization.
y_tmp_atom)
help() - this help.
Read Accessors
getAtomSel() - returns atom selection which is used to
build the surfTessellation class object
where the potential term is linked to.
simulation() - return the Simulation specified in
the SurfTessellation.
Diff_Tensor() - returns components of diffusion tensor
for the current structure (in [10^-7 / s ]).
getEigen() - returns diffusion tensor eigenvalues
rotMat() - returns components of rotation matrix used
to make diffusion tensor.
curr_Tmp() - returns current value of temperature.
Tessellation() - returns rc pointer to the surfTessellation
class object where the potential term is
linked to.
cutoff() - current value of deviation in calcd-obs
r2/r1 value above which the restraint is
treated in a nonquadratic fashion (excluded)
- see below.
violations() - the number of violated restraints.
numRestraints() - the total number of restraints.
restraints() - return a sequence of restraint objects
(see below).
get_O_TmP_atom() - return the pseudo atoms used for temperatur
get_X_TmP_atom() optimization.
get_Y_TmP_atom()
info() - current info about the state of this
instance.
Get/Set Accessors
scale() - scale factor for this energy term.
showAllRestraints() [False] - boolean which changes the behavior of the
violations printout. If this parameter is
set to True, all restraints are printed.
Violated restraints are indicated by an
asterisk in the first column.
scaleNHgrad() - additional scale factor for
gradients of atoms in NH vectors.
Thus, the actual scale for NH
vectors is scale()*scaleNHgrad().
scaleSAgrad() - additional scale factor for gradients of
surface atoms. Thus, the actual scale for
NH vectors is scale()*scaleSAgrad().
diffTmpF() [80315402327.6] - factor which accounts for viscosity and
temperature of solvent, in units of 1/s.
Default value corresponds to water at 293 K.
See definition below.
diffShell() [2.8] - hydration layer thickness, in Angstroms.
Note: changes the shell thickness in
surfTessellation object where the potential
is linked to. Thus, if changed for the same
surfTessellation object.
medianTmp() [300] - the nominal temperature.
gyroR() [9.869] - value of ratio between gyro magnetic
ratios of interacting nuclei.
dipC2() [1.1429] - [J^2/(s^2 T^2 m^6)]*[MHz^(-4)]. strength of the
dipolar coupling interaction. Units of
inverse nanoseconds.
For a pair of a pair of NH nuclei
dipC2=(mu_0*g_n*g_h*h_bar/(8*pi*r_NH^3))^2
where
magnetic permittivity of vacuum:
mu_0 = 4*pi*1e-7 [H/m]
hydrogen gyro magnetic ratio:
g_n = 2*pi*42.576*1e6 [Hz/T]
15N gyro magnetic ratio:
g_h = -2*pi*4.3156*1e6 [Hz/T]
Planck constant over 2*pi
h_bar = 1.05457*1e-34 [J s]
effective nuclei pair distance
r_NH = 1.0420 [A]
(this is the value obtained from
neutron diffraction scaled to
account for librations)
diffRrmsd() [0.5] - the value of rmsd, in Angstroms, separating
current structure and the one that was used for
tessellation of the protein surface last
time which triggers new retessellation
of the protein surface.
diffRstep() [30] - the number of derivative calculation
events which trigger a new retessellation of
the protein surface.
tempRange [0] - the range of temperatures, in Kelvin, for
temperature optimization.
freq() [600] - spectrometer frequency, in MHz.
sigmaFactor [10000000] - factor used in the computation of the
cutoff value. See below.
softExp() [8.0] - softExp parameter for asymptotic potential
(see below).
asympSlope() [0.0] - asympSlope parameter for asymptotic potential
(see below).
verbose() [False] - verbose operation.
The diffusion tensor is calculated using ellipsoid approximation derived from
covariance matrix for points of hydrated protein surface obtained as a result
of tessellation.
The details of this method described in: Y. Ryabov, C. Geraghty,
A. Varshney, and D. Fushman, "An Efficient Computational Method for
Predicting Rotational Diffusion Tensors of Globular Proteins Using an
Ellipsoid Representation", J. Am. Chem. Soc. 128: 15432-15444 (2006)
The subroutine for surface tessellation is build on the bases of surf
program: A. Varshney, F.P. Brooks Jr., W.V. Wright IEEE "Computing smooth
molecular surfaces" Comput. Graphics Appl. 14: 19-25 (1994)
The temperature factor, diffTmpF, absorbs dependency of rotation diffusion
parameters on temperature, viscosity of solvent as well as some other
constants and conversion factors.
diffTmpF defined as:
diffTmpF = (1.38e-23)*TmP/(16*PI*eta_t*(1e-30))
where
1.38e-23, [J/K] - is Boltzmann constant.
PI = 3.14159265 - is irrational pi ratio between length of a
circle and its diameter.
eta_t, [Pa s] - is viscosity of solvent.
TmP, [K] - is absolute temperature of solvent.
1e-30 - is a conversion factor between m^3 and
A^3.
relaxRatioPot provides the facility to calculate diffTmpF for water at given
temperature (see get_TmpF()). This method uses empirical approximation for
water viscosity temperature dependency from: Weast, R.C. Handbook of
Chemistry and Physics, 59th ed. CRC press West Palm Beach, FL 1978
dT=TmP-273;
eta_t=(1e-3)*(1.7753-0.0565*(dT)+1.0751e-3*(dT*dT)-9.2222e-6*(dT*dT*dT));
where
eta_t - is viscosity in Pa s
273 - is offset between Celsius and Klevin's
temperature scales.
viscosity of water at 293 K (20 C): 1.002*(1e-3) [Pa s]
The energy function is defined as:
V = scale()* sum_i rms_i^2
where the sum is over each restraint, and for each restraint rms_i
depends on diff_i = obs_i - calcd_i:
/
| diff_i^2 / (err_i)^2 , for |diff_i|<cutoff
rms_i^2 = |
| (a+b/|diff_i|^softExp+|diff|*asympSlope)/ err_i^2 , otherwise
\
where
b=cutoff^(softExp+1) * ( asympSlope-2*cutoff )/softExp
a=cutoff^2-b*cutoff^-softExp - cutoff*asympSlope
cutoff = sigmaFactor * sigma + | m |
where sigma is the standard deviation of the differences between
calculated and observed r2/r1 and m is the mean of this
difference. Restraints whose | obs - calcd | are greater than
cutoff are said to be excluded from the calculation as their
contribution to the force is much reduced.
The Restraint class contains the following read-only accessors
name() - an identifying name.
aSelection() - atom selection a
bSelection() - atom selection b
obs() - input observed value of r2/r1
err() - input error in r2/r1
csa() - input chemical shift anisotropy value.
calcd() - calculated r2/r1 value.
r1(selIndex) - calculated r1 value. If the optional index is
omitted the value averaged over the selections will be
returned, otherwise selIndex specifies the r1 for the
specified atomSel pair.
r2(selIndex) - calculated r2 value. If the optional index is
omitted the value averaged over the selections will be
returned, otherwise selIndex specifies the r2 for the
specified atomSel pair.
noe(selIndex) - calculated noe value. If the optional index is
omitted the value averaged over the selections will be
returned, otherwise selIndex specifies the noe for the
specified atomSel pair.
diff() - obs() - calcd()
excluded() - boolean denoting whether or not |diff()| > cutoff.
violated() - boolean denoting if |diff()| > threshold()
In addition, the observed value can be reset using the method
setObs(newVal)
# This file was automatically generated by SWIG (http://www.swig.org).
# Version 4.0.2
#
# Do not make changes to this file unless you know what you are doing--modify
# the SWIG interface file instead.
Classes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Functions | ||
|