mailr4466 - /branches/consistency_tests_1.3/maths_fns/consistency_tests.py


Others Months | Index by Date | Thread Index
>>   [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Header


Content

Posted by sebastien . morin . 1 on January 07, 2008 - 20:03:
Author: semor
Date: Mon Jan  7 20:03:39 2008
New Revision: 4466

URL: http://svn.gna.org/viewcvs/relax?rev=4466&view=rev
Log:
Modified the consistency tests math_fns code.

This is a copy of the 1.2 line code without the 'cos' import and with updated 
copyrights.


Modified:
    branches/consistency_tests_1.3/maths_fns/consistency_tests.py

Modified: branches/consistency_tests_1.3/maths_fns/consistency_tests.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/consistency_tests_1.3/maths_fns/consistency_tests.py?rev=4466&r1=4465&r2=4466&view=diff
==============================================================================
--- branches/consistency_tests_1.3/maths_fns/consistency_tests.py (original)
+++ branches/consistency_tests_1.3/maths_fns/consistency_tests.py Mon Jan  7 
20:03:39 2008
@@ -27,14 +27,30 @@
 from ri_comps import calc_fixed_csa, calc_fixed_dip, comp_csa_const_func, 
comp_dip_const_func
 
 
-class Mapping:
+class Consistency:
     def __init__(self, frq=None, gx=None, gh=None, mu0=None, h_bar=None):
-        """Reduced spectral density mapping."""
+        """Consistency tests for data acquired at different magnetic fields.
+
+        These three tests are used to assess the consistency of datasets 
aquired at different
+        magnetic fields. Inconsistency can affect extracted information from 
experimental data and
+        can be caused by variations in temperature, concentration, pH, water 
suppression, etc.
+
+        This code calculates three functions for each residue. When 
comparing datasets from
+        different magnetic field, the value should be the same for each 
function as these are field
+        independent. The J(0) function is the spectral density at the zero 
frequency and is obtained
+        using a reduced spectral density approach. The F_eta and F_R2 
functions are the
+        consistency functions proposed by Fushman D. et al. (1998) JACS, 
120: 10947-10952.
+
+        To assess the consistency of its datasets, one should first 
calculate those values (J(0),
+        F_eta and F_R2) for each field. Then, the user should compare values 
obtained for different
+        magnetic fields. Comparisons could proceed using correlation plots 
and histograms, and the
+        user could also calculate correlation, skewness and kurtosis 
coefficients.
+        """
 
         # Initialise the data container.
         self.data = Data()
 
-        # Add the initial data to self.data
+        # Add the initial data to self.data.
         self.data.gx = gx
         self.data.gh = gh
         self.data.mu0 = mu0
@@ -68,10 +84,10 @@
         return (noe - 1.0) * r1 * self.data.gx / self.data.gh
 
 
-    def func(self, r=None, csa=None, r1=None, r2=None, noe=None):
-        """Function for calculating the three spectal density values.
+    def func(self, orientation=None, tc=None, r=None, csa=None, r1=None, 
r2=None, noe=None):
+        """Function for calculating the three consistency testing values.
 
-        Three values are returned, J(0), J(wX), and J(wH) (or J(0.87wH)).
+        Three values are returned, J(0), F_eta and F_R2.
         """
 
         # Calculate the fixed component of the dipolar and CSA constants.
@@ -95,11 +111,35 @@
         # Calculate J(wX).
         jwx = 1.0 / (3.0*d + c) * (r1 - 1.4*sigma_noe)
 
-        # Calculate J(wH).
-        jwh = sigma_noe / (5.0*d)
+        # Calculate P_2.
+        # p_2 is a second rank Legendre polynomial as p_2(x) = 0.5 * (3 * (x 
** 2) -1)
+        # where x is the cosine of the angle Theta when expressed in radians.
+        #
+        # Note that the angle Theta (called 'orientation' in relax) is the 
angle between the 15N-1H
+        # vector and the principal axis of the 15N chemical shift tensor.
+        p_2 = 0.5 * ((3.0 * (cos(orientation * pi / 180)) ** 2) -1)
+
+        # Calculate eta.
+        # eta is the cross-correlation rate between 15N CSA and 15N-1H 
dipolar interaction. It is
+        # expressed here as proposed in Fushman D. & Cowburn D. (1998) JACS, 
120: 7109-7110.
+        eta = ((d * c) ** 0.5) * (4.0 * j0 + 3.0 * jwx) * p_2
+
+        # Calculate F_eta.
+        # F_eta is independent of the magnetic field for residues with local 
mobility
+        f_eta = eta * self.data.gh / (self.data.frq_list[0, 3] * (4.0 + 3.0 
/ (1 + (self.data.frq_list[0, 1] * tc) ** 2)))
+
+        # Calculate P_HF.
+        # P_HF is the contribution to R2 from high frequency motions.
+        # P_HF = 0.5 * d * [J(wH-wN) + 6 * J(wH) + 6 * J(wH+wN)].
+        # Here, P_HF is described using a reduced spectral density approach.
+        p_hf = 1.3 * (self.data.gx / self.data.gh) * (1.0 - noe) * r1
+
+        # Calculate F_R2.
+        # F_R2 tests the consistency of the transverse relaxation data.
+        f_r2 = (r2 - p_hf) / ((4.0 + 3.0 / (1 + (self.data.frq_list[0, 1] * 
tc) ** 2)) * (d + c/3.0))
 
         # Return the three values.
-        return j0, jwx, jwh
+        return j0, f_eta, f_r2
 
 
 class Data:




Related Messages


Powered by MHonArc, Updated Mon Jan 07 22:20:17 2008