mailr7029 - in /branches/rdc_analysis: generic_fns/rdc.py maths_fns/n_state_model.py


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

Header


Content

Posted by edward on July 30, 2008 - 10:02:
Author: bugman
Date: Wed Jul 30 10:02:45 2008
New Revision: 7029

URL: http://svn.gna.org/viewcvs/relax?rev=7029&view=rev
Log:
Added the ability to handle missing RDCs.


Modified:
    branches/rdc_analysis/generic_fns/rdc.py
    branches/rdc_analysis/maths_fns/n_state_model.py

Modified: branches/rdc_analysis/generic_fns/rdc.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/rdc_analysis/generic_fns/rdc.py?rev=7029&r1=7028&r2=7029&view=diff
==============================================================================
--- branches/rdc_analysis/generic_fns/rdc.py (original)
+++ branches/rdc_analysis/generic_fns/rdc.py Wed Jul 30 10:02:45 2008
@@ -646,10 +646,6 @@
         if error_col:
             error = eval(file_data[i][error_col])
 
-        # Skip all rows where the value or error is None.
-        if value == None or (error_col and error == None):
-            continue
-
         # Get the corresponding spin container.
         spin = return_spin(id)
         if spin == None:

Modified: branches/rdc_analysis/maths_fns/n_state_model.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/rdc_analysis/maths_fns/n_state_model.py?rev=7029&r1=7028&r2=7029&view=diff
==============================================================================
--- branches/rdc_analysis/maths_fns/n_state_model.py (original)
+++ branches/rdc_analysis/maths_fns/n_state_model.py Wed Jul 30 10:02:45 2008
@@ -27,6 +27,7 @@
 # relax module imports.
 from alignment_tensor import dAi_dAxx, dAi_dAyy, dAi_dAxy, dAi_dAxz, 
dAi_dAyz, to_tensor
 from chi2 import chi2, dchi2_element, d2chi2_element
+from float import isNaN
 from rdc import ave_rdc_tensor, ave_rdc_tensor_dDij_dAmn, rdc_tensor
 from rotation_matrix import R_euler_zyz
 
@@ -154,6 +155,13 @@
             dAi_dAxz(self.dA[3])
             dAi_dAyz(self.dA[4])
 
+            # Missing data matrix.
+            self.missing_Dij = zeros((self.num_align, self.num_spins), 
float64)
+            for i in xrange(self.num_align):
+                for j in xrange(self.num_spins):
+                    if isNaN(self.Dij[i, j]):
+                        self.missing_Dij[i, j] = 1
+
             # RDC function, gradient, and Hessian matrices.
             self.Dij_theta = zeros((self.num_align, self.num_spins), float64)
             self.dDij_theta = zeros((self.total_num_params, self.num_align, 
self.num_spins), float64)
@@ -355,6 +363,10 @@
             for j in xrange(self.num_spins):
                 # Calculate the average RDC.
                 self.Dij_theta[i, j] = ave_rdc_tensor(self.dip_const[j], 
self.mu[j], self.N, self.A[i], weights=self.probs)
+
+                # Replace missing data with the back calculated value (to 
give a zero chi-squared for the missing element).
+                if self.missing_Dij[i, j]:
+                    self.Dij[i, j] = self.Dij_theta[i, j]
 
             # Calculate and sum the single alignment chi-squared value.
             chi2_sum = chi2_sum + chi2(self.Dij[i], self.Dij_theta[i], 
self.sigma_ij[i])




Related Messages


Powered by MHonArc, Updated Wed Jul 30 20:40:32 2008