mailRe: r25100 - /trunk/gui/analyses/auto_relax_disp.py


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

Header


Content

Posted by Troels Emtekær Linnet on August 20, 2014 - 16:57:
Hi Edward.

I actually think it is a quite elegant solution, that if one does not
load R1 data, then the R1 parameter is fitted.

I think it is a better solution than the previous suggestion.

It involves less coding, and the logic is sound.

And the system is still "open" for weird stuff, whereby you by
scripting can analyse with and without fitting R1 in same analyses.

I think this is best.

But in the end. Potato, tomato.
If this solution prevents any further implementation, then this could
also be done.

Best
Troels


2014-08-20 16:48 GMT+02:00 Edward d'Auvergne <edward@xxxxxxxxxxxxx>:
An easy system test would be to load a set of CPMG data and a set of
R1rho data, and then see if this can be analysed assuming no exchange
via the 'No Rex' models.  There are no other models for this yet, but
it would show what is missing.  You've added the infrastructure which
is the hardest part.  What remains to allow this is actually not much
at all now that the infrastructure is in place.  Just a bit of gluing
code.

On a related note, what is your opinion on the suggestions you made in
sr #3135 at https://gna.org/support/?3135#comment0 "Optimisation of
the R1 relaxation rate for the off-resonance R1rho relaxation
dispersion models."?  Namely that we let the user choose if R1 values
are optimised or not for off-resonance data, whether or not R1 values
were loaded.  So then the '* R1 fit' models are merged into the
non-fitted models, and the target function switching occurs without
the user knowing.  You should note that the target function switching
is far simpler than the current model name translation system.  It
just requires a few more if statements at the end of the target
function __init__() method to alias the correct self.func_*() method.

Regards,

Edward


On 20 August 2014 16:36, Troels Emtekær Linnet <tlinnet@xxxxxxxxxxxxx> 
wrote:
Hi Edward.

I think I in the start tried following this path.

But I realised with all the "R1 fit" models, that the very important,
relax_disp.select_model(model)

setup all information for this model.

As this was also a new model implementation, I also wanted the
flexibility to be able to select the desired model, and
be able to compare.

I would suggest that this functionality is not digged further down the
code, before more experience is collected.

Best
Troels



2014-08-20 16:22 GMT+02:00 Edward d'Auvergne <edward@xxxxxxxxxxxxx>:
Hi,

What would be even more powerful would be to shift this functionality
even deeper down and merging the 'No Rex' and 'No Rex R1rho off res'
models into one, just as the 'R2eff' model covers both the exponential
curve-fitting via minimisation and the two-point approximation by
calculation.  Rather than switching the model name for the user, the
target function can be switched.  The 'No Rex R1 fit' model could then
be created (by simply renaming 'No Rex R1rho off res R1 fit') and this
would then eventually handle CPMG data as well.

The reason for this is simple.  In the future, certain interested
parties (you probably know who) plans on developing a combined CPMG
and R1rho model and on analysing this data together.  This will need a
'No Rex' model for statistical comparisons.  The splitting of 'No Rex'
into two models as is currently coded is incompatible with this.  A
'No Rex' model which has a loop over experiment types "for ei in
range(self.NE):" switching to the different functionality would be a
better solution.

Regards,

Edward


On 20 August 2014 16:09,  <tlinnet@xxxxxxxxxxxxx> wrote:
Author: tlinnet
Date: Wed Aug 20 16:09:40 2014
New Revision: 25100

URL: http://svn.gna.org/viewcvs/relax?rev=25100&view=rev
Log:
Made the GUI selection of models for relaxation dispersion more simple.

After the implementation of a function which will translate the models, 
the
'No Rex' model will be converted to the 'No Rex' model for R1rho 
off-resonance.

Also the corresponding 'R1 fit' model will be chosen istead, if R1 data 
has not been loaded.

This makes the model selection easier in the GUI interface.

