mailr7390 - /1.3/specific_fns/model_free/main.py


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

Header


Content

Posted by edward on September 26, 2008 - 23:58:
Author: bugman
Date: Fri Sep 26 23:58:04 2008
New Revision: 7390

URL: http://svn.gna.org/viewcvs/relax?rev=7390&view=rev
Log:
Converted set_error() to the new design.


Modified:
    1.3/specific_fns/model_free/main.py

Modified: 1.3/specific_fns/model_free/main.py
URL: 
http://svn.gna.org/viewcvs/relax/1.3/specific_fns/model_free/main.py?rev=7390&r1=7389&r2=7390&view=diff
==============================================================================
--- 1.3/specific_fns/model_free/main.py (original)
+++ 1.3/specific_fns/model_free/main.py Fri Sep 26 23:58:04 2008
@@ -2547,15 +2547,28 @@
         __docformat__ = "plaintext"
 
 
-    def set_error(self, run, instance, index, error):
-        """Function for setting parameter errors."""
-
-        # Arguments.
-        self.run = run
+    def set_error(self, model_index, index, error):
+        """Set the parameter errors.
+
+        @param model_index: The model index.  This is zero for the global 
models or equal to the
+                            global spin index (which covers the molecule, 
residue, and spin
+                            indices).
+        @type model_index:  int
+        @param index:       The index of the parameter to set the errors for.
+        @type index:        int
+        @param error:       The error value.
+        @type error:        float
+        """
 
         # Parameter increment counter.
         inc = 0
 
+        # Alias the current data pipe.
+        cdp = ds[ds.current_pipe]
+
+        # Determine the model type.
+        model_type = self.determine_model_type()
+
         # Get the parameter object names.
         param_names = self.data_names(set='params')
 
@@ -2565,44 +2578,44 @@
 
         if model_type == 'diff' or model_type == 'all':
             # Spherical diffusion.
-            if ds.diff[self.run].type == 'sphere':
+            if cdp.diff_tensor.type == 'sphere':
                 # Return the parameter array.
                 if index == 0:
-                    ds.diff[self.run].tm_err = error
+                    cdp.diff_tensor.tm_err = error
 
                 # Increment.
                 inc = inc + 1
 
             # Spheroidal diffusion.
-            elif ds.diff[self.run].type == 'spheroid':
+            elif cdp.diff_tensor.type == 'spheroid':
                 # Return the parameter array.
                 if index == 0:
-                    ds.diff[self.run].tm_err = error
+                    cdp.diff_tensor.tm_err = error
                 elif index == 1:
-                    ds.diff[self.run].Da_err = error
+                    cdp.diff_tensor.Da_err = error
                 elif index == 2:
-                    ds.diff[self.run].theta_err = error
+                    cdp.diff_tensor.theta_err = error
                 elif index == 3:
-                    ds.diff[self.run].phi_err = error
+                    cdp.diff_tensor.phi_err = error
 
                 # Increment.
                 inc = inc + 4
 
             # Ellipsoidal diffusion.
-            elif ds.diff[self.run].type == 'ellipsoid':
+            elif cdp.diff_tensor.type == 'ellipsoid':
                 # Return the parameter array.
                 if index == 0:
-                    ds.diff[self.run].tm_err = error
+                    cdp.diff_tensor.tm_err = error
                 elif index == 1:
-                    ds.diff[self.run].Da_err = error
+                    cdp.diff_tensor.Da_err = error
                 elif index == 2:
-                    ds.diff[self.run].Dr_err = error
+                    cdp.diff_tensor.Dr_err = error
                 elif index == 3:
-                    ds.diff[self.run].alpha_err = error
+                    cdp.diff_tensor.alpha_err = error
                 elif index == 4:
-                    ds.diff[self.run].beta_err = error
+                    cdp.diff_tensor.beta_err = error
                 elif index == 5:
-                    ds.diff[self.run].gamma_err = error
+                    cdp.diff_tensor.gamma_err = error
 
                 # Increment.
                 inc = inc + 6
@@ -2612,17 +2625,17 @@
         #######################################################
 
         if model_type == 'all':
-            # Loop over the sequence.
-            for i in xrange(len(ds.res[self.run])):
-                # Skip deselected residues.
-                if not ds.res[self.run][i].select:
+            # Loop over the spins.
+            for spin in spin_loop():
+                # Skip deselected spins.
+                if not spin.select:
                     continue
 
                 # Loop over the residue specific parameters.
                 for param in param_names:
                     # Return the parameter array.
                     if index == inc:
-                        setattr(ds.res[self.run][i], param + "_err", error)
+                        setattr(spin, param + "_err", error)
 
                     # Increment.
                     inc = inc + 1
@@ -2632,15 +2645,18 @@
         ################################################################
 
         if model_type == 'mf' or model_type == 'local_tm':
+            # Get the spin container.
+            spin = return_spin_from_index(model_index)
+
             # Skip deselected residues.
-            if not ds.res[self.run][instance].select:
+            if not spin.select:
                 return
 
             # Loop over the residue specific parameters.
             for param in param_names:
                 # Return the parameter array.
                 if index == inc:
-                    setattr(ds.res[self.run][instance], param + "_err", 
error)
+                    setattr(spin, param + "_err", error)
 
                 # Increment.
                 inc = inc + 1




Related Messages


Powered by MHonArc, Updated Sat Sep 27 00:20:04 2008