Hi Edward.

As you may have noticed, 1/3 of the code is iterating over the same theme.

The best thing would be to device a custom iterator function.
Like pymol: http://www.pymolwiki.org/index.php/Iterate

Then a general write statistics "to file", and a new grace plot function,
to plot from these files.

But I don't have time to look into this at the moment.


Best
Troels



2014-09-26 17:40 GMT+02:00 Edward d'Auvergne <[email protected]>:

> 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,  <[email protected]> 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
> > [email protected]
> >
> > 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
>
> _______________________________________________
> relax (http://www.nmr-relax.com)
>
> This is the relax-devel mailing list
> [email protected]
>
> 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-devel
>
_______________________________________________
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
[email protected]

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-devel

Reply via email to