Modified:
    trunk/gui/analyses/auto_relax_disp.py

Modified: trunk/gui/analyses/auto_relax_disp.py
URL: 
http://svn.gna.org/viewcvs/relax/trunk/gui/analyses/auto_relax_disp.py?rev=25100&r1=25099&r2=25100&view=diff
==============================================================================
--- trunk/gui/analyses/auto_relax_disp.py       (original)
+++ trunk/gui/analyses/auto_relax_disp.py       Wed Aug 20 16:09:40 2014
@@ -715,8 +715,8 @@
         MODEL_R2EFF,
         None,
         MODEL_NOREX,
-        MODEL_NOREX_R1RHO,
-        MODEL_NOREX_R1RHO_FIT_R1,
+#        MODEL_NOREX_R1RHO,
+#        MODEL_NOREX_R1RHO_FIT_R1,
         None,
         MODEL_LM63,
         MODEL_LM63_3SITE,
@@ -735,15 +735,15 @@
         MODEL_M61,
         MODEL_M61B,
         MODEL_DPL94,
-        MODEL_DPL94_FIT_R1,
+#        MODEL_DPL94_FIT_R1,
         MODEL_TP02,
-        MODEL_TP02_FIT_R1,
+#        MODEL_TP02_FIT_R1,
         MODEL_TAP03,
-        MODEL_TAP03_FIT_R1,
+#        MODEL_TAP03_FIT_R1,
         MODEL_MP05,
-        MODEL_MP05_FIT_R1,
+#        MODEL_MP05_FIT_R1,
         MODEL_NS_R1RHO_2SITE,
-        MODEL_NS_R1RHO_2SITE_FIT_R1,
+#        MODEL_NS_R1RHO_2SITE_FIT_R1,
         MODEL_NS_R1RHO_3SITE_LINEAR,
         MODEL_NS_R1RHO_3SITE,
         None,
@@ -756,8 +756,8 @@
         "{%s/%s, %s}" % (r2eff, r1rho, i0),
         None,
         "{%s, ...}" % (r2),
-        "{%s, ...}" % (r2),
-        "{%s, %s, ...}" % (r1, r2),
+#        "{%s, ...}" % (r2),
+#        "{%s, %s, ...}" % (r1, r2),
         None,
         "{%s, ..., %s, %s}" % (r2, phi_ex, kex),
         "{%s, ..., %s, kB, %s, kC}" % (r2, phi_exB, phi_exC),
@@ -776,15 +776,15 @@
         "{%s, ..., %s, %s}" % (r1rho_prime, phi_ex, kex),
         "{%s, ..., pA, %s, %s}" % (r1rho_prime, dw, kex),
         "{%s, ..., %s, %s}" % (r1rho_prime, phi_ex, kex),
-        "{%s, %s, ..., %s, %s}" % (r1, r1rho_prime, phi_ex, kex),
+#        "{%s, %s, ..., %s, %s}" % (r1, r1rho_prime, phi_ex, kex),
         "{%s, ..., pA, %s, %s}" % (r1rho_prime, dw, kex),
-        "{%s, %s, ..., pA, %s, %s}" % (r1, r1rho_prime, dw, kex),
+#        "{%s, %s, ..., pA, %s, %s}" % (r1, r1rho_prime, dw, kex),
         "{%s, ..., pA, %s, %s}" % (r1rho_prime, dw, kex),
-        "{%s, %s, ..., pA, %s, %s}" % (r1, r1rho_prime, dw, kex),
+#        "{%s, %s, ..., pA, %s, %s}" % (r1, r1rho_prime, dw, kex),
         "{%s, ..., pA, %s, %s}" % (r1rho_prime, dw, kex),
-        "{%s, %s, ..., pA, %s, %s}" % (r1, r1rho_prime, dw, kex),
+#        "{%s, %s, ..., pA, %s, %s}" % (r1, r1rho_prime, dw, kex),
         "{%s, ..., pA, %s, %s}" % (r1rho_prime, dw, kex),
