mailRe: r26065 - /trunk/auto_analyses/relax_disp_repeat_cpmg.py


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

Header


Content

Posted by Edward d'Auvergne on September 26, 2014 - 17:40:
Hi Troels,

To help future users of your analysis, to better document it, and to
help future developers maintain it, you should try to include full
docstrings including epydoc documentation of all arguments for all the
methods of your auto-analysis.

Cheers,

Edward


On 26 September 2014 17:29,  <tlinnet@xxxxxxxxxxxxx> wrote:
Author: tlinnet
Date: Fri Sep 26 17:29:39 2014
New Revision: 26065

URL: http://svn.gna.org/viewcvs/relax?rev=26065&view=rev
Log:
Implemented getting the statistics for parameters and comparing to init NI.

Task #7826 (https://gna.org/task/index.php?7826): Write an python class for 
the repeated analysis of dispersion data.

Modified:
    trunk/auto_analyses/relax_disp_repeat_cpmg.py

Modified: trunk/auto_analyses/relax_disp_repeat_cpmg.py
URL: 
http://svn.gna.org/viewcvs/relax/trunk/auto_analyses/relax_disp_repeat_cpmg.py?rev=26065&r1=26064&r2=26065&view=diff
==============================================================================
--- trunk/auto_analyses/relax_disp_repeat_cpmg.py       (original)
+++ trunk/auto_analyses/relax_disp_repeat_cpmg.py       Fri Sep 26 17:29:39 
2014
@@ -1943,6 +1943,94 @@
             plt.show()


+    def get_min_stat_dic(self, list_r2eff_dics=None, list_glob_ini=None):
+
+        # Loop over the result dictionaries:
+        res_dic = {}
+        for i, min_dic in enumerate(list_r2eff_dics):
+            # Let the reference dic be initial dic
+            min_dic_ref = list_r2eff_dics[0]
+            method_ref = min_dic_ref['method']
+            res_dic['method_ref'] = method_ref
+            glob_ini_ref = list_glob_ini[0]
+            res_dic['glob_ini_ref'] = str(glob_ini_ref)
+            selection = min_dic_ref['selection']
+            res_dic['selection'] = selection
+            params_list = 
min_dic_ref[str(glob_ini_ref)]['params']['params_list']
+            res_dic['params_list'] = params_list
+
+            # Loop over params
+            for j, param in enumerate(params_list):
+                res_dic[param] = {}
+
+                # Let the reference param array be the initial glob.
+                param_arr_ref = 
min_dic_ref[str(glob_ini_ref)]['params'][param]
+                res_dic[param]['param_arr_ref'] = param_arr_ref
+
+                # Get the current method
+                method_cur = min_dic['method']
+
+                res_dic[param][method_cur] = {}
+                res_dic[param][method_cur]['method'] = method_cur
+                res_dic[param][method_cur]['sampling_sparseness'] = []
+                res_dic[param][method_cur]['glob_ini'] = []
+
+                # Other stats.
+                res_dic[param][method_cur]['r_xy'] = []
+                res_dic[param][method_cur]['a'] = []
+
+                # Now loop over glob_ini:
+                for glob_ini in list_glob_ini:
+                    # Get the array, if it exists.
+                    if str(glob_ini) not in min_dic:
+                        continue
+
+                    # Get the data.
+                    param_arr = min_dic[str(glob_ini)]['params'][param]
+
+                    # This require that all number of points are equal.
+                    # If they are not of same length, then dont even 
bother to continue.
+                    if len(param_arr) != len(param_arr_ref):
+                        continue
+
+                    # Store x
+                    sampling_sparseness = float(glob_ini) / 
float(glob_ini_ref) * 100.
+                    
res_dic[param][method_cur]['sampling_sparseness'].append(sampling_sparseness)
+                    res_dic[param][method_cur]['glob_ini'].append(glob_ini)
+
+                    # Store to result dic.
+                    res_dic[param][method_cur][str(glob_ini)] = {}
+                    
res_dic[param][method_cur][str(glob_ini)]['sampling_sparseness'] = 
sampling_sparseness
+                    res_dic[param][method_cur][str(glob_ini)]['param_arr'] 
= param_arr
+
+                    # With intercept at axis.
+                    # Calculate sample correlation coefficient, measure of 
goodness-of-fit of linear regression
+                    x = param_arr_ref
+                    x_m = mean(x)
+                    y = param_arr
+                    y_m = mean(y)
+
+                    # Without intercept.
+                    a = sum(x*y) / sum(x**2)
+                    r_xy = sum(x*y) / sqrt(sum(x**2) * sum(y**2))
+
+                    print(param, method_ref, method_cur, 
sampling_sparseness, glob_ini, r_xy**2, a)
+
+                    # Store to result dic.
+                    res_dic[param][method_cur][str(glob_ini)]['r_xy'] = 
r_xy
+                    res_dic[param][method_cur]['r_xy'].append(r_xy)
+                    res_dic[param][method_cur][str(glob_ini)]['a'] = a
+                    res_dic[param][method_cur]['a'].append(a)
+
+                res_dic[param][method_cur]['sampling_sparseness'] = 
asarray(res_dic[param][method_cur]['sampling_sparseness'])
+                res_dic[param][method_cur]['glob_ini'] = 
asarray(res_dic[param][method_cur]['glob_ini'])
+
+                res_dic[param][method_cur]['r_xy'] = 
asarray(res_dic[param][method_cur]['r_xy'])
+                res_dic[param][method_cur]['a'] = 
asarray(res_dic[param][method_cur]['a'])
+
+        return res_dic
+
+
     def interpreter_start(self):
         # Load the interpreter.
         self.interpreter = Interpreter(show_script=False, 
raise_relax_error=True)


_______________________________________________
relax (http://www.nmr-relax.com)

This is the relax-commits mailing list
relax-commits@xxxxxxx

To unsubscribe from this list, get a password
reminder, or change your subscription options,
visit the list information page at
https://mail.gna.org/listinfo/relax-commits



Related Messages


Powered by MHonArc, Updated Sat Sep 27 17:20:21 2014