Hi Edward,

Palmer et al. (1991) JACS. 113: 4371-4380 is a nice reference for the error
conversion. It looks like the value for standard deviation between peaks in
paired spectra is sqrt(2) multiplied by the base plane RMS value (in
particular, see the short paragraph at the top right of page 4375 in this
manuscript). However, the authors seem to use the base plane RMS values
regardless, and then verify that the qualitative conclusions do not 
change when
using the more conservative error estimates (i.e. multiplying by 1.4).

There's an extensive discussion of using chi-square critical values to verify
the validity of this relationship between the noise types, though I must
concede that I don't grasp all the details after the first reading.

Tyler


Quoting Edward d'Auvergne <[EMAIL PROTECTED]>:

> Hi,
>
> There are three ways that an error analysis can be done for relaxation
> curve fitting, although one of those is only partly implemented in
> relax at the moment (that means it won't work until I write some
> computer code).  These are:
>
> 1.  Collect all spectra in duplicate, triplicate, or more if you
> really have lot of NMR time to kill, for absolutely no reason.  The
> peak intensity error for a single spin is calculated as the standard
> deviation for each peak.  Because this is inaccurate for a low replica
> number, this error is averaged for all peaks to give one error per
> spectrum.  This error is then used in the Monte Carlo simulations.
>
> 2.  If only some spectra are duplicated, then the average of the
> errors for all spectra is calculated.  This gives a single error value
> for all spins and all spectra.  This is then used in the Monte Carlo
> simulations.
>
> 3.  This is the error analysis technique which is not fully
> implemented yet.  If no spectra are recorded in duplicate, then one
> needs to use the RMSD of the base plane noise.  This is similar to
> what relax uses for the NOE analysis (hence shouldn't be too hard to
> implement for relaxation curve fitting).  I would need to find the
> reference, but I think this value needs to be divided or multiplied by
> root 2 to convert it to a peak height uncertainty.  Does anyone know a
> reference for this?  Then a separate error value for all spins and all
> spectra can be used in the Monte Carlo simulations.
>
> Wei Xia has recently asked the same question
> (https://mail.gna.org/public/relax-users/2008-09/msg00000.html).  It
> might be worth reading my reply at
> https://mail.gna.org/public/relax-users/2008-09/msg00002.html.  So
> this feature will be added to relax, but the question is how long will
> that take.  I'd first need the error conversion factor from RMSD of
> base plane noise to peak height, and then add the ability to use the
> RMSD value in relaxation curve fitting.  The first part will be the
> hardest, but you'll need that to do a proper Monte Carlo simulation
> error analysis for the curve fitting.  To do the second part I would
> set up a mini analysis, lets call it a 'system test' because it tests
> the system - relax - to see if the analysis works, and then make this
> system test pass - i.e. implement the feature.
>
> Don't forget that the errors in a complex analysis (e.g model-free and
> reduced spectral density mapping) are just as important as the values
> themselves, if not more.  Getting these wrong will really damage
> optimisation, model selection, and error propagation to the final
> parameters via Monte Carlo simulations.  So both your model-free
> values and errors will be incorrect.
>
> Regards,
>
> Edward
>
>
> On Wed, Oct 8, 2008 at 5:07 PM, Tyler Reddy <[EMAIL PROTECTED]> wrote:
>> Hello,
>>
>> It seems that Relax_fit.py requires replicate data because average 
>> and standard
>> deviation values are used downstream in the analysis. With no replicate data
>> (since I don't have any) the output is shown below. Also, commenting out the
>> average and error propagation across multiple spectra
>>
>> #relax_fit.mean_and_error()
>>
>> doesn't work either, and I get another error output that is looking for an
>> averaged value. I'll probably try using a duplicate data set to 
>> circumvent this
>> for now (unless this is actually another problem).
>>
>> Tyler
>>
>> Output:
>>
>> relax> relax_fit.mean_and_error()
>>
>> Calculating the average intensity and standard deviation of all spectra.
>>
>> Time point:  0.01 s
>> Number of spectra:  1
>> Standard deviation for time point 0:  0.0
>>
>> Time point:  0.050000000000000003 s
>> Number of spectra:  1
>> Standard deviation for time point 1:  0.0
>>
>> Time point:  0.10000000000000001 s
>> Number of spectra:  1
>> Standard deviation for time point 2:  0.0
>>
>> Time point:  0.20000000000000001 s
>> Number of spectra:  1
>> Standard deviation for time point 3:  0.0
>>
>> Time point:  0.29999999999999999 s
>> Number of spectra:  1
>> Standard deviation for time point 4:  0.0
>>
>> Time point:  0.5 s
>> Number of spectra:  1
>> Standard deviation for time point 5:  0.0
>>
>> Time point:  0.80000000000000004 s
>> Number of spectra:  1
>> Standard deviation for time point 6:  0.0
>> Traceback (most recent call last):
>>  File "/Applications/relax-1.3.1/relax", line 408, in <module>
>>    Relax()
>>  File "/Applications/relax-1.3.1/relax", line 125, in __init__
>>    self.interpreter.run(self.script_file)
>>  File "/Applications/relax-1.3.1/prompt/interpreter.py", line 270, in run
>>    return run_script(intro=self.__intro_string, local=self.local,
>> script_file=script_file, quit=self.__quit_flag, 
>> show_script=self.__show_script,
>> raise_relax_error=self.__raise_relax_error)
>>  File "/Applications/relax-1.3.1/prompt/interpreter.py", line 531, in
>> run_script
>>    return console.interact(intro, local, script_file, quit,
>> show_script=show_script, raise_relax_error=raise_relax_error)
>>  File "/Applications/relax-1.3.1/prompt/interpreter.py", line 427, in
>> interact_script
>>    execfile(script_file, local)
>>  File "relax_fit_T1_500Mhz.py", line 45, in <module>
>>    relax_fit.mean_and_error()
>>  File "/Applications/relax-1.3.1/prompt/relax_fit.py", line 96, in
>> mean_and_error
>>    relax_fit_obj.mean_and_error()
>>  File "/Applications/relax-1.3.1/specific_fns/relax_fit.py", line 729, in
>> mean_and_error
>>    sd = sd / float(num_dups)
>> ZeroDivisionError: float division
>>
>>
>> _______________________________________________
>> relax (http://nmr-relax.com)
>>
>> This is the relax-users 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-users
>>
>
> _______________________________________________
> relax (http://nmr-relax.com)
>
> This is the relax-users 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-users
>




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

This is the relax-users 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-users

Reply via email to