mailr25179 - in /branches/frame_order_cleanup: ./ auto_analyses/relax_disp.py 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 August 21, 2014 - 17:27:
Author: bugman
Date: Thu Aug 21 17:27:39 2014
New Revision: 25179

URL: http://svn.gna.org/viewcvs/relax?rev=25179&view=rev
Log:
Merged revisions 25175-25176 via svnmerge from 
svn+ssh://bugman@xxxxxxxxxxx/svn/relax/trunk

........
  r25175 | bugman | 2014-08-21 17:05:48 +0200 (Thu, 21 Aug 2014) | 6 lines
  
  Added the R1 parameter fitting GUI element to the dispersion GUI tab.
  
  This is a simple Boolean toggle element that allows the R1 optimisation to 
be turned on.  The value
  is passed into the auto-analysis.
........
  r25176 | bugman | 2014-08-21 17:07:04 +0200 (Thu, 21 Aug 2014) | 6 lines
  
  Added the r1_fit argument to the relaxation dispersion auto-analysis.
  
  When this is True, the relax_disp.r1_fit user function will be called to 
turn R1 parameter fitting
  on.
........

Modified:
    branches/frame_order_cleanup/   (props changed)
    branches/frame_order_cleanup/auto_analyses/relax_disp.py
    branches/frame_order_cleanup/gui/analyses/auto_relax_disp.py

Propchange: branches/frame_order_cleanup/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Thu Aug 21 17:27:39 2014
@@ -1 +1 @@
-/trunk:1-25173
+/trunk:1-25173,25175-25176

Modified: branches/frame_order_cleanup/auto_analyses/relax_disp.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/frame_order_cleanup/auto_analyses/relax_disp.py?rev=25179&r1=25178&r2=25179&view=diff
==============================================================================
--- branches/frame_order_cleanup/auto_analyses/relax_disp.py    (original)
+++ branches/frame_order_cleanup/auto_analyses/relax_disp.py    Thu Aug 21 
17:27:39 2014
@@ -51,7 +51,7 @@
     opt_func_tol = 1e-25
     opt_max_iterations = int(1e7)
 
-    def __init__(self, pipe_name=None, pipe_bundle=None, results_dir=None, 
models=[MODEL_R2EFF], grid_inc=11, mc_sim_num=500, exp_mc_sim_num=None, 
modsel='AIC', pre_run_dir=None, optimise_r2eff=False, insignificance=0.0, 
numeric_only=False, mc_sim_all_models=False, eliminate=True, 
set_grid_r20=False):
+    def __init__(self, pipe_name=None, pipe_bundle=None, results_dir=None, 
models=[MODEL_R2EFF], grid_inc=11, mc_sim_num=500, exp_mc_sim_num=None, 
modsel='AIC', pre_run_dir=None, optimise_r2eff=False, insignificance=0.0, 
numeric_only=False, mc_sim_all_models=False, eliminate=True, 
set_grid_r20=False, r1_fit=False):
         """Perform a full relaxation dispersion analysis for the given list 
of models.
 
         @keyword pipe_name:                 The name of the data pipe 
containing all of the data for the analysis.
@@ -84,6 +84,7 @@
         @type eliminate:                    bool
         @keyword set_grid_r20:              A flag which if True will set 
the grid R20 values from the minimum R2eff values through the 
r20_from_min_r2eff user function. This will speed up the grid search with a 
factor GRID_INC^(Nr_spec_freq). For a CPMG experiment with two fields and 
standard GRID_INC=21, the speed-up is a factor 441.
         @type set_grid_r20:                 bool
+        @keyword r1_fit:                    A flag which if True will 
activate R1 parameter fitting via relax_disp.r1_fit for the models that 
support it.  If False, then the relax_disp.r1_fit user function will not be 
called.
         """
 
         # Printout.
@@ -112,6 +113,7 @@
         self.numeric_only = numeric_only
         self.mc_sim_all_models = mc_sim_all_models
         self.eliminate = eliminate
