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


 
Tools to aid in setup/analysis of the NOE potential term.
 
This module provides functions to simplify the creation, manipulation and
analysis of noePot.NOEPot potential terms.

 
Functions
       
addNonstereoRestraints(term, inString)
To the specified noePot.NOEPot object, add the restraints in
inString. These can be standard restraints, or restraints in which
geminal pairs are labelled with X/Y instead of 1/2. The optimal
assignment can then be made using the function
processNonstereoRestraints.
 
This function does not yet support restraints using the ASSIgn
... OR idiom. Nor does it support restraints in which both
selections contain unassigned geminal pairs.
analyze(potList)
perform analysis of NOEPot terms and return nicely formatted summary
calcDeltaResid(selPair, deltaResidLR)
given a selPair from an NOE restraint, determine the difference in the
residue number of the two atom selections. If the selections have
differing segids, deltaResid is set to deltaResidLR.
 
If a selection specifies atoms with differing residue IDs, -1 is returned.
correlation(term)
Term can be a single potential term, or a list of terms, in which case
the overall correlation is returned. FIX: should return overall
correlation instead.
create_NOEPot(name, file='', esim=0, restraints='', nef=None, nefRestraintName=None, splitRestraints=False, deltaResidLR=5, simulation2=None, allowBadRestraints=False, verbose=False)
Return an noePot.NOEPot instance.
 
The name of the potential is given by the argument name (a string).
Restraints are specified via an NOE assignment table (whose filename is
indicated in the file argument; a string), and/or via a string of such
assignments (restraints argument).  The file argument can optionally be a
sequence of assignment table filenames.  esim specifies an ensemble
simulation (optional). The simulation2 argument is set when the second
selection in a restraint should correspond to a different
simulation.Simulation. The allowBadRestraints argument sets the
initial value of the return NOEPot's parameter of the same name prior to 
reading any restraints.
 
If specified, the nef argument should be an object returned by
nefTools.readNEF. If there is more than one distance restraint table
specified in the NEF record, the desired name must be specified in the
nefRestraintName argument.
 
If splitRestraints=True, the returned potential is a potList.PotList
with noePot.NOEPot instances corresponding to the following classes:
 
  intraresidue
  interresidue - sequential
  interresidue - short range (1 < delta resid <= deltaResidLR)
  interresidue - long range (delta resid > deltaResidLR)
  ambiguous
 
The classes are arranged in the above order within the potList.PotList.
genRestraints(selection, selection2=None, distCutoff=6.0, distOffset=0.0, upperBound=1.0, lowerBound=1.0, omitIntraResidue=True, deltaSequence=0, asList=False)
Given current coordinates, generate distance restraints from all
atoms in the argument selection to all atoms in the argument
selection2 which are within the distance specified by
distCutoff. The nominal distance is taken from the atom selections,
while the +/- spread (both values) are set to upperBound and
lowerBound, respectively. The value distOffset is added to the nominal
observed distance. If selection2 is omitted, it defaults to
selection. If distCutoff is less than or equal to zero, there is
no distance cutoff: restraints are generated between all atoms
specified. 
 
Intra-residue restraints are omitted if omitTranResidue is True, while
restraints between residues whose distances in primary sequence is less
than deltaSequence are also not generated.
 
The return value is a string which contains the restraints, unless asList
is True, in which case the return value is a list of strings, each element
of which contains a single restraint.
getSegidResid(sel)
given an atomSel.AtomSel object, return the tuple
(segid,resid), if they are unique. If they are not unique return
('',-1)
makeTable(noe)
given an noePot, generate the associated assignment 
table. Return this as a string.
 
If the argument is a list-like object, makeTable will be called
recursively on each element.
processNonstereoRestraints(term)
Swap all non-stereospecifically labeled assignments s.t. energy
is minimized.
readNEF(noe, block, verbose=False)
Given an NOEPot, and a saveframe from a NEF record, read in all
specified restraints.
removeLowerBounds(noe)
Given an NOEPot object, remove all lower bounds from the restraints. This
can be appropriate during early stages of structure calculation to improve
convergence.
repeated_restraints(noe, selstrings=True)
Find NOE restraints with similar selection pairs.
 
Return a list of the type:
 
[( (seli1, seli2), [(selj1, selj2), ...] ), ...]
 
where (selk1, selk2) is a pair of selection strings (if selstrings=True,
otherwise atomSel.AtomSel instances) associated with a restraint of the
input noe potential (a noePot.NOEPot instance).  In the above example,
(seli1, seli2) has similar selection pairs [(selj1, selj2), ...] within the
noe restraint table.  Two individual selections are considered similar if
they select at least one common atom.
spaceSeparatedToRestraint(lines, atom1Name='HN', atom2Name='HN', resid1Col=1, resid2Col=2, distCol=2, errCol=None, defaultErr=1, segid1=None, segid2=None)
Convert input columnar data in condensed form to an Xplor-NIH
readable restraint table. The first argument is either a multiline
string or sequence of strings. Lines beginning with a hash
character (#) are skipped. A single atom name is specified for
each selection using atom1Name and atom2Name. The residue number
is specified by columns specified by resid1Col and
resid2Col. Distance and +/- errors are specified by distCol and
errCol, respectively. If errCol=None, the values of defaultErr is
used instead. The arguments segid1 and segid2 specify segmentNames
for the two selections. Column numbers start with 1.
 
To assign distances to a single nucleus resid2Col can be set to
-1, and then atom2Name is taken as a complete atom selection,
ignoring resid2Col and segid2.
splitTable(noe, deltaResidLR)
writeNEF(noe, name)
Given an NOEPot term, write a NEF record with the specified saveframe
name.

 
Data
        nonstereoAtomMap = {'HDX': ['HD1', 'HD2'], 'HGX': ['HG1', 'HG2']}