======================COPYRIGHT/LICENSE START==========================
CouplingBasic.py: Part of the CcpNmr Analysis program
Copyright (C) 2003-2010 Wayne Boucher and Tim Stevens (University of Cambridge)
The CCPN license can be found in ../../../../license/CCPN.license.
======================COPYRIGHT/LICENSE END============================
for further information, please contact :
If you are using this software for academic purposes, we suggest quoting the following references:
===========================REFERENCE START============================= R. Fogh, J. Ionides, E. Ulrich, W. Boucher, W. Vranken, J.P. Linge, M. Habeck, W. Rieping, T.N. Bhat, J. Westbrook, K. Henrick, G. Gilliland, H. Berman, J. Thornton, M. Nilges, J. Markley and E. Laue (2002). The CCPN project: An interim report on a data model for the NMR community (Progress report). Nature Struct. Biol. 9, 416-418.
Wim F. Vranken, Wayne Boucher, Tim J. Stevens, Rasmus H. Fogh, Anne Pajon, Miguel Llinas, Eldon L. Ulrich, John L. Markley, John Ionides and Ernest D. Laue (2005). The CCPN Data Model for NMR Spectroscopy: Development of a Software Pipeline. Proteins 59, 687 - 696.
===========================REFERENCE END===============================
Assign a jCoupling to a peakDim component for a splitting. Any coupling value will be updated by CouplingBasic notifiers. JCoupling can be None to remove assignment.
ccp.nmr.Nmr.PeakDimComponent, ccp.nmr.Nmr.JCoupling, Float
ccp.nmr.Nmr.PeakDimContribN
Assign a chemical shift to a peakDim component (e.g. reduced dimensionality)
ccp.nmr.Nmr.PeakDimComponent, ccp.nmr.Nmr.Resonance, Float
ccp.nmr.Nmr.PeakDimContrib
Assign the couplings of a peak cluster to any main resonance pair.
ccp.nmr.Nmr.PeakCluster
ccp.nmr.Nmr.JCoupling
Recalculate a J-coupling value based upon the peakDimComponents to which it may be assigned via resonances. Sets any peak and peakDim links.
ccp.nmr.Nmr.JCoupling
Float
Calculate the Karplus coupling, given angle, coupling constant and optional angle offset. Coupling = c0 + c1*cos(angle+angleOffset) + c2*cos(angle+angleOffset)
angle in radians, (c0, c1, c2) tuple, angle offset in radians
coupling
Calculate the Karplus couplings, given angle, coupling constants, angle offset. Coupling = c0 + c1*cos(angle+angleOffset) + c2*cos(angle+angleOffset)
angle in radians, list of (c0, c1, c2) tuples, list of angle offsets in radians
list of couplings
Function to setup automatic curation when couplings ans peak clusters change
Function (to issue notification)
None
Remove the input peak cluster and any associated peakDimComponents that record the coupling contributions.
Nmr.PeakCluster
None
Get the J couplings that match the splitting of a peakDimComponent, within the set tolerances
ccp.nmr.Nmr.PeakDimComponent
List of 2-Tupe of (Float (delta), ccp.nmr.Nmr.JCoupling)
Determine the coupling value in Hz for the peaks of an input peak cluster along the dimension corresponding to the input dimension number.
Nmr.PeakCluster, Int (Nmr.DataDim.dim)
Float (coupling value in Hz)
List the dimensions (ExpDims) of an experiment which carry couplings.
Nmr.Experiment
List of Nmr.ExpDims
Get a text string representing the assignment status of couplings (in all dimensions) represented by a peak cluster
Nmr.PeakCluster, Int
String
Get resonances that correspond to two named atoms in a given residue context - could include sequential neighbours. A prerequisite for accessign the Jcoupling etc for those atoms.
Nmr.NmrProject, MolSystem.Residue, 2-List of Words (MolSystem.Atom.names), Boolean
Nmr.Resonance, Nmr.Resonance
Find the reference data dimension of the input data dimension that corresponds to a coupling referencing.
Nmr.DataDim
Nmr.DataDimRef
Get a text string representing the assignment status of couplings in a specified dimension represented by a peak cluster
Nmr.PeakCluster, Int
String
Get the coupling assignment tolerance (usually Hz) for a given data dim.
ccp.nmr.Nmr.FreqDataDim
Float
Get the J-Coupling list associated with an experiment, making and linking a new one if none exists.
Nmr.Experiment
Nmr.JCouplingList
Get the splitting value (usually in Hz, but possibly in ppm) for a given peakDim component.
ccp.nmr.Nmr.PeakDimComponent
Float
Find any peak clusters (ordered by serial) that are represented by the input peak lists.
List of Nmr.PeakLists
List of Nmr.PeakClusters
Find the peak clusters that may be represented by the input peaks. Cluster type can be set to None to get ant/all clusters
List of Nmr.Peaks, Word (PeakCluster.clusterType)
Nmr.PeakCluster
Find the first JCoupling in a jCoupling list that corresponds to the named atoms in a given residue. Returns None if there is no match.
Nmr.JCouplingList, MolSystem.Residue, 2-List of Words (MolSystem.Atom.names)
Nmr.JCoupling
Retrieve any multiplet pattern previously associated with a spectrum
Nmr.DataSource
String
Make a peak cluster comprising of the selected peaks. The multiplet pattern is a recursive list of sub lists to give an object with the same dimensionality as the peak dims. Each element is either +1, 0 or -1 to specify the sign or absence of a multiplet peak. How to interpret a multiplet pattern is relative to input window pane, e.g. if spectrum is rotated. Automatically makes coupling expDimRefs when required.
List of Nmr.Peaks, List of (Lists of)^numDim-1 Ints(-1,0,+1), Analysis.SpectrumWindowPane
Nmr.PeakCluster
Remove the notification calls to automatically update annotations couplings andpeak clusters when couplings change.
None
None
Sets the value of a JCoupling in a jCoupling list that corresponds to the named atoms. Makes a new JCoupling object if none can be found.
Nmr.JCouplingList, MolSystem.Residue, 2-List of Words (MolSystem.Atom.names)
Nmr.JCoupling
Associate a give multiplet pattern with a spectrum for later recall.
Nmr.DataSource, String
None
Set up the notification calls to automatically update annotations couplings andpeak clusters when couplings change.
None
None
Refresh the main peak cluster annotation (normally carries )
Nmr.PeakCluster
String
Initialise a peak cluster object by enforcing consistent assignments across its component peaks and by setting its annotation approprately.
Nmr.PeakCluster, Nmr.Peak
None
Update the shifts /couplings of resonances assigned to the contributions of a particular peak dim component. Needs to be set because for a non-main component the bare peak dim position is not representative of the true shift, being a linear combination of ppm and coupling.
Nmr.PeakDimComponent
None
Updates annotation string for the peak dimension of a given splitting contribution according to its assignment status
Nmr.PeakDimContribN
None