mailRe: r24942 - /branches/R1_fitting/specific_analyses/relax_disp/variables.py


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

Header


Content

Posted by Edward d'Auvergne on August 18, 2014 - 11:35:
Hi,

Yes, this is just the frontend.  The backend just requires one new
function to work out how to handle the 'No Rex' model for the user.  I
would summarise it as the following 6 cases:

On-res CPMG (unused R1):  When exp_type is set to CPMG by the user,
then we default to func_NOREX().
CPMG fixed R1:  Reserved for the future when off-res data is handled.
CPMG fit R1:  Reserved for the future when off-res data is handled.
On-res R1rho (unused R1):  When exp_type is R1rho and no offset data
or chemical shift data is loaded, then use func_NOREX().
R1rho fixed R1:  When exp_type is R1rho and R1 data has been loaded by
the user, then default to func_NOREX_R1RHO().
R1rho fit R1:  When exp_type is R1rho and R1 data has not been loaded,
then use func_NOREX_R1RHO_FIT_R1().

I think that covers the logic.  What do you think?  The user can the
choose which behaviour will occur simply by what data they load into
relax.  There is no need for allowing the user to choose the different
models/behaviours as RelaxErrors will occur if they don't load the
correct data.  The above cases could be added to the user function
documentation, well using completely different text, so the user is
clear as to how the behaviour is to be selected.  The function that
determines which behaviour would be used could then print out a line
for user feedback.

Regards,

Edward



On 18 August 2014 11:15, Troels Emtekær Linnet <tlinnet@xxxxxxxxxxxxx> wrote:
Hi Edward.

The issue you are rising, is then only a front-end problem.

I would be the information present in either:
help(relax_disp.select_model)
or in the GUI.

I think in:
"relax_disp.select_mode"
it should stay as it is, giving all the flexibility for scripting, but
in the GUI, it could be eliminated.

For the auto_analysis, we can make a check of self.models, and replace
models with the fit_r1 or 'No Rex' depending on selected models.

Best
Troels

2014-08-18 10:52 GMT+02:00 Edward d'Auvergne <edward@xxxxxxxxxxxxx>:
Hi Troels,

Pity I couldn't see this early to discuss it.  But the
MODEL_NOREX_R1RHO model should be merged into MODEL_NOREX.  We can
make the decision for the user if on or off-resonance is handled.
This again is for the future support of off-resonance effects in the
CPMG experiments.  Part of the relax design is to minimise what is
presented to the user.  If they select the 'No Rex' model, then this
model should work for on-resonance and off-resonance R1rho data, as
well as CPMG data, without them having to think about it.  We are
fully capable of handling this in the backend for the user.

'No Rex' is simple for a user to understand as it means no chemical
exchange.  Having multiple 'No Rex' models will be confusing.
Allowing R1 to be optimised via another 'No Rex' model could be
useful.  Though again we can handle this in the backend - if no R1
data is present, we present a warning "No R1 data has been loaded,
optimising this as a parameter of the model" and then just optimise it
for them.  The backend would just have a few different target
functions for the same model.  The simpler we make the interface for
the user, without taking away any functionality, the more powerful the
software will become.

Cheers,

Edward


On 4 August 2014 19:22,  <tlinnet@xxxxxxxxxxxxx> wrote:
Author: tlinnet
Date: Mon Aug  4 19:22:04 2014
New Revision: 24942

URL: http://svn.gna.org/viewcvs/relax?rev=24942&view=rev
Log:
Added 2 new models, MODEL_NOREX_R1RHO and MODEL_NOREX_R1RHO_FIT_R1.

The "NOREX" model is not covering R1rho models.
The target function for "NOREX" is calculated as:
back_calc = R20

