mailr21290 - /branches/relax_disp/gui/analyses/auto_relax_disp.py


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

Header


Content

Posted by edward on October 28, 2013 - 17:32:
Author: bugman
Date: Mon Oct 28 17:32:16 2013
New Revision: 21290

URL: http://svn.gna.org/viewcvs/relax?rev=21290&view=rev
Log:
A GUI element for the insignificance level for the dispersion auto-analysis 
has been added.

This defaults to 1.0.  The user can input any number they wish.  Checks were 
added for non-numerical input.


Modified:
    branches/relax_disp/gui/analyses/auto_relax_disp.py

Modified: branches/relax_disp/gui/analyses/auto_relax_disp.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/relax_disp/gui/analyses/auto_relax_disp.py?rev=21290&r1=21289&r2=21290&view=diff
==============================================================================
--- branches/relax_disp/gui/analyses/auto_relax_disp.py (original)
+++ branches/relax_disp/gui/analyses/auto_relax_disp.py Mon Oct 28 17:32:16 
2013
@@ -41,7 +41,7 @@
 from gui.fonts import font
 from gui.message import error_message, Missing_data
 from gui import paths
-from gui.string_conv import gui_to_bool, gui_to_int, gui_to_str, str_to_gui
+from gui.string_conv import float_to_gui, gui_to_bool, gui_to_float, 
gui_to_int, gui_to_str, str_to_gui
 from gui.uf_objects import Uf_storage; uf_store = Uf_storage()
 from gui.wizards.peak_intensity import Peak_intensity_wizard
 from lib.text.gui import dw, dwH, i0, kex, padw2, phi_ex, phi_exB, phi_exC, 
r1, r1rho, r1rho_prime, r2, r2a, r2b, r2eff
@@ -119,6 +119,7 @@
             ds.relax_gui.analyses[data_index].mc_sim_num = None
             ds.relax_gui.analyses[data_index].pre_run_dir = None
             ds.relax_gui.analyses[data_index].mc_sim_all_models = False
+            ds.relax_gui.analyses[data_index].insignificance = 1.0
             ds.relax_gui.analyses[data_index].save_dir = self.gui.launch_dir
 
             # Set the default dispersion models based on the experiment type.
@@ -295,6 +296,13 @@
         data.mc_sim_num = gui_to_int(self.mc_sim_num.GetValue())
         data.mc_sim_all_models = self.mc_sim_all_models.GetValue()
 
+        # The insignificance level.
+        data.insignificance = self.insignificance.GetValue()
+        try:
+            data.insignificance = gui_to_float(data.insignificance)
+        except:
+            missing.append("The insignificance level must be a number.")
+
         # Optimisation precision.
         data.opt_func_tol = self.opt_func_tol
         data.opt_max_iterations = self.opt_max_iterations
@@ -355,6 +363,10 @@
         # The MC simulation settings.
         self.mc_sim_num = Spin_ctrl(box, self, text="Monte Carlo simulation 
number:", default=500, min=1, max=100000, tooltip="This is the number of 
Monte Carlo simulations performed for error propagation and analysis.  For 
best results, at least 500 is recommended.", width_text=self.width_text, 
width_button=self.width_button, spacer=self.spacer_horizontal)
         self.mc_sim_all_models = Boolean_ctrl(box, self, text="Per model 
error analysis:", default=False, tooltip="A flag which if True will cause 
Monte Carlo simulations to be performed for each individual model.  Otherwise 
Monte Carlo simulations will be reserved for the final model.", 
width_text=self.width_text, width_button=self.width_button, 
spacer=self.spacer_horizontal)
+
+        # The insignificance cutoff.
+        tooltip = "The %s/%s value in rad/s by which to judge 
insignificance.  If the maximum difference between two points on all 
dispersion curves for a spin is less than this value, that spin will be 
deselected.  This does not affect the '%s' model.  Set this value to 0.0 to 
use all data." % (r2eff, r1rho, MODEL_NOREX)
+        self.insignificance = Text_ctrl(box, self, text="Insignificance 
level:", default="1.0", tooltip=tooltip, button=False, 
width_text=self.width_text, width_button=self.width_button, 
spacer=self.spacer_horizontal)
 
         # Stretchable spacing (with a minimal space).
         box.AddSpacer(30)
@@ -604,6 +616,16 @@
             self.data.mc_sim_all_models = self.mc_sim_all_models.GetValue()
         elif hasattr(self.data, 'mc_sim_all_models'):
             
self.mc_sim_all_models.SetValue(bool(self.data.mc_sim_all_models))
+
+        # The insignificance level.
+        if upload:
+            self.data.insignificance = self.insignificance.GetValue()
+            try:
+                self.data.insignificance = 
gui_to_float(self.data.insignificance)
+            except:
+                pass
+        elif hasattr(self.data, 'insignificance'):
+            
self.insignificance.SetValue(float_to_gui(self.data.insignificance))
 
         # The results directory.
         if upload:
@@ -673,7 +695,7 @@
         Relax_disp.opt_max_iterations = self.data.opt_max_iterations
 
         # Execute.
-        Relax_disp(pipe_name=self.data.pipe_name, 
pipe_bundle=self.data.pipe_bundle, results_dir=self.data.save_dir, 
models=self.data.models, grid_inc=self.data.inc, 
mc_sim_num=self.data.mc_sim_num, pre_run_dir=self.data.pre_run_dir, 
mc_sim_all_models=self.data.mc_sim_all_models, 
numeric_only=self.data.numeric_only)
+        Relax_disp(pipe_name=self.data.pipe_name, 
pipe_bundle=self.data.pipe_bundle, results_dir=self.data.save_dir, 
models=self.data.models, grid_inc=self.data.inc, 
mc_sim_num=self.data.mc_sim_num, pre_run_dir=self.data.pre_run_dir, 
mc_sim_all_models=self.data.mc_sim_all_models, 
insignificance=self.data.insignificance, numeric_only=self.data.numeric_only)
 
         # Alias the relax data store data.
         data = ds.relax_gui.analyses[self.data_index]




Related Messages


Powered by MHonArc, Updated Mon Oct 28 17:40:02 2013