+        self.r1_fit = r1_fit
 
         # No results directory, so default to the current directory.
         if not self.results_dir:
@@ -529,6 +531,11 @@
         if MODEL_R2EFF in self.models:
             self.error_analysis()
 
+        # R1 parameter fitting.
+        if self.r1_fit:
+            subtitle(file=sys.stdout, text="R1 parameter optimisation 
activation", prespace=3)
+            self.interpreter.relax_disp.r1_fit(fit=self.r1_fit)
+
         # Loop over the models.
         self.model_pipes = []
         for model in self.models:

Modified: branches/frame_order_cleanup/gui/analyses/auto_relax_disp.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/frame_order_cleanup/gui/analyses/auto_relax_disp.py?rev=25179&r1=25178&r2=25179&view=diff
==============================================================================
--- branches/frame_order_cleanup/gui/analyses/auto_relax_disp.py        
(original)
+++ branches/frame_order_cleanup/gui/analyses/auto_relax_disp.py        Thu 
Aug 21 17:27:39 2014
@@ -114,6 +114,7 @@
             ds.relax_gui.analyses[data_index].pipe_bundle = pipe_bundle
 
             # Initialise the variables.
+            ds.relax_gui.analyses[data_index].r1_fit = False
             ds.relax_gui.analyses[data_index].numeric_only = False
             ds.relax_gui.analyses[data_index].grid_inc = None
             ds.relax_gui.analyses[data_index].mc_sim_num = None
@@ -286,6 +287,9 @@
             if model != MODEL_NOREX and model in MODEL_LIST_R1RHO and not 
has_r1rho_exp_type():
                 model_mismatch.append([model, 'R1rho'])
 
+        # The R1 parameter fitting flag.
+        data.r1_fit = self.r1_fit.GetValue()
+
         # The numeric only solution.
         data.numeric_only = self.numeric_only.GetValue()
 
@@ -352,6 +356,10 @@
         # Add the dispersion models GUI element, with spacing.
         self.model_field = Disp_model_list(self, box)
         self.model_field.set_value(self.data.disp_models)
+
+        # R1 parameter optimisation.
+        tooltip = "Toggle the optimisation of the off-resonance R1 
parameter.\n\nThis allows the optimisation of R1 values to be turned on an 
off for the relaxation dispersion dispersion models.  If turned off, the 
current values of R1 will be fixed.  Otherwise the R1 values will be added to 
the model parameter set.  For models which do not support the R1 parameter 
for off-resonance effects, this setting will have no effect."
+        self.r1_fit = Boolean_ctrl(box, self, text="R1 parameter 
optimisation:", default=False, tooltip=tooltip, width_text=self.width_text, 
width_button=self.width_button, spacer=self.spacer_horizontal)
 
         # The numeric only solution.
         tooltip = "The class of models to use in the final model 
selection.\n\nThe default of False allows all dispersion models to be 
compared for statistical significance in the analysis (no exchange, the 
analytic models and the numeric models).  The value of True will activate a 
pure numeric solution - the analytic models will be optimised, as they are 
very useful for replacing the grid search for the numeric models, but the 
final model selection will not include them."
@@ -596,6 +604,12 @@
         @keyword upload:    A flag which if True will cause the frame to 
send data to the relax data store.  If False, data will be downloaded from 
the relax data store to update the frame.
         @type upload:       bool
         """
+
+        # The R1 parameter fitting flag.
+        if upload:
+            self.data.r1_fit = self.r1_fit.GetValue()
+        elif hasattr(self.data, 'r1_fit'):
+            self.r1_fit.SetValue(bool(self.data.r1_fit))
 
         # The numeric solution only flag.
         if upload:
@@ -699,7 +713,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, 
insignificance=self.data.insignificance, 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, 
r1_fit=self.data.r1_fit)
 
         # Alias the relax data store data.
         data = ds.relax_gui.analyses[self.data_index]




Related Messages


Powered by MHonArc, Updated Thu Aug 21 17:40:03 2014