mailr8904 - in /branches/bmrb: generic_fns/relax_data.py specific_fns/model_free/bmrb.py


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

Header


Content

Posted by edward on March 05, 2009 - 10:00:
Author: bugman
Date: Thu Mar  5 10:00:43 2009
New Revision: 8904

URL: http://svn.gna.org/viewcvs/relax?rev=8904&view=rev
Log:
Shifted the relaxation data saveframe generation code into 
generic_fns.relax_data.bmrb_write().


Modified:
    branches/bmrb/generic_fns/relax_data.py
    branches/bmrb/specific_fns/model_free/bmrb.py

Modified: branches/bmrb/generic_fns/relax_data.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/bmrb/generic_fns/relax_data.py?rev=8904&r1=8903&r2=8904&view=diff
==============================================================================
--- branches/bmrb/generic_fns/relax_data.py (original)
+++ branches/bmrb/generic_fns/relax_data.py Thu Mar  5 10:00:43 2009
@@ -203,6 +203,52 @@
 
         # Update all data structures.
         update_data_structures_spin(spin, ri_label, frq_label, frq, value)
+
+
+def bmrb_write(star):
+    """Generate the relaxation data saveframes for the NMR-STAR dictionary 
object.
+
+    @param star:    The NMR-STAR dictionary object.
+    @type star:     NMR_STAR instance
+    """
+
+    # Get the current data pipe.
+    cdp = pipes.get_pipe()
+
+    # Initialise the spin specific data lists.
+    res_num_list = []
+    res_name_list = []
+    atom_name_list = []
+    relax_data_list = []
+    relax_error_list = []
+    for i in range(cdp.num_ri):
+        relax_data_list.append([])
+        relax_error_list.append([])
+
+    # Store the spin specific data in lists for later use.
+    for spin, mol_name, res_num, res_name in spin_loop(full_info=True):
+        # Skip deselected spins.
+        if not spin.select:
+            continue
+
+        # The molecule/R1residue/spin info.
+        res_num_list.append(str(res_num))
+        res_name_list.append(str(res_name))
+        atom_name_list.append(str(spin.name))
+
+        # The relaxation data.
+        for i in range(cdp.num_ri):
+            relax_data_list[i].append(str(spin.relax_data[i]))
+            relax_error_list[i].append(str(spin.relax_error[i]))
+
+    # Add the relaxation data.
+    for i in range(cdp.num_ri):
+        if cdp.ri_labels[i] == 'R1':
+            
star.heteronucl_T1_relaxation.add(frq=cdp.frq[cdp.remap_table[i]], 
res_nums=res_num_list, res_names=res_name_list, atom_names=atom_name_list, 
data=relax_data_list[i], errors=relax_error_list[i])
+        elif cdp.ri_labels[i] == 'R2':
+            
star.heteronucl_T2_relaxation.add(frq=cdp.frq[cdp.remap_table[i]], 
res_nums=res_num_list, res_names=res_name_list, atom_names=atom_name_list, 
data=relax_data_list[i], errors=relax_error_list[i])
+        elif cdp.ri_labels[i] == 'NOE':
+            star.heteronucl_NOEs.add(frq=cdp.frq[cdp.remap_table[i]], 
res_nums=res_num_list, res_names=res_name_list, atom_names=atom_name_list, 
data=relax_data_list[i], errors=relax_error_list[i])
 
 
 def copy(pipe_from=None, pipe_to=None, ri_label=None, frq_label=None):

Modified: branches/bmrb/specific_fns/model_free/bmrb.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/bmrb/specific_fns/model_free/bmrb.py?rev=8904&r1=8903&r2=8904&view=diff
==============================================================================
--- branches/bmrb/specific_fns/model_free/bmrb.py (original)
+++ branches/bmrb/specific_fns/model_free/bmrb.py Thu Mar  5 10:00:43 2009
@@ -22,7 +22,7 @@
 
 # relax module imports.
 from bmrblib.nmr_star_dict_v3_1 import NMR_STAR_v3_1
-from generic_fns import mol_res_spin
+from generic_fns import mol_res_spin, relax_data
 from generic_fns.mol_res_spin import spin_loop
 from generic_fns.pipes import get_pipe
 
@@ -60,40 +60,8 @@
         # Generate the entity saveframe.
         mol_res_spin.bmrb_write_entity(star)
 
-        # Initialise the spin specific data lists.
-        res_num_list = []
-        res_name_list = []
-        atom_name_list = []
-        relax_data_list = []
-        relax_error_list = []
-        for i in range(cdp.num_ri):
-            relax_data_list.append([])
-            relax_error_list.append([])
-
-        # Store the spin specific data in lists for later use.
-        for spin, mol_name, res_num, res_name in spin_loop(full_info=True):
-            # Skip deselected spins.
-            if not spin.select:
-                continue
-
-            # The molecule/R1residue/spin info.
-            res_num_list.append(str(res_num))
-            res_name_list.append(str(res_name))
-            atom_name_list.append(str(spin.name))
-
-            # The relaxation data.
-            for i in range(cdp.num_ri):
-                relax_data_list[i].append(str(spin.relax_data[i]))
-                relax_error_list[i].append(str(spin.relax_error[i]))
-
-        # Add the relaxation data.
-        for i in range(cdp.num_ri):
-            if cdp.ri_labels[i] == 'R1':
-                
star.heteronucl_T1_relaxation.add(frq=cdp.frq[cdp.remap_table[i]], 
res_nums=res_num_list, res_names=res_name_list, atom_names=atom_name_list, 
data=relax_data_list[i], errors=relax_error_list[i])
-            elif cdp.ri_labels[i] == 'R2':
-                
star.heteronucl_T2_relaxation.add(frq=cdp.frq[cdp.remap_table[i]], 
res_nums=res_num_list, res_names=res_name_list, atom_names=atom_name_list, 
data=relax_data_list[i], errors=relax_error_list[i])
-            elif cdp.ri_labels[i] == 'NOE':
-                star.heteronucl_NOEs.add(frq=cdp.frq[cdp.remap_table[i]], 
res_nums=res_num_list, res_names=res_name_list, atom_names=atom_name_list, 
data=relax_data_list[i], errors=relax_error_list[i])
+        # Generate the relaxation data saveframes.
+        relax_data.bmrb_write(star)
 
         # Write the contents to the STAR formatted file.
         star.write()




Related Messages


Powered by MHonArc, Updated Thu Mar 05 11:40:02 2009