On 13 May 2016 at 04:07, Henry <no-reply.invalid-addr...@gna.org> wrote:
> URL:
>   <http://gna.org/support/?3345>
>
>                  Summary: Inversion recovery curve fitting
>                  Project: relax
>             Submitted by: orton_henry
>             Submitted on: Fri 13 May 2016 02:07:09 UTC
>                 Category: None
>                 Priority: 5 - Normal
>                 Severity: 4 - Important
>                   Status: None
>              Assigned to: None
>         Originator Email:
>              Open/Closed: Open
>          Discussion Lock: Any
>         Operating System: GNU/Linux
>
>     _______________________________________________________
>
> Details:
>
> Hi Edward,
>
> The relax software has been working well for exponential curve fitting of R2
> relaxation, however I have run into a few problems fitting the R1 parameter.
>
> The grid search seems to fail to provide a good starting point for initial
> parameters when the 'inv' model is chosen and always sets the R1 parameter to
> zero. The subsequent minimisation then seems to fail to converge giving either
> n> I(t) = Iinf - (Iinf - I0) * exp(-R1 * t)egative or very small values. The 
> minimisation gives the same results when I
> constrain the grid search to the exact parameters also.
>
> I'm wondering if the functional form of the inversion recovery model is right.
> The model is given as:
>
> I(t) = Iinf - I0 * exp(-R1 * t)
>
> This model claims that the intensity at t=0 is (Iinf - I0) which doesn't seem
> right. Maybe the following model could work better?
>
> I(t) = Iinf - (Iinf - I0) * exp(-R1 * t)
>
> However, even with the default model, I would expect it to fit the data well
> (at least for the R1 parameter) despite the Iinf and I0 parameters maybe being
> fit incorrectly.
>
> In order to avoid the general complexity that seems to come with 3 parameter
> models over 2 parameter models, it would be great to see the inclusion of a 2
> parameter inversion recovery model that is something like this:
>
> I(t) = Iinf * (1 - 2 * exp(-R1 * t))
>
> I had a go at implementing this model simply by modifying the definition of
> the saturation recovery model in the 'exponential_sat.c' file as it is very
> similar. However I got poor results again where the R1 parameter was 4 orders
> of magnitude too large (even when constraining the parameters in the grid
> search). The R1 should be around 0.6 /s
>
> One final thing, I noticed that relax can't handle negative intensities for
> the inversion recovery  model so I had to convert my data to positive.
>
> I've included the script and data I have been using. My data has fairly short
> relaxation delays as I wanted to prevent NOE biexponentials and I'm not sure
> if this is contributing to errors.
>
> Any help would be greatly appreciated.
> Thanks so much,
> Henry
>
> P.S. The data 'gb1Y_t1_relax.csv' is arranged in the following columns and is
> read directly using the script 'relaxmac_t1.py'
>
> [Assignment, 1Hppm, 15Nppm, 1H point, 15N point, tot. num peaks, contrib. num
> peaks, RMSD noise, delay1, delay2, delay3, delay4, intens. 1, intens. 2,
> intens. 3, intens. 4]
>
> The delays are in milliseconds but the script converts this to seconds before
> fitting.

Hi Henry,

Welcome to the relax mailing lists!  Sorry for the late response.
I've been quite busy, and double and triple checking a challenge of an
implementation takes rather some time.  I think you might be correct
with the inversion recovery experiment.  I went back to my original
source:

    Palmer, A. G. and Rance, M. and Wright, P. E. (1991)
Intramolecular Motions of a Zinc Finger DNA-Binding Domain from Xfin
Characterized by Proton-Detected Natural Abundance 3C Heteronuclear
NMR Spectroscopy.  J. Am. Chem.Soc., 113, 4371-4380

There the equation is:

    I(t) = Iinf - (Iinf - I0) * exp(-R1 * t)

This was the equation as I knew it. I checked the
target_functions/exponential_inv.c and can see that our implementation
is:

    I(t) = Iinf - I0 * exp(-R1 * t)

This is clearly incorrect.  And I have no idea how this happened, as I
am quite familiar with this equation.  However no one has picked this
up as, in the 15 year history of relax, no one has measured the
inversion recovery experiment and tested relax with it.  The
experiment is far inferior to the saturation recovery experiment (the
3 parameter fit absorbs significantly more noise into the R1 value
compared to a 2 parameter fit).  Are you sure you measured the
inversion recovery experiment?  Anyway, this is why this bug has never
been seen before.  I am in the process of updating the code and will
get back to you once this bug is fixed.

Regards,

Edward

_______________________________________________
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