R20 is for R1hro models equivalent to R1rho prime (R1rho'), which for 
example in the model of DPL94 would mean:
R1rho = R1rho'

But for the "NOREX" case, the return should be
R1rho = R1 * cos^2(theta) + (R1rho' + 0) * sin^2(theta)

This affects all off-resonance model calculations.

These two target functions will be implemented.

bug #22440(https://gna.org/bugs/?22440): The "NOREX" model is not 
covering R1rho models.
sr #3135(https://gna.org/support/?3135): Optimisation of the R1 
relaxation rate for the off-resonance R1rho relaxation dispersion models.

Modified:
    branches/R1_fitting/specific_analyses/relax_disp/variables.py

Modified: branches/R1_fitting/specific_analyses/relax_disp/variables.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/R1_fitting/specific_analyses/relax_disp/variables.py?rev=24942&r1=24941&r2=24942&view=diff
==============================================================================
--- branches/R1_fitting/specific_analyses/relax_disp/variables.py       
(original)
+++ branches/R1_fitting/specific_analyses/relax_disp/variables.py       
Mon Aug  4 19:22:04 2014
@@ -64,6 +64,14 @@
 MODEL_DESC_NOREX = "The model for no chemical exchange relaxation."
 MODEL_PARAMS_NOREX = ['r2']

+MODEL_NOREX_R1RHO = "No_Rex_R1rho_off_res"
+MODEL_DESC_NOREX_R1RHO = "The model for no chemical exchange relaxation, 
for R1rho off resonance models."
+MODEL_PARAMS_NOREX_R1RHO = ['r2']
+
+MODEL_NOREX_R1RHO_FIT_R1 = "%s_fit_r1"%MODEL_NOREX_R1RHO
+MODEL_DESC_NOREX_R1RHO_FIT_R1 = "The model for no chemical exchange 
relaxation, for R1rho off resonance models, where R1 is fitted."
+MODEL_PARAMS_NOREX_R1RHO_FIT_R1 = ['r1_fit', 'r2']
+
 MODEL_LM63 = 'LM63'
 MODEL_DESC_LM63 = "The Luz and Meiboom (1963) 2-site fast exchange model 
for SQ-CPMG experiments."
 MODEL_PARAMS_LM63 = ['r2', 'phi_ex', 'kex']
@@ -196,16 +204,16 @@
 MODEL_LIST_CPMG_FULL = [MODEL_R2EFF, MODEL_NOREX, MODEL_LM63, 
MODEL_LM63_3SITE, MODEL_CR72, MODEL_CR72_FULL, MODEL_IT99, MODEL_TSMFK01, 
MODEL_B14, MODEL_B14_FULL, MODEL_NS_CPMG_2SITE_3D, 
MODEL_NS_CPMG_2SITE_3D_FULL, MODEL_NS_CPMG_2SITE_STAR, 
MODEL_NS_CPMG_2SITE_STAR_FULL, MODEL_NS_CPMG_2SITE_EXPANDED]
 """The list of the R2eff model together with all dispersion models 
specifically for CPMG-type experiments."""

-MODEL_LIST_R1RHO = [MODEL_NOREX, MODEL_M61, MODEL_M61B, MODEL_DPL94, 
MODEL_DPL94_FIT_R1, MODEL_TP02, MODEL_TAP03, MODEL_MP05, 
MODEL_NS_R1RHO_2SITE, MODEL_NS_R1RHO_3SITE, MODEL_NS_R1RHO_3SITE_LINEAR]
+MODEL_LIST_R1RHO = [MODEL_NOREX, MODEL_NOREX_R1RHO, 
MODEL_NOREX_R1RHO_FIT_R1, MODEL_M61, MODEL_M61B, MODEL_DPL94, 
MODEL_DPL94_FIT_R1, MODEL_TP02, MODEL_TAP03, MODEL_MP05, 
MODEL_NS_R1RHO_2SITE, MODEL_NS_R1RHO_3SITE, MODEL_NS_R1RHO_3SITE_LINEAR]
 """The list of all dispersion models specifically for R1rho-type 
experiments (excluding the R2eff model)."""

-MODEL_LIST_R1RHO_FULL = [MODEL_R2EFF, MODEL_NOREX, MODEL_M61, 
MODEL_M61B, MODEL_DPL94, MODEL_DPL94_FIT_R1, MODEL_TP02, MODEL_TAP03, 
MODEL_MP05, MODEL_NS_R1RHO_2SITE, MODEL_NS_R1RHO_3SITE, 
MODEL_NS_R1RHO_3SITE_LINEAR]
+MODEL_LIST_R1RHO_FULL = [MODEL_R2EFF, MODEL_NOREX, MODEL_NOREX_R1RHO, 
MODEL_NOREX_R1RHO_FIT_R1, MODEL_M61, MODEL_M61B, MODEL_DPL94, 
MODEL_DPL94_FIT_R1, MODEL_TP02, MODEL_TAP03, MODEL_MP05, 
MODEL_NS_R1RHO_2SITE, MODEL_NS_R1RHO_3SITE, MODEL_NS_R1RHO_3SITE_LINEAR]
 """The list of the R2eff model together with all dispersion models 
specifically for R1rho-type experiments."""

-MODEL_LIST_R1RHO_W_R1 = [MODEL_DPL94, MODEL_TP02, MODEL_TAP03, 
MODEL_MP05, MODEL_NS_R1RHO_2SITE, MODEL_NS_R1RHO_3SITE, 
MODEL_NS_R1RHO_3SITE_LINEAR]
+MODEL_LIST_R1RHO_W_R1 = [MODEL_NOREX_R1RHO, MODEL_DPL94, MODEL_TP02, 
MODEL_TAP03, MODEL_MP05, MODEL_NS_R1RHO_2SITE, MODEL_NS_R1RHO_3SITE, 
MODEL_NS_R1RHO_3SITE_LINEAR]
 """The list of all dispersion models specifically for R1rho-type 
experiments which use R1 in their equations."""

-MODEL_LIST_R1RHO_FIT_R1 = [MODEL_DPL94_FIT_R1]
+MODEL_LIST_R1RHO_FIT_R1 = [MODEL_NOREX_R1RHO_FIT_R1, MODEL_DPL94_FIT_R1]
 """The list of all dispersion models specifically for R1rho-type 
experiments which fit R1 in their equations."""

 MODEL_LIST_MQ_CPMG = [MODEL_NOREX, MODEL_MMQ_CR72, MODEL_NS_MMQ_2SITE, 
MODEL_NS_MMQ_3SITE, MODEL_NS_MMQ_3SITE_LINEAR]
@@ -245,6 +253,8 @@
 MODEL_DESC = {
     MODEL_R2EFF: MODEL_DESC_R2EFF,
     MODEL_NOREX: MODEL_DESC_NOREX,
+    MODEL_NOREX_R1RHO: MODEL_DESC_NOREX_R1RHO,
+    MODEL_NOREX_R1RHO_FIT_R1: MODEL_DESC_NOREX_R1RHO_FIT_R1,
     MODEL_LM63: MODEL_DESC_LM63,
     MODEL_LM63_3SITE: MODEL_DESC_LM63_3SITE,
     MODEL_CR72: MODEL_DESC_CR72,
@@ -278,6 +288,8 @@
 MODEL_PARAMS = {
     MODEL_R2EFF: MODEL_PARAMS_R2EFF,
     MODEL_NOREX: MODEL_PARAMS_NOREX,
+    MODEL_NOREX_R1RHO: MODEL_PARAMS_NOREX_R1RHO,
+    MODEL_NOREX_R1RHO_FIT_R1: MODEL_PARAMS_NOREX_R1RHO_FIT_R1,
     MODEL_LM63: MODEL_PARAMS_LM63,
     MODEL_LM63_3SITE: MODEL_PARAMS_LM63_3SITE,
     MODEL_CR72: MODEL_PARAMS_CR72,


_______________________________________________
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 Mon Aug 18 12:00:13 2014