mailr25880 - /branches/frame_order_cleanup/auto_analyses/frame_order.py


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

Header


Content

Posted by edward on September 17, 2014 - 17:11:
Author: bugman
Date: Wed Sep 17 17:11:43 2014
New Revision: 25880

URL: http://svn.gna.org/viewcvs/relax?rev=25880&view=rev
Log:
Created the sobol_setup() method for the frame order auto-analysis.

This is used to correctly handle the new design of the 
frame_order.sobol_setup user function
consistently throughout the protocol.

Modified:
    branches/frame_order_cleanup/auto_analyses/frame_order.py

Modified: branches/frame_order_cleanup/auto_analyses/frame_order.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/frame_order_cleanup/auto_analyses/frame_order.py?rev=25880&r1=25879&r2=25880&view=diff
==============================================================================
--- branches/frame_order_cleanup/auto_analyses/frame_order.py   (original)
+++ branches/frame_order_cleanup/auto_analyses/frame_order.py   Wed Sep 17 
17:11:43 2014
@@ -133,8 +133,7 @@
 
                 # The numerical optimisation settings.
                 opt = self.opt_mc
-                max_num, oversample = opt.get_min_sobol_info(0)
-                self.interpreter.frame_order.sobol_setup(max_num=max_num, 
oversample=oversample)
+                self.sobol_setup(opt.get_min_sobol_info(0))
 
                 # Monte Carlo simulations.
                 self.interpreter.monte_carlo.setup(number=self.mc_sim_num)
@@ -221,9 +220,7 @@
                 pass
 
             # The numerical optimisation settings.
-            max_num, oversample = opt.get_min_sobol_info(i)
-            if max_num != None:
-                self.interpreter.frame_order.sobol_setup(max_num=max_num, 
oversample=oversample)
+            self.sobol_setup(opt.get_min_sobol_info(i))
 
             # Perform the optimisation.
             
self.interpreter.minimise.execute(min_algor=opt.get_min_algor(i), 
func_tol=opt.get_min_func_tol(i), max_iter=opt.get_min_max_iter(i))
@@ -597,9 +594,7 @@
                     self.interpreter.minimise.grid_zoom(level=zoom)
 
                 # The numerical optimisation settings.
-                max_num, oversample = opt.get_grid_sobol_info(i)
-                if max_num != None:
-                    
self.interpreter.frame_order.sobol_setup(max_num=max_num, 
oversample=oversample)
+                self.sobol_setup(opt.get_grid_sobol_info(i))
 
                 # Set up the custom grid increments.
                 incs = self.custom_grid_incs(model, inc=opt.get_grid_inc(i))
@@ -610,9 +605,7 @@
             # Minimise (for the PCS data subset and full RDC set).
             for i in opt.loop_min():
                 # The numerical optimisation settings.
-                max_num, oversample = opt.get_min_sobol_info(i)
-                if max_num != None:
-                    
self.interpreter.frame_order.sobol_setup(max_num=max_num, 
oversample=oversample)
+                self.sobol_setup(opt.get_min_sobol_info(i))
 
                 # Perform the optimisation.
                 
self.interpreter.minimise.execute(min_algor=opt.get_min_algor(i), 
func_tol=opt.get_min_func_tol(i), max_iter=opt.get_min_max_iter(i))
@@ -632,9 +625,7 @@
             opt = self.opt_full
             for i in opt.loop_min():
                 # The numerical optimisation settings.
-                max_num, oversample = opt.get_min_sobol_info(i)
-                if max_num != None:
-                    
self.interpreter.frame_order.sobol_setup(max_num=max_num, 
oversample=oversample)
+                self.sobol_setup(opt.get_min_sobol_info(i))
 
                 # Perform the optimisation.
                 
self.interpreter.minimise.execute(min_algor=opt.get_min_algor(i), 
func_tol=opt.get_min_func_tol(i), max_iter=opt.get_min_max_iter(i))
@@ -703,9 +694,7 @@
                 self.interpreter.minimise.grid_zoom(level=zoom)
 
             # The numerical optimisation settings.
-            max_num, oversample = opt.get_grid_sobol_info(i)
-            if max_num != None:
-                self.interpreter.frame_order.sobol_setup(max_num=max_num, 
oversample=oversample)
+            self.sobol_setup(opt.get_grid_sobol_info(i))
 
             # The number of increments.
             inc = opt.get_grid_inc(i)
@@ -719,9 +708,7 @@
         # Minimise.
         for i in opt.loop_min():
             # The numerical optimisation settings.
-            max_num, oversample = opt.get_min_sobol_info(i)
-            if max_num != None:
-                self.interpreter.frame_order.sobol_setup(max_num=max_num, 
oversample=oversample)
+            self.sobol_setup(opt.get_min_sobol_info(i))
 
             # Perform the optimisation.
             
self.interpreter.minimise.execute(min_algor=opt.get_min_algor(i), 
func_tol=opt.get_min_func_tol(i), max_iter=opt.get_min_max_iter(i))
@@ -885,6 +872,29 @@
         return new
 
 
+    def sobol_setup(self, info=None):
+        """Correctly handle the frame_order.sobol_setup user function.
+
+        @keyword info:  The information from the 
Optimisation_settings.get_*_sobol_info() function.
+        @type info:     tuple of int or None
+        """
+
+        # Unpack the info.
+        max_num, oversample = info
+
+        # Nothing to do.
+        if max_num == None:
+            return
+
+        # No oversampling specified.
+        if oversample == None:
+            self.interpreter.frame_order.sobol_setup(max_num=max_num)
+
+        # Full setup.
+        else:
+            self.interpreter.frame_order.sobol_setup(max_num=max_num, 
oversample=oversample)
+
+
     def visualisation(self, model=None):
         """Create visual representations of the frame order results for the 
given model.
 




Related Messages


Powered by MHonArc, Updated Wed Sep 17 17:20:03 2014