relaxRatioPotTools
index
/home/schwitrs/xplor/python/relaxRatioPotTools.py


 
tools to create and operate the potential term restraining the shape of
protein and bond orientations using NMR relaxation data.

 
Functions
       
Target_filter_function(in_param, ifp)
target function for fitting in filtering routine
addTmPAtoms(tpOatom=None, tpXatom=None, tpYatom=None, resid=None, segid=None, pot=None, mass=1000)
create psf and initial coordinates for pseudo atoms used for optimizing
diffusion tensor temperature
analyze(potList)
Perform analysis of RelaxRatioPot terms and return nicely formatted
summary in the structure file.
calcOmegaList(Fr, d2, g)
return frequencies at which the spectral density function must
be evaluated at in computing R2/R1.
 
  [w_0, w_N, w_H-w_N, w_H, w_H+w_N]
 
 Fr - spectral frequency in MHz
 
 d2 - dipolar coupling term in inverse nanoseconds  (unused)
 g  - ratio of gyromagnetic ratios for hydrogen and nitrogen
create_RelaxRatioPot(name, data_in=None, restraints='', freq=None, sel='known and (not PSEUDO)', inc_sel='known', temperature=293, optTemp=False, addAtoms=False, mass=1000, bond_type='NH', link_to=None, sigmaFactor=10000000, CSA=-160)
Function which creates a relaxRatioPot.RelaxRatioPot object
 
 Arguments:
 name        - an instanceName of a RelaxRatioPot object.
 data_in     - is the set relaxation data. Use the functions in
               diffPotTools for reading and processing the data.
 freq        - spectrometer frequency in MHz.
 sel         - an atomSel.AtomSel specifying atoms to define
               the molecular surface. This argument is not used
               the link_to argument is specified.
 inc_sel     - an atomSel.AtomSel specifying the relaxation
               data to use for energy calculations, by atom.
 temperature - the nominal experimental temperature in Kelvins.
 optTemp     - whether or not to perform temperature optimization. 
               [default: False]
 addAtoms    - synonym for optTemp - deprecated.
 mass        - mass of the pseudo atoms used for temperature
               optimization. 
 bond_type   - the nuclei involved in relaxation. Currently only
               'NH' is supported. 
 link_to     - specify that the surface tessellation should be
               shared from the specified RelaxRatioPot or a standalone
               surfTessellationSurfTessellation object.
 sigmaFactor - value for the sigmaFactor of the RelaxRatioPot object.
 CSA         - value of Chemical Shielding tensor Anisotropy, in ppm
 
Returns  a relaxRatioPot.RelaxRatioPot object
fabs(x, /)
Return the absolute value of the float x.
filterRelaxData(data_in, Fr, domain_sel='all', fraction=0.13, outFilename=None)
Function which identifies the largest outliers in the
input relaxation ratio data for rigid body docking.
 
The procedure consists of determining a diffusion tensor which
best-fits the rho (R2/R1) relaxation data given the HN
orientations of each domain to be docked. During each iteration
the data point which has the largest deviation
 
    (rho^{calcd}-rho^{obs}) / (rho^{calcd}+rho^{obs})
 
is discarded. The process of fitting and discarding is repeated
until the specified fraction of the input data has been
discarded.
 
In this implementation, the diffusion tensor is represented by
three eigenvalues and three Euler angles. The Euler angles
represent the orientation of the diffusion tensor relative to
the input NH bond vectors and are fit, one per domain. One set
of eigenvalues is set for all domains, with each domain getting
a separate eigenvalue scale factor, corresponding to allowing
separate correlation times for each domain.
 
Arguments:
  data_in - contains relaxation data, as read by
            diffPotTools.readInRelaxData and possibly merged by
            diffPotTools.mergeRelaxData.
 
  Fr         - a sequence of spectrometer frequencies (in MHz)
               one for each rigid body domain to be docked.
 
  domain_sel - a sequence of Xplor-NIH selection strings
               corresponding to the Fr argument, used to
               identify atoms in each rigid body domain to be
               docked.
               
  fraction   - the fraction of relaxation data to remove.
               [Default: 13% - the "1.5 sigma rule"]
 
  outFilename- if specified, the R2/R1 ratios calculated with
               the final tensor parameters are written out.
 
 
Returns a text string of excluded residues formatted as an
Xplor-NIH atom selection.
 
Limitation: there cannot be any overlap in the residue numbers of
the rigid domains.
find_max_dev_res(in_param, in_relax, in_relax_err, atoms_N, atoms_HN, omegaLists, d2, g, numDomains)
function which finds a residue with maximum deviation.
 
Returns a sequence of [resid, domain_id, data_index].
makeTable(term)
Return the assignment table (a string) corresponding to the 
restraints associated with the specified relaxRatioPot.RelaxRatioPot.
massSetup(list=[], axisMass=1000)
appropriately set masses for pseudo atoms used in optimization of
the apparent diffusion temperature.
 
if list is not specified, then pseudoatoms associated with
all registered RelaxRatioPot objects are configured.
meanChi2ExN(term)
term can be a single potential term, or a list of terms
 
Return the normalized chi^2 value.
meanExResN(term)
term can be a single potential term, or a list of terms.
 
Return the number of excluded residues.
meanTemperature(term)
term can be a single potential term, or a list of terms
readOneRestraint(term, string, csa)
read one Xplor-NIH style restraint from the string argument.
readRestraints(term, restraints, csa)
Load Xplor-NIH format restraint table into a relaxRatioPot.RelaxRatioPot
term.
registerTerm(term)
add the given RelaxRatioPot object to a list associated with its Simulation.
These objects will be automatically processed by topologySetup and
massSetup.
reset_relaxRatioPot_temp(pot=None, temperature=None)
sqrt(x, /)
Return the square root of x.
topologySetup(ivm, list=[])
configure the given ivm.IVM object's topology setup using the
freedom string for each RelaxRatioPot in list.
This function should be called prior to
ivm.IVM.autoTorsion() or protocol.torsionTopology()

 
Data
        default_resid = 1700
default_segid = ''
pi = 3.141592653589793
psfTmPTemplate = '\nstructure\nPSF\n\n 1 !NTITLE\n REMARKS preP... 1 0 !NGRP\n 0 0 0\n\nend\n'
radiusMap = {'C': 1.85, 'H': 1.0, 'N': 1.75, 'O': 1.6, 'S': 2.0}
registeredTerms = {}