Hi,

Right, it's missing from the GUI!  I assumed that it was part of the
peak intensity loading wizard, but that is not correct.  I'll have to
think where the best place for this would be.  It would have to be
after the 'Spectra list' GUI element.  Or maybe it could be a button
in that element, after the 'Add' and 'Delete' buttons.  Then I'd need
to check it when the 'Execute' button is clicked on so that the error
window is shown and the auto-analysis blocked.

Cheers,

Edward



On 28 August 2014 10:25, Troels Emtekær Linnet <tlin...@nmr-relax.com> wrote:
> Hi Edward.
>
> I will know, that this will cause some problems.
>
> The button should be part of the GUI, so it can be seen.
>
> There should maybe be a "helper" function, or the error message show
> what is wrong, AND give a suggestion.
>
> For example:
>   "The error analysis is not set up".
>   "Based on your data, you could try:
>      spectrum.error_analysis(subset=[''])
>      spectrum.error_analysis(subset=[''])
>      spectrum.error_analysis(subset=[''])
>
> Best
> Troels
>
> 2014-08-28 10:06 GMT+02:00 Edward d'Auvergne <edw...@nmr-relax.com>:
>> Hi Troels,
>>
>> What is your opinion on forcing the user to perform the error analysis
>> themselves prior to starting the auto-analysis?  I have made the
>> change, though not committed it.  This will require the
>> spectrum.error_analysis user function to be added to 16 system tests
>> to allow them to pass again.
>>
>> Cheers,
>>
>> Edward
>>
>>
>>
>> On 28 August 2014 09:56, Edward d'Auvergne <edw...@nmr-relax.com> wrote:
>>> Hi,
>>>
>>> I've just looked at the auto-analysis error_analysis() method and can
>>> see how bad this code is!  It must be a remnant from very early on in
>>> the implementation of the dispersion analysis.  I'll look at removing
>>> this broken logic.  As for the backend function, if it's only for your
>>> own purposes that's ok.
>>>
>>> Cheers,
>>>
>>> Edward
>>>
>>>
>>>
>>> On 28 August 2014 09:48, Troels Emtekær Linnet <tlin...@nmr-relax.com> 
>>> wrote:
>>>> Dear Edward.
>>>>
>>>> This method is a copy of the one implemented in the auto analysis protocol.
>>>>
>>>> It was not intended to implement a new functionality.
>>>>
>>>> Since this is a back-end function, and "hard" to reach, I will prefer
>>>> to let it stay there.
>>>> But let me know if I should remove it.
>>>>
>>>> Best
>>>> Troels
>>>>
>>>> 2014-08-28 9:02 GMT+02:00 Edward d'Auvergne <edw...@nmr-relax.com>:
>>>>> Hi Troels,
>>>>>
>>>>> This should really be performed by the user and not automatically by
>>>>> relax.  The current spectrum sub-setting you perform is no good.
>>>>> Sometimes a user will have different settings for the same
>>>>> spectrometer but for different offsets, for example they may change
>>>>> the spectral width.  A good example is of HEHAHA experiments where you
>>>>> only look at a spectrum with a single peak (you isolate each peak).
>>>>> There is actually no sub-setting assumptions you can make
>>>>> automatically here for the user that will be correct.  There are far
>>>>> too many error analysis combinations that a user could come up with.
>>>>> The best behaviour is to raise a RelaxError to tell the user that they
>>>>> forgot to do something.  I would strongly prefer that this automatic
>>>>> behaviour is not used, it's far to risky and will cause users to
>>>>> perform something incorrectly without them ever knowing!
>>>>>
>>>>> Cheers,
>>>>>
>>>>> Edward
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On 27 August 2014 20:06,  <tlin...@nmr-relax.com> wrote:
>>>>>> Author: tlinnet
>>>>>> Date: Wed Aug 27 20:06:24 2014
>>>>>> New Revision: 25348
>>>>>>
>>>>>> URL: http://svn.gna.org/viewcvs/relax?rev=25348&view=rev
>>>>>> Log:
>>>>>> Added method to automatically perform error analysis on peak heights.
>>>>>>
>>>>>> task #7822(https://gna.org/task/index.php?7822): Implement user function 
>>>>>> to estimate R2eff and associated errors for exponential curve fitting.
>>>>>>
>>>>>> Modified:
>>>>>>     trunk/specific_analyses/relax_disp/data.py
>>>>>>
>>>>>> Modified: trunk/specific_analyses/relax_disp/data.py
>>>>>> URL: 
>>>>>> http://svn.gna.org/viewcvs/relax/trunk/specific_analyses/relax_disp/data.py?rev=25348&r1=25347&r2=25348&view=diff
>>>>>> ==============================================================================
>>>>>> --- trunk/specific_analyses/relax_disp/data.py  (original)
>>>>>> +++ trunk/specific_analyses/relax_disp/data.py  Wed Aug 27 20:06:24 2014
>>>>>> @@ -68,13 +68,14 @@
>>>>>>  from lib.physical_constants import g1H, return_gyromagnetic_ratio
>>>>>>  from lib.sequence import read_spin_data, write_spin_data
>>>>>>  from lib.software.grace import write_xy_data, write_xy_header, 
>>>>>> script_grace2images
>>>>>> +from lib.text.sectioning import section
>>>>>>  from lib.warnings import RelaxWarning, RelaxNoSpinWarning
>>>>>>  from pipe_control import pipes
>>>>>>  from pipe_control.mol_res_spin import check_mol_res_spin_data, 
>>>>>> exists_mol_res_spin_data, generate_spin_id_unique, generate_spin_string, 
>>>>>> return_spin, spin_loop
>>>>>>  from pipe_control.result_files import add_result_file
>>>>>>  from pipe_control.selection import desel_spin
>>>>>>  from pipe_control.sequence import return_attached_protons
>>>>>> -from pipe_control.spectrum import add_spectrum_id
>>>>>> +from pipe_control.spectrum import add_spectrum_id, error_analysis
>>>>>>  from pipe_control.spectrometer import check_frequency, get_frequency
>>>>>>  from pipe_control import value
>>>>>>  import specific_analyses
>>>>>> @@ -247,6 +248,50 @@
>>>>>>
>>>>>>      # Return the dic and list of keys
>>>>>>      return [theta_spin_dic, Domega_spin_dic, w_eff_spin_dic, 
>>>>>> dic_key_list]
>>>>>> +
>>>>>> +
>>>>>> +def check_intensity_errors(spin_id=None):
>>>>>> +    """Check if intensity errors have already been calculated by the 
>>>>>> user.
>>>>>> +
>>>>>> +    @keyword spin_id:           The spin identification string.
>>>>>> +    @type spin_id:              str
>>>>>> +    """
>>>>>> +
>>>>>> +    # Check if intensity errors have already been calculated by the 
>>>>>> user.
>>>>>> +    precalc = True
>>>>>> +    for cur_spin, mol_name, resi, resn, cur_spin_id in 
>>>>>> spin_loop(selection=spin_id, full_info=True, return_id=True, 
>>>>>> skip_desel=True):
>>>>>> +        # No structure.
>>>>>> +        if not hasattr(cur_spin, 'peak_intensity_err'):
>>>>>> +            precalc = False
>>>>>> +            break
>>>>>> +
>>>>>> +        # Determine if a spectrum ID is missing from the list.
>>>>>> +        for id in cdp.spectrum_ids:
>>>>>> +            if id not in cur_spin.peak_intensity_err:
>>>>>> +                precalc = False
>>>>>> +                break
>>>>>> +
>>>>>> +    # If no error analysis of peak heights exists.
>>>>>> +    if not precalc:
>>>>>> +        # Printout.
>>>>>> +        section(file=sys.stdout, text="Error analysis", prespace=2)
>>>>>> +
>>>>>> +        # Loop over the spectrometer frequencies.
>>>>>> +        for frq in loop_frq():
>>>>>> +            # Generate a list of spectrum IDs matching the frequency.
>>>>>> +            ids = []
>>>>>> +            for id in cdp.spectrum_ids:
>>>>>> +                # Check that the spectrometer frequency matches.
>>>>>> +                match_frq = True
>>>>>> +                if frq != None and cdp.spectrometer_frq[id] != frq:
>>>>>> +                    match_frq = False
>>>>>> +
>>>>>> +                # Add the ID.
>>>>>> +                if match_frq:
>>>>>> +                    ids.append(id)
>>>>>> +
>>>>>> +            # Run the error analysis on the subset.
>>>>>> +            error_analysis(subset=ids)
>>>>>>
>>>>>>
>>>>>>  def count_exp():
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> relax (http://www.nmr-relax.com)
>>>>>>
>>>>>> This is the relax-commits mailing list
>>>>>> relax-comm...@gna.org
>>>>>>
>>>>>> 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
>>>>> relax-devel@gna.org
>>>>>
>>>>> 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
relax-devel@gna.org

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