Package schrodinger :: Package trajectory :: Module jcoupling :: Class Jcoupling
[hide private]
[frames] | no frames]

Class Jcoupling

analysistool.AnalysisTool --+
                            |
                           Jcoupling


A class to calculate NMR J-coupling, using Karplus' relation.  This gives
an empirical relationship between NMR J-coupling constants and the torsion
dihedrals.
    3J(phi) = A cos^2(phi+theta) + B cos(phi+theta) + C
A, B and C are the constants parameterized by:
    Hu & Bax; JACS (1997)
More recent parameters are by:
    Schmidt, et al.; Biomol NMR (199)
theta is an offset. if phi is measured from the backbone (C'-N-CA-C'),
then offset needs to be provided, otherwise if offset is zero.

Instance Methods [hide private]
 
__init__(self, atomsel, jtype='JHn_Ha', from_phi=True, *args, **kargs)
Initialize frame slicing information.
 
get_quartets(self, st, pdb_atom_names)
 
find_dihedrals(self, st)
 
doFrameInit(self, frame)
Initialize data that requires a frame instance for reference.
 
processFrame(self, frame)
Collect data for the provided frame.
 
convert_phi_to_j(self, params)
 
getFrameResults(self)
Return results as a numpy array for all values and frames with the first index being across frames.

Inherited from analysistool.AnalysisTool: getDataLabels, getLabel, getResults, plot, plot2D, postProcess, setSlice, shouldProcessFrame

Class Variables [hide private]
  PARAMS = {'Jc_c': {'theta': 0.0, 'A': 1.51, 'B':-1.09, 'C': 0....
  DIHED_ATOMS = {'Jc_c': ['C', 'N', 'CA', 'C'], 'JHn_Ha': ['H', ...
  backbone_asl = ' and (backbone or (sidechain and atom.ptype CB))'
Method Details [hide private]

__init__(self, atomsel, jtype='JHn_Ha', from_phi=True, *args, **kargs)
(Constructor)

 

Initialize frame slicing information.

The behavior of 'start', 'stop', 'step' is the same as the python built-in range function. That is, 'start' is included in the values to be processed, but 'stop' is not. Only the largest value satisfying 'start' and 'step' that is less than 'stop' will be processed.

Overrides: analysistool.AnalysisTool.__init__
(inherited documentation)

doFrameInit(self, frame)

 

Initialize data that requires a frame instance for reference.

This method will be called once, with the first frame that is processed.

Overrides: analysistool.AnalysisTool.doFrameInit
(inherited documentation)

processFrame(self, frame)

 

Collect data for the provided frame.

Overrides: analysistool.AnalysisTool.processFrame
(inherited documentation)

getFrameResults(self)

 

Return results as a numpy array for all values and frames with the first index being across frames.

So, if fr = analysis.getFrameResults(), and the analysis instance calculates three values for each frame, then fr[0] will be the three values for the first frame.

Overrides: analysistool.AnalysisTool.getFrameResults
(inherited documentation)

Class Variable Details [hide private]

PARAMS

Value:
{'Jc_c': {'theta': 0.0, 'A': 1.51, 'B':-1.09, 'C': 0.52}, 'JHn_Ha': {'\
theta':-60.0, 'A': 7.90, 'B':-1.05, 'C': 0.65}, 'JHn_Cb': {'theta': 60\
.0, 'A': 2.90, 'B':-0.56, 'C': 0.18}, 'JHa_C': {'theta': 120.0, 'A': 3\
.76, 'B':-1.63, 'C': 0.89}, 'JHn_C': {'theta': 180.0, 'A': 4.41, 'B':-\
1.36, 'C': 0.24}, 'JHa_N': {'theta': 60.0, 'A':-0.88, 'B':-0.61, 'C':-\
0.27}}

DIHED_ATOMS

Value:
{'Jc_c': ['C', 'N', 'CA', 'C'], 'JHn_Ha': ['H', 'N', 'CA', 'HA'], 'JHn\
_Cb': ['H', 'N', 'CA', 'CB'], 'JHa_C': ['C', 'N', 'CA', 'HA'], 'JHn_C'\
: ['H', 'N', 'CA', 'C'], 'JHa_N': ['HA', 'CA', 'C', 'N']}