| csaPot |
index |
chemical shift anisotropy potential
One normally creates CSAPot object using the create_CSAPot function within
the csaPotTools module.
constructor:
CSAPot(instanceName,
oTensor
restraints,
simulation)
instanceName is a user-specified identifier. oTensor specifies an
alignment VarTensor object. restraints is an optional XPLOR-style
CSA restraint table. simulation is an optional Simulation specification.
members:
oTensor - the VarTensor alignment tensor object.
methods:
addRestraints(restraintList) - add the specified XPLOR-style CSA
restraint table. Note that this is a
string, and not a filename.
removeRestraint(num) - remove the specified restraint. Restraints
are numbered from zero. Note that
after a restraint is removed, all
restraints with larger indices will be
renumbered.
calcEnergy() - calc energy, returns the energy value.
calcEnergyAndDerivs(derivs) - calc energy, derivs, returns the energy value.
rms() - return the rms of calcedShift - effShift
numRestraints() - the number of restraints defined for this term.
deviation() - return average of deviation of ensemble members
violations() - return number of violations
info() - current info about the state of this instance
showViolations() - return a string listing violated restraints.
showRestraints(violated) - return info on restraints. Argument violated is
boolean specifying whether to return only
violated restraints.
restraints() - return a list of restraints. See the description of the
Restraint class below.
simulation() - return the associated simulation.
ensWeigth(index) - return the ensemble weight associated with the
specified member.
setEnsWeights(vals) - use the specified ensemble weights instead of those
in the underlying EnsembleSimulation.
The following parameters can be set [defaults in square brackets]
verbose - if true, sporadically spit out info [False]
scale - scale factor (force constant) [1]
threshold - threshold in violation calculation [0]
potType - type of potential: "harmonic" or "square" ["harmonic"]
sigma - principal moments of the chemical shift tensor, in the order
(sigma_xx, sigma_yy, sigma_zz) along the tensor principal axes
(Ux, Uy, Uz) defined below. The units are ppb.
DaScale - scale factor for Da in the CSA calculations so that the Da
from RDC calculations can be directly used. The value of
this factor should be
mu_0 h / (8 pi^3) * gammaA * gammaB / rAB^3.
For distances in angstrom, and gyromagnetic ratios in
Hz/Tesla, this value is
3.3568061 x 10^{-4} * gammaA * gammaB / rAB^3.
This from JACS 120, 6836 (1998).
[default: 1]
tensorClass- type of tensor (how to interpret beta and gamma angles).
Valid values are BISECT and BOND. [BISECT]
beta - beta rotation used in calculating the tensor principal axes
from the atom selections. [0]
gamma - gamma rotation used in calculating the tensor principal axes
from the atom selections. [0]
atomOrder - string mapping selection atoms 1, 2 and 3 onto axis definition
atoms a, b, and c. "123" maps 1->a, 2->b and 3->c. Supported
values are "123", "132", and "231". ["123"]
showAllRestraints - boolean which changes the behavior of showViolations. If
this parameter is set to True, the behavior of
showViolations is modified such that all restraints are
printed. Violated restraints are indicated by an
asterisk in the first column. [0]
useSimEnsWeight - whether to use the ensemble wieghts set with setEnsWeights
or to use those of the underlying EnsembleSimulation.
the above quantities may be retrieved using the member function form
quantity(), while they are set using the form setQuantity(value).
assignment table:
entries in the restraint list have the following form
assign ( sel OO ) ( sel Z ) ( sel X ) ( sel Y )
( sel 1 ) ( sel 2 ) ( sel 3 ) obsShift error1 [error2]
where the first four selections are present for compatibility with
XPLOR assignment tables, and are ignored. The 1, 2 and 3 selections,
in concert with atomOrder and tensorClass, specify the atoms used to
define the chemical shift tensor. The observed chemical shift is
given (in ppb) by the obsShift argument, and the error bounds are
given by error1 and error2. If error2 is absent, it defaults to
error1.
The principal axes of the CSA tensor are calculated from the
positions of the three selected atoms in terms of qx, qy, and qz.
qz = (qb-qa) X (qc-qa);
| qb+qc-2*qa , if tensorClass==BISECT
qy = |
| qb-qa , if tensorClass=BOND
qx = qy X qz
Unit vectors along qx,qy,qz are denoted as ux,uy,uz, respectively.
The principal axes Ux, Uy, Uz are then
( Ux,Uy,Uz ) = (ux,uy,uz) * R,
with the orienting matrix R given by:
R = Ry(gamma) * Rz(beta),
where Ry and Rz are rotation matrices about the y and z axes,
respectively.
The chemical shift anisotropy is then given by the equation
calcedShift = sum_{i,j} A_i sigma_j * cos(theta_{i,j})^2 / DaScale
where A_i is a principal moment of the alignment tensor, sigma_j is
a the principal moment of the CSA tensor, and theta_{i,j}
is the angle between the ith alignment tensor principal axis and
the jth CSA tensor principal axis.
The energy function is defined as
1/2 * scale * (calcedShift - effShift)^2
where for potType=harmonic, effShift = obsShift. For potType=square,
effShift = calcedShift, if
obsShift-error1 < calcedShift < obsShift+error2
= calcedShift+error1, if calcedShift < obsShift-error1
= calcedShift-error2, if calcedShift > obsShift+error2
Restraint class
methods:
energy() - energy due to this restraint
calcd() - calculated value of the chemical shift (ensemble average).
obs() - observed value of chemical shift.
diff() - difference between calcd and obs
plusErr(), minusErr() - bounds for the square well potential
Selection1() - atomSel for atom 1
Selection2() - atomSel for atom 2
Selection3() - atomSel for atom 3
calced_contrib() - list of contributions due to each ensemble member.
deviation() - measure of spread between different ensemble members
tensor(ensembleIndex=0) - return the CSA tensor of the specified ensemble
member.
# 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 | ||
| ||