mailr12703 - /branches/relax_data/generic_fns/palmer.py


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

Header


Content

Posted by edward on March 02, 2011 - 11:54:
Author: bugman
Date: Wed Mar  2 11:54:01 2011
New Revision: 12703

URL: http://svn.gna.org/viewcvs/relax?rev=12703&view=rev
Log:
Updated the Modelfree4 generic_fns.palmer module for the new relax data ID 
string design.


Modified:
    branches/relax_data/generic_fns/palmer.py

Modified: branches/relax_data/generic_fns/palmer.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/relax_data/generic_fns/palmer.py?rev=12703&r1=12702&r2=12703&view=diff
==============================================================================
--- branches/relax_data/generic_fns/palmer.py (original)
+++ branches/relax_data/generic_fns/palmer.py Wed Mar  2 11:54:01 2011
@@ -1,6 +1,6 @@
 
###############################################################################
 #                                                                            
 #
-# Copyright (C) 2003-2009 Edward d'Auvergne                                  
 #
+# Copyright (C) 2003-2011 Edward d'Auvergne                                  
 #
 #                                                                            
 #
 # This file is part of the program relax.                                    
 #
 #                                                                            
 #
@@ -54,16 +54,16 @@
 
     # Loop over the sequence.
     for spin in spin_loop():
-        # Relaxation data must exist!
-        if not hasattr(spin, 'relax_data'):
+        # Relaxation data and errors must exist!
+        if (not hasattr(spin, 'ri_data') or spin.ri_data == None) or (not 
hasattr(spin, 'ri_data_err') or spin.ri_data_err == None):
             spin.select = False
 
         # Require 3 or more relaxation data points.
-        elif len(spin.relax_data) < 3:
+        elif len(spin.ri_data) < 3:
             spin.select = False
 
         # Require at least as many data points as params to prevent 
over-fitting.
-        elif hasattr(spin, 'params') and spin.params and len(spin.params) > 
len(spin.relax_data):
+        elif hasattr(spin, 'params') and spin.params and len(spin.params) > 
len(spin.ri_data):
             spin.select = False
 
 
@@ -133,22 +133,15 @@
     mkdir_nofail(dir, verbosity=0)
 
     # Number of field strengths and values.
-    num_frq = 0
     frq = []
-    for spin in spin_loop(spin_id):
-        if hasattr(spin, 'num_frq'):
-            if spin.num_frq > num_frq:
-                # Number of field strengths.
-                num_frq = spin.num_frq
-
-                # Field strength values.
-                for val in spin.frq:
-                    if val not in frq:
-                        frq.append(val)
+    for ri_id in cdp.ri_ids:
+        # New frequency.
+        if cdp.frq[ri_id] not in frq:
+            frq.append(cdp.frq[ri_id])
 
     # The 'mfin' file.
     mfin = open_write_file('mfin', dir, force)
-    create_mfin(mfin, diff_search=diff_search, sims=sims, sim_type=sim_type, 
trim=trim, num_frq=num_frq, frq=frq)
+    create_mfin(mfin, diff_search=diff_search, sims=sims, sim_type=sim_type, 
trim=trim, num_frq=len(frq), frq=frq)
     mfin.close()
 
     # Open the 'mfdata', 'mfmodel', and 'mfpar' files.
@@ -162,16 +155,15 @@
         if not spin.select:
             continue
 
-        if hasattr(spin, 'num_frq'):
-            # The 'mfdata' file.
-            if not create_mfdata(mfdata, spin=spin, spin_id=id, 
num_frq=num_frq, frq=frq):
-                continue
-
-            # The 'mfmodel' file.
-            create_mfmodel(mfmodel, spin=spin, spin_id=id, steps=steps, 
constraints=constraints)
-
-            # The 'mfpar' file.
-            create_mfpar(mfpar, spin=spin, spin_id=id, res_num=res_num, 
atom1=atom1, atom2=atom2)
+        # The 'mfdata' file.
+        if not create_mfdata(mfdata, spin=spin, spin_id=id, 
num_frq=len(frq), frq=frq):
+            continue
+
+        # The 'mfmodel' file.
+        create_mfmodel(mfmodel, spin=spin, spin_id=id, steps=steps, 
constraints=constraints)
+
+        # The 'mfpar' file.
+        create_mfpar(mfpar, spin=spin, spin_id=id, res_num=res_num, 
atom1=atom1, atom2=atom2)
 
     # Close the 'mfdata', 'mfmodel', and 'mfpar' files.
     mfdata.close()
@@ -211,25 +203,26 @@
         # Set the data to None.
         r1, r2, noe = None, None, None
 
-        # Loop over the relevant relaxation data.
-        for k in xrange(spin.num_ri):
-            if frq[j] != spin.frq[spin.remap_table[k]]:
+        # Loop over the relaxation data.
+        for ri_id in cdp.ri_ids:
+            # The frequency does not match.
+            if frq[j] != cdp.frq[ri_id]
                 continue
 
             # Find the corresponding R1.
-            if spin.ri_labels[k] == 'R1':
-                r1 = spin.relax_data[k]
-                r1_err = spin.relax_error[k]
+            if cdp.ri_type[ri_id] == 'R1':
+                r1 = spin.ri_data[ri_id]
+                r1_err = spin.ri_data_err[ri_id]
 
             # Find the corresponding R2.
-            elif spin.ri_labels[k] == 'R2':
-                r2 = spin.relax_data[k]
-                r2_err = spin.relax_error[k]
+            elif cdp.ri_type[ri_id] == 'R2':
+                r2 = spin.ri_data[ri_id]
+                r2_err = spin.ri_data_err[ri_id]
 
             # Find the corresponding NOE.
-            elif spin.ri_labels[k] == 'NOE':
-                noe = spin.relax_data[k]
-                noe_err = spin.relax_error[k]
+            elif cdp.ri_type[ri_id] == 'NOE':
+                noe = spin.ri_data[ri_id]
+                noe_err = spin.ri_data_err[ri_id]
 
         # Test if the R1 exists for this frequency, otherwise skip the data.
         if r1:




Related Messages


Powered by MHonArc, Updated Wed Mar 02 12:00:02 2011