-        "{%s, %s, ..., pA, %s, %s}" % (r1, r1rho_prime, dw, kex),
+#        "{%s, %s, ..., pA, %s, %s}" % (r1, r1rho_prime, dw, kex),
         "{%s, ..., pA, %s, %s, pB, %s, %s}" % (r1rho_prime, dw_AB, kAB, 
dw_BC, kBC),
         "{%s, ..., pA, %s, %s, pB, %s, %s, %s}" % (r1rho_prime, dw_AB, 
kAB, dw_BC, kBC, kAC),
         None,
@@ -797,8 +797,8 @@
         "The base model for determining the %s/%s values and errors for 
all other models." % (r2eff, r1rho),
         None,
         "The model for no chemical exchange relaxation.",
-        "The model for no chemical exchange being present, for 
off-resonance R1rho-type experiments.  R1rho = R1 * cos(theta)^2 + 
r1rho_prime * sin(theta)^2.",
-        "The model for no chemical exchange being present, for 
off-resonance R1rho-type experiments whereby R1 is fit.  R1rho = R1 * 
cos(theta)^2 + r1rho_prime * sin(theta)^2.",
+#        "The model for no chemical exchange being present, for 
off-resonance R1rho-type experiments.  R1rho = R1 * cos(theta)^2 + 
r1rho_prime * sin(theta)^2.",
+#        "The model for no chemical exchange being present, for 
off-resonance R1rho-type experiments whereby R1 is fit.  R1rho = R1 * 
cos(theta)^2 + r1rho_prime * sin(theta)^2.",
         None,
         "The original Luz and Meiboom (1963) 2-site fast exchange 
equation.",
         "The original Luz and Meiboom (1963) 3-site fast exchange 
equation.",
@@ -817,15 +817,15 @@
         "The Meiboom (1961) 2-site fast exchange equation.",
         "The Meiboom (1961) 2-site equation for all time scales with pA 
pB.",
         "The Davis, Perlman and London (1994) 2-site fast exchange 
equation.",
-        "The Davis, Perlman and London (1994) 2-site fast exchange 
equation, whereby R1 is fit.",
+#        "The Davis, Perlman and London (1994) 2-site fast exchange 
equation, whereby R1 is fit.",
         "The Trott and Palmer (2002) 2-site equation for all time 
scales.",
-        "The Trott and Palmer (2002) 2-site equation for all time 
scales, whereby R1 is fit.",
+#        "The Trott and Palmer (2002) 2-site equation for all time 
scales, whereby R1 is fit.",
         "The Trott, Abergel and Palmer (2003) off-resonance 2-site 
equation for all time scales.",
-        "The Trott, Abergel and Palmer (2003) off-resonance 2-site 
equation for all time scales, whereby R1 is fit.",
+#        "The Trott, Abergel and Palmer (2003) off-resonance 2-site 
equation for all time scales, whereby R1 is fit.",
         "The Miloushev and Palmer (2005) off-resonance 2-site equation 
for all time scales.",
-        "The Miloushev and Palmer (2005) off-resonance 2-site equation 
for all time scales, whereby R1 is fit.",
+#        "The Miloushev and Palmer (2005) off-resonance 2-site equation 
for all time scales, whereby R1 is fit.",
         "The 2-site numerical solution using 3D magnetisation vectors.",
-        "The 2-site numerical solution using 3D magnetisation vectors, 
whereby R1 is fit.",
+#        "The 2-site numerical solution using 3D magnetisation vectors, 
whereby R1 is fit.",
         "The 3-site linearised numerical solution using 3D 
magnetisation vectors.",
         "The 3-site numerical solution using 3D magnetisation vectors.",
         None,


_______________________________________________
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

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

This is the relax-devel mailing list
relax-devel@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-devel



Related Messages


Powered by MHonArc, Updated Wed Aug 20 17:20:15 2014