Hi Troels, This continues from http://thread.gmane.org/gmane.science.nmr.relax.scm/22733/, and all the related threads. For the change of r25060 (http://article.gmane.org/gmane.science.nmr.relax.scm/22810), could you please document all cases? I.e. model x takes its parameters from model y, and then do this for all models. See the table below for how to document this. This algorithm really worries me and I strongly think that this development is in the wrong direction. All models are special cases! You can't just take any model as the starting point for another. The following ordering is not a good idea:
1) EQ_NUMERIC, EQ_SILICO, EQ_ANALYTIC. 2) Year (from newest). 3) Number of sites. Models should be rather classified in the following groups: 1) Parameter nesting (related to 2). The models should ideally have identical parameter sets. 2) Fast exchange, slow exchange, very slow exchange, vs. all exchange regimes. These are mutually exclusive (apart from the last). 3) The pA >> pB limit - this can never be mixed with the normal pA > pB condition. 4) Model stability (i.e. stable vs. unstable). 5) Model accuracy. 6) Analytic vs. numeric. This is in order of importance. Part 2) here excludes most combinations of the new algorithm - you cannot mix the models for different mutually exclusive exchange regimes. The one and only aim is for speed by avoiding the grid search, therefore the nested model from which the parameters are copied from must be a good estimate for the solution of the target model. I would then propose the following table mapping models to nested models for avoiding the grid search. The order is also the order of optimisation, as you will see from the nested model dependencies. The proposal is: R2eff <- None No Rex <- None LM63 <- None LM63 3-site <- LM63 CR72 <- None CR72 full <- CR72 IT99 <- None TSMFK01 <- None B14 <- CR72 B14 full <- CR72 full, B14, CR72 NS CPMG 2-site expanded <- B14, CR72 NS CPMG 2-site 3D <- NS CPMG 2-site expanded, B14, CR72 NS CPMG 2-site 3D full <- B14 full, CR72 full, NS CPMG 2-site expanded, B14, CR72 NS CPMG 2-site star <- NS CPMG 2-site expanded, B14, CR72 NS CPMG 2-site star full <- B14 full, CR72 full, NS CPMG 2-site expanded, B14, CR72 M61 <- None M61 skew <- None DPL94 <- None DPL94 R1 fit <- DPL94 TP02 <- None TP02 R1 fit <- TP02 TAP03 <- None TAP03 R1 fit <- TAP03 MP05 <- TAP03, TP02 MP05 R1 fit <- MP05, TAP03, TP02 NS R1rho 2-site <- MP05, TAP03, TP02 NS R1rho 2-site R1 fit <- NS R1rho 2-site, MP05, TAP03, TP02 NS R1rho 3-site linear <- NS R1rho 2-site, MP05, TAP03, TP02 NS R1rho 3-site <- NS R1rho 3-site linear, NS R1rho 2-site, MP05, TAP03, TP02 MMQ CR72 <- None NS MMQ 2-site <- MMQ CR72 NS MMQ 3-site linear <- NS MMQ 2-site, MMQ CR72 NS MMQ 3-site <- NS MMQ 3-site linear, NS MMQ 2-site, MMQ CR72 In the second column, the list of models indicate importance. For example for the 'B14 full' model, the 'CR72 full' model is the first preference. If that model has not been optimised, then B14 is used. And if B14 is missing, the fall back is to CR72. If none of these models have been optimised, the grid search will be performed. In this case, 'CR72 full' is preferred as it has perfect parameter nesting - all parameters of 'B14 full' are found in 'CR72 full'. The B14 and CR72 are fallbacks - here R20A and R20B are copied from R20 so they start optimisation as R20A == R20B. Hence 'CR72 full' whereby R20A != R20B is a much better starting point as R20A and R20B have been optimised to different values. But the large model instability in 'CR72 full' might make the user want to start with 'B14'. For the '* R1 fit' models, this nesting is of little interest in experimental cases, as you either measure R1 data or not (measuring it is always preferable for model stability). Some people who have measured R1 data might still be interested in what will if R1 is nevertheless optimised, so that nesting could be of use. This nesting table is complete as far as I can tell. Some of this nesting could be still argued to be wrong, for example TP02 with pA << pB as a starting point. I would not use any other nesting for fear of creating a very bad optimisation starting position. The table is very easy to extend for new models as well. But because of model instability, the user may wish to change this nesting. Regards, Edward On 18 August 2014 18:11, Edward d'Auvergne <[email protected]> wrote: > Hi Troels, > > I will continue from your last post in the triplet thread at > http://thread.gmane.org/gmane.science.nmr.relax.scm/22737. I have > copied and pasted your message below: > > On 18 August 2014 17:17, Troels Emtekær Linnet <[email protected]> wrote: >> I will remove the nesting of IT99, since it also worried me. > > I would also suggest removing TSMFK01, TAP03, M61, M61 skew, and DPL94. > > >> But do you really intent to stay on the argument that nesting should >> always be from CR72? > > No, we need a 3rd solution for this. > > >> What if the model pipe for B14 is available. >> Or from NS CPMG 2-site expanded ? > > We could, for example, have a list of nested models. For example for > the NS CPMG 2-site expanded model, the list would be [MODEL_B41, > MODEL_CR72]. It used B14 first, but switches to CR72 if B14 is not > available. This is easy to hardcode in a dictionary (or special > Python dictionary object) and hardcode into a table in the manual. > > For all of the numeric CPMG models, which should be optimised after > the analytic models in all cases so that model nesting can be useful > for speed, I would suggest using B14 and then CR72. But if you have > fast exchange, then the LM63 model is far better for these models than > B14 or CR72, however the parameters are not nested. There are > infinite parameter combinations of the numeric models which give the > same parameter values as LM63. > > For the R1rho models, a similar logic would be used. MP05 replaces > B14, and TP02 replaces CR72. The BK13 model will also need to be > considered in the future (https://gna.org/support/?3155). DPL94 > replaces LM63 for the fast vs. slow exchange problem, but then you > also have the infinite parameter combination problem. > > Note that the infinite parameter combination problem is actually a > major issue affecting the optimisation of all numeric models when the > exchange is fast, but that no one talks about this! > > >> Is this issue rather related how to sort the models first? > > This is an important issue which requires knowledge of the nesting, as > I mentioned previously. Our understanding of the models themselves > and our logic based on experiment is far more useful for determining > model nesting and the order in which they should be optimised. This > is why a hardcoded solution is very powerful. > > Regards, > > Edward > > > > On 12 August 2014 10:54, <[email protected]> wrote: >> Author: tlinnet >> Date: Tue Aug 12 10:54:36 2014 >> New Revision: 24983 >> >> URL: http://svn.gna.org/viewcvs/relax?rev=24983&view=rev >> Log: >> Added meta information about equation type. >> >> The models are dividided into: analytic, silico or numeric. >> >> 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 >> >> branches/R1_fitting/test_suite/unit_tests/_specific_analyses/_relax_disp/test_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=24983&r1=24982&r2=24983&view=diff >> ============================================================================== >> --- branches/R1_fitting/specific_analyses/relax_disp/variables.py >> (original) >> +++ branches/R1_fitting/specific_analyses/relax_disp/variables.py Tue >> Aug 12 10:54:36 2014 >> @@ -59,6 +59,12 @@ >> """The list of all dispersion experiment types.""" >> >> >> +# Model equation types. Either analytic, silico or numeric. >> +EQ_ANALYTIC = 'analytic' >> +EQ_NUMERIC = 'numeric' >> +EQ_SILICO = 'silico' >> + >> + >> # The model names, parameters, and descriptions. >> MODEL_R2EFF = 'R2eff' >> MODEL_DESC_R2EFF = "The model for determining the R2eff/R1rho values from >> peak intensities." >> @@ -67,6 +73,7 @@ >> MODEL_YEAR_R2EFF = 1950 >> MODEL_EXP_TYPE_R2EFF = EXP_TYPE_R2EFF >> MODEL_SITES_R2EFF = None >> +MODEL_EQ_R2EFF = EQ_ANALYTIC >> >> MODEL_NOREX = 'No Rex' >> MODEL_DESC_NOREX = "The model for no chemical exchange relaxation." >> @@ -75,6 +82,7 @@ >> MODEL_YEAR_NOREX = 1951 >> MODEL_EXP_TYPE_NOREX = EXP_TYPE_NOREX >> MODEL_SITES_NOREX = 1 >> +MODEL_EQ_NOREX = EQ_ANALYTIC >> >> MODEL_NOREX_R1RHO = "No_Rex_R1rho_off_res" >> MODEL_DESC_NOREX_R1RHO = "The model for no chemical exchange relaxation, >> for R1rho off resonance models." >> @@ -83,6 +91,7 @@ >> MODEL_YEAR_NOREX_R1RHO = 1952 >> MODEL_EXP_TYPE_NOREX_R1RHO = EXP_TYPE_NOREX_R1RHO >> MODEL_SITES_NOREX_R1RHO = 1 >> +MODEL_EQ_NOREX_R1RHO = EQ_ANALYTIC >> >> 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." >> @@ -91,6 +100,7 @@ >> MODEL_YEAR_NOREX_R1RHO_FIT_R1 = 1953 >> MODEL_EXP_TYPE_NOREX_R1RHO_FIT_R1 = EXP_TYPE_NOREX_R1RHO >> MODEL_SITES_NOREX_R1RHO_FIT_R1 = 1 >> +MODEL_EQ_NOREX_R1RHO_FIT_R1 = EQ_ANALYTIC >> >> MODEL_LM63 = 'LM63' >> MODEL_DESC_LM63 = "The Luz and Meiboom (1963) 2-site fast exchange model >> for SQ-CPMG experiments." >> @@ -98,6 +108,7 @@ >> MODEL_YEAR_LM63 = 1963 >> MODEL_EXP_TYPE_LM63 = EXP_TYPE_CPMG_SQ >> MODEL_SITES_LM63 = 2 >> +MODEL_EQ_LM63 = EQ_ANALYTIC >> >> MODEL_LM63_3SITE = 'LM63 3-site' >> MODEL_DESC_LM63_3SITE = "The Luz and Meiboom (1963) 3-site fast exchange >> model for SQ-CPMG experiments." >> @@ -105,6 +116,7 @@ >> MODEL_YEAR_LM63_3SITE = 1963 >> MODEL_EXP_TYPE_LM63_3SITE = EXP_TYPE_CPMG_SQ >> MODEL_SITES_LM63_3SITE = 3 >> +MODEL_EQ_LM63_3SITE = EQ_ANALYTIC >> >> MODEL_CR72 = 'CR72' >> MODEL_DESC_CR72 = "The reduced Carver and Richards (1972) 2-site model for >> all time scales for SQ-CPMG experiments, whereby the simplification R20A = >> R20B is assumed." >> @@ -112,6 +124,7 @@ >> MODEL_YEAR_CR72 = 1972 >> MODEL_EXP_TYPE_CR72 = EXP_TYPE_CPMG_SQ >> MODEL_SITES_CR72 = 2 >> +MODEL_EQ_CR72 = EQ_ANALYTIC >> >> MODEL_CR72_FULL = 'CR72 full' >> MODEL_DESC_CR72_FULL = "The full Carver and Richards (1972) 2-site model >> for all time scales for SQ-CPMG experiments." >> @@ -119,6 +132,7 @@ >> MODEL_YEAR_CR72_FULL = 1972 >> MODEL_EXP_TYPE_CR72_FULL = EXP_TYPE_CPMG_SQ >> MODEL_SITES_CR72_FULL = 2 >> +MODEL_EQ_CR72_FULL = EQ_ANALYTIC >> >> MODEL_IT99 = 'IT99' >> MODEL_DESC_IT99 = "The Ishima and Torchia (1999) 2-site CPMG model for all >> time scales for SQ-CPMG experiments, with skewed populations (pA >> pB)." >> @@ -126,6 +140,7 @@ >> MODEL_YEAR_IT99 = 1999 >> MODEL_EXP_TYPE_IT99 = EXP_TYPE_CPMG_SQ >> MODEL_SITES_IT99 = 2 >> +MODEL_EQ_IT99 = EQ_ANALYTIC >> >> MODEL_TSMFK01 = 'TSMFK01' >> MODEL_DESC_TSMFK01 = "The Tollinger et al. (2001) 2-site very-slow exchange >> model for SQ-CPMG experiments." >> @@ -133,6 +148,7 @@ >> MODEL_YEAR_TSMFK01 = 2001 >> MODEL_EXP_TYPE_TSMFK01 = EXP_TYPE_CPMG_SQ >> MODEL_SITES_TSMFK01 = 2 >> +MODEL_EQ_TSMFK01 = EQ_ANALYTIC >> >> MODEL_B14 = 'B14' >> MODEL_DESC_B14 = "The Baldwin (2014) 2-site CPMG exact solution model for >> all time scales for SQ-CPMG experiments, whereby the simplification R20A = >> R20B is assumed." >> @@ -140,6 +156,7 @@ >> MODEL_YEAR_B14 = 2014 >> MODEL_EXP_TYPE_B14 = EXP_TYPE_CPMG_SQ >> MODEL_SITES_B14 = 2 >> +MODEL_EQ_B14 = EQ_ANALYTIC >> >> MODEL_B14_FULL = 'B14 full' >> MODEL_DESC_B14_FULL = "The Baldwin (2014) 2-site CPMG exact solution model >> for all time scales for SQ-CPMG experiments." >> @@ -147,6 +164,7 @@ >> MODEL_YEAR_B14_FULL = 2014 >> MODEL_EXP_TYPE_B14_FULL = EXP_TYPE_CPMG_SQ >> MODEL_SITES_B14_FULL = 2 >> +MODEL_EQ_B14_FULL = EQ_ANALYTIC >> >> MODEL_M61 = 'M61' >> MODEL_DESC_M61 = "The Meiboom (1961) on-resonance 2-site fast exchange >> model for R1rho-type experiments." >> @@ -154,6 +172,7 @@ >> MODEL_YEAR_M61 = 1961 >> MODEL_EXP_TYPE_M61 = EXP_TYPE_R1RHO >> MODEL_SITES_M61 = 2 >> +MODEL_EQ_M61 = EQ_ANALYTIC >> >> MODEL_M61B = 'M61 skew' >> MODEL_DESC_M61B = "The Meiboom (1961) on-resonance 2-site model for >> R1rho-type experiments, with skewed populations (pA >> pB)." >> @@ -161,6 +180,7 @@ >> MODEL_YEAR_M61B = 1961 >> MODEL_EXP_TYPE_M61B = EXP_TYPE_R1RHO >> MODEL_SITES_M61B = 2 >> +MODEL_EQ_M61B = EQ_ANALYTIC >> >> MODEL_DPL94 = 'DPL94' >> """The R1rho 2-site fast exchange model of Davis, Perlman and London >> (1994).""" >> @@ -169,6 +189,7 @@ >> MODEL_YEAR_DPL94 = 1994 >> MODEL_EXP_TYPE_DPL94 = EXP_TYPE_R1RHO >> MODEL_SITES_DPL94 = 2 >> +MODEL_EQ_DPL94 = EQ_ANALYTIC >> >> MODEL_DPL94_FIT_R1 = "%s_fit_r1"%MODEL_DPL94 >> """The R1rho 2-site fast exchange model of Davis, Perlman and London >> (1994), where R1 is fitted.""" >> @@ -177,6 +198,7 @@ >> MODEL_YEAR_DPL94_FIT_R1 = 1994 >> MODEL_EXP_TYPE_DPL94_FIT_R1 = EXP_TYPE_R1RHO >> MODEL_SITES_DPL94_FIT_R1 = 2 >> +MODEL_EQ_DPL94_FIT_R1 = EQ_ANALYTIC >> >> MODEL_TP02 = 'TP02' >> MODEL_DESC_TP02 = "The Trott and Palmer (2002) off-resonance 2-site model >> for R1rho-type experiments." >> @@ -184,6 +206,7 @@ >> MODEL_YEAR_TP02 = 2002 >> MODEL_EXP_TYPE_TP02 = EXP_TYPE_R1RHO >> MODEL_SITES_TP02 = 2 >> +MODEL_EQ_TP02 = EQ_ANALYTIC >> >> MODEL_TP02_FIT_R1 = "%s_fit_r1"%MODEL_TP02 >> MODEL_DESC_TP02_FIT_R1 = "The Trott and Palmer (2002) off-resonance 2-site >> model for R1rho-type experiments, where R1 is fitted." >> @@ -191,6 +214,7 @@ >> MODEL_YEAR_TP02_FIT_R1 = 2002 >> MODEL_EXP_TYPE_TP02_FIT_R1 = EXP_TYPE_R1RHO >> MODEL_SITES_TP02_FIT_R1 = 2 >> +MODEL_EQ_TP02_FIT_R1 = EQ_ANALYTIC >> >> MODEL_TAP03 = 'TAP03' >> MODEL_DESC_TAP03 = "The Trott, Abergel and Palmer (2003) off-resonance >> 2-site model for R1rho-type experiments." >> @@ -198,6 +222,7 @@ >> MODEL_YEAR_TAP03 = 2003 >> MODEL_EXP_TYPE_TAP03 = EXP_TYPE_R1RHO >> MODEL_SITES_TAP03 = 2 >> +MODEL_EQ_TAP03 = EQ_ANALYTIC >> >> MODEL_TAP03_FIT_R1 = "%s_fit_r1"%MODEL_TAP03 >> MODEL_DESC_TAP03_FIT_R1 = "The Trott, Abergel and Palmer (2003) >> off-resonance 2-site model for R1rho-type experiments, where R1 is fitted." >> @@ -205,6 +230,7 @@ >> MODEL_YEAR_TAP03_FIT_R1 = 2003 >> MODEL_EXP_TYPE_TAP03_FIT_R1 = EXP_TYPE_R1RHO >> MODEL_SITES_TAP03_FIT_R1 = 2 >> +MODEL_EQ_TAP03_FIT_R1 = EQ_ANALYTIC >> >> MODEL_MP05 = 'MP05' >> """The R1rho 2-site off-resonance exchange model of Miloushev and Palmer >> (2005).""" >> @@ -213,6 +239,7 @@ >> MODEL_YEAR_MP05 = 2005 >> MODEL_EXP_TYPE_MP05 = EXP_TYPE_R1RHO >> MODEL_SITES_MP05 = 2 >> +MODEL_EQ_MP05 = EQ_ANALYTIC >> >> MODEL_MP05_FIT_R1 = "%s_fit_r1"%MODEL_MP05 >> """The R1rho 2-site off-resonance exchange model of Miloushev and Palmer >> (2005).""" >> @@ -221,6 +248,7 @@ >> MODEL_YEAR_MP05_FIT_R1 = 2005 >> MODEL_EXP_TYPE_MP05_FIT_R1 = EXP_TYPE_R1RHO >> MODEL_SITES_MP05_FIT_R1 = 2 >> +MODEL_EQ_MP05_FIT_R1 = EQ_ANALYTIC >> >> >> # The Numerical model names. >> @@ -230,6 +258,7 @@ >> MODEL_YEAR_NS_CPMG_2SITE_3D = 2004 >> MODEL_EXP_TYPE_NS_CPMG_2SITE_3D = EXP_TYPE_CPMG_SQ >> MODEL_SITES_NS_CPMG_2SITE_3D = 2 >> +MODEL_EQ_NS_CPMG_2SITE_3D = EQ_NUMERIC >> >> MODEL_NS_CPMG_2SITE_3D_FULL = 'NS CPMG 2-site 3D full' >> MODEL_DESC_NS_CPMG_2SITE_3D_FULL = "The full numerical solution for the >> 2-site Bloch-McConnell equations using 3D magnetisation vectors for SQ CPMG >> experiments." >> @@ -237,6 +266,7 @@ >> MODEL_YEAR_NS_CPMG_2SITE_3D_FULL = 2004 >> MODEL_EXP_TYPE_NS_CPMG_2SITE_3D_FULL = EXP_TYPE_CPMG_SQ >> MODEL_SITES_NS_CPMG_2SITE_3D_FULL = 2 >> +MODEL_EQ_NS_CPMG_2SITE_3D_FULL = EQ_NUMERIC >> >> MODEL_NS_CPMG_2SITE_STAR = 'NS CPMG 2-site star' >> MODEL_DESC_NS_CPMG_2SITE_STAR = "The numerical reduced solution for the >> 2-site Bloch-McConnell equations using complex conjugate matrices for SQ >> CPMG experiments, whereby the simplification R20A = R20B is assumed." >> @@ -244,6 +274,7 @@ >> MODEL_YEAR_NS_CPMG_2SITE_STAR = 2004 >> MODEL_EXP_TYPE_NS_CPMG_2SITE_STAR = EXP_TYPE_CPMG_SQ >> MODEL_SITES_NS_CPMG_2SITE_STAR = 2 >> +MODEL_EQ_NS_CPMG_2SITE_STAR = EQ_NUMERIC >> >> MODEL_NS_CPMG_2SITE_STAR_FULL = 'NS CPMG 2-site star full' >> MODEL_DESC_NS_CPMG_2SITE_STAR_FULL = "The full numerical solution for the >> 2-site Bloch-McConnell equations using complex conjugate matrices for SQ >> CPMG experiments." >> @@ -251,6 +282,7 @@ >> MODEL_YEAR_NS_CPMG_2SITE_STAR_FULL = 2004 >> MODEL_EXP_TYPE_NS_CPMG_2SITE_STAR_FULL = EXP_TYPE_CPMG_SQ >> MODEL_SITES_NS_CPMG_2SITE_STAR_FULL = 2 >> +MODEL_EQ_NS_CPMG_2SITE_STAR_FULL = EQ_NUMERIC >> >> MODEL_NS_CPMG_2SITE_EXPANDED = 'NS CPMG 2-site expanded' >> MODEL_DESC_NS_CPMG_2SITE_EXPANDED = "The numerical solution for the 2-site >> Bloch-McConnell equations for SQ CPMG experiments, expanded using Maple by >> Nikolai Skrynnikov." >> @@ -258,6 +290,7 @@ >> MODEL_YEAR_NS_CPMG_2SITE_EXPANDED = 2001 >> MODEL_EXP_TYPE_NS_CPMG_2SITE_EXPANDED = EXP_TYPE_CPMG_SQ >> MODEL_SITES_NS_CPMG_2SITE_EXPANDED = 2 >> +MODEL_EQ_NS_CPMG_2SITE_EXPANDED = EQ_SILICO >> >> MODEL_NS_R1RHO_2SITE = 'NS R1rho 2-site' >> MODEL_DESC_NS_R1RHO_2SITE = "The reduced numerical solution for the 2-site >> Bloch-McConnell equations using 3D magnetisation vectors for R1rho-type >> experiments, whereby the simplification R20A = R20B is assumed." >> @@ -265,6 +298,7 @@ >> MODEL_YEAR_NS_R1RHO_2SITE = 2005 >> MODEL_EXP_TYPE_NS_R1RHO_2SITE = EXP_TYPE_R1RHO >> MODEL_SITES_NS_R1RHO_2SITE = 2 >> +MODEL_EQ_NS_R1RHO_2SITE = EQ_NUMERIC >> >> MODEL_NS_R1RHO_2SITE_FIT_R1 = "%s_fit_r1"%MODEL_NS_R1RHO_2SITE >> MODEL_DESC_NS_R1RHO_2SITE_FIT_R1 = "The reduced numerical solution for the >> 2-site Bloch-McConnell equations using 3D magnetisation vectors for >> R1rho-type experiments, whereby the simplification R20A = R20B is assumed, >> and where R1 is fitted." >> @@ -272,6 +306,7 @@ >> MODEL_YEAR_NS_R1RHO_2SITE_FIT_R1 = 2005 >> MODEL_EXP_TYPE_NS_R1RHO_2SITE_FIT_R1 = EXP_TYPE_R1RHO >> MODEL_SITES_NS_R1RHO_2SITE_FIT_R1 = 2 >> +MODEL_EQ_NS_R1RHO_2SITE_FIT_R1 = EQ_NUMERIC >> >> MODEL_NS_R1RHO_3SITE = 'NS R1rho 3-site' >> MODEL_DESC_NS_R1RHO_3SITE = "The numerical solution for the 3-site >> Bloch-McConnell equations using 3D magnetisation vectors for R1rho-type >> experiments, whereby the simplification R20A = R20B = R20C is assumed." >> @@ -279,6 +314,7 @@ >> MODEL_YEAR_NS_R1RHO_3SITE = 2005 >> MODEL_EXP_TYPE_NS_R1RHO_3SITE = EXP_TYPE_R1RHO >> MODEL_SITES_NS_R1RHO_3SITE = 3 >> +MODEL_EQ_NS_R1RHO_3SITE = EQ_NUMERIC >> >> MODEL_NS_R1RHO_3SITE_LINEAR = 'NS R1rho 3-site linear' >> MODEL_DESC_NS_R1RHO_3SITE_LINEAR = "The numerical solution for the 3-site >> Bloch-McConnell equations using 3D magnetisation vectors for R1rho-type >> experiments, linearised with kAC = kCA = 0 and whereby the simplification >> R20A = R20B = R20C is assumed." >> @@ -286,6 +322,7 @@ >> MODEL_YEAR_NS_R1RHO_3SITE_LINEAR = 2005 >> MODEL_EXP_TYPE_NS_R1RHO_3SITE_LINEAR = EXP_TYPE_R1RHO >> MODEL_SITES_NS_R1RHO_3SITE_LINEAR = 3 >> +MODEL_EQ_NS_R1RHO_3SITE_LINEAR = EQ_NUMERIC >> >> # The multi-quantum data model names. >> MODEL_MMQ_CR72 = 'MMQ CR72' >> @@ -294,6 +331,7 @@ >> MODEL_YEAR_MMQ_CR72 = 2004 >> MODEL_EXP_TYPE_MMQ_CR72 = EXP_TYPE_CPMG_MMQ >> MODEL_SITES_MMQ_CR72 = 2 >> +MODEL_EQ_MMQ_CR72 = EQ_ANALYTIC >> >> MODEL_NS_MMQ_2SITE = 'NS MMQ 2-site' >> MODEL_DESC_NS_MMQ_2SITE = "The reduced numerical solution for the 2-site >> Bloch-McConnell equations for MMQ CPMG experiments, whereby the >> simplification R20A = R20B is assumed." >> @@ -301,6 +339,7 @@ >> MODEL_YEAR_NS_MMQ_2SITE = 2005 >> MODEL_EXP_TYPE_NS_MMQ_2SITE = EXP_TYPE_CPMG_MMQ >> MODEL_SITES_NS_MMQ_2SITE = 2 >> +MODEL_EQ_NS_MMQ_2SITE = EQ_NUMERIC >> >> MODEL_NS_MMQ_3SITE = 'NS MMQ 3-site' >> MODEL_DESC_NS_MMQ_3SITE = "The numerical solution for the 3-site >> Bloch-McConnell equations for MMQ CPMG experiments, whereby the >> simplification R20A = R20B = R20C is assumed." >> @@ -308,6 +347,7 @@ >> MODEL_YEAR_NS_MMQ_3SITE = 2005 >> MODEL_EXP_TYPE_NS_MMQ_3SITE = EXP_TYPE_CPMG_MMQ >> MODEL_SITES_NS_MMQ_3SITE = 3 >> +MODEL_EQ_NS_MMQ_3SITE = EQ_NUMERIC >> >> MODEL_NS_MMQ_3SITE_LINEAR = 'NS MMQ 3-site linear' >> MODEL_DESC_NS_MMQ_3SITE_LINEAR = "The numerical solution for the 3-site >> Bloch-McConnell equations for MMQ CPMG experiments, linearised with kAC = >> kCA = 0 and whereby the simplification R20A = R20B = R20C is assumed." >> @@ -315,6 +355,7 @@ >> MODEL_YEAR_NS_MMQ_3SITE_LINEAR = 2005 >> MODEL_EXP_TYPE_NS_MMQ_3SITE_LINEAR = EXP_TYPE_CPMG_MMQ >> MODEL_SITES_NS_MMQ_3SITE_LINEAR = 3 >> +MODEL_EQ_NS_MMQ_3SITE_LINEAR = EQ_NUMERIC >> >> # The parameters. >> PARAMS_R20 = ['r2', 'r2a', 'r2b'] >> @@ -650,4 +691,43 @@ >> MODEL_NS_MMQ_2SITE: MODEL_SITES_NS_MMQ_2SITE, >> MODEL_NS_MMQ_3SITE: MODEL_SITES_NS_MMQ_3SITE, >> MODEL_NS_MMQ_3SITE_LINEAR: MODEL_SITES_NS_MMQ_3SITE_LINEAR >> +} >> + >> +# Full list of equation type. >> +MODEL_EQ = { >> + MODEL_R2EFF: MODEL_EQ_R2EFF, >> + MODEL_NOREX: MODEL_EQ_NOREX, >> + MODEL_NOREX_R1RHO: MODEL_EQ_NOREX_R1RHO, >> + MODEL_NOREX_R1RHO_FIT_R1: MODEL_EQ_NOREX_R1RHO_FIT_R1, >> + MODEL_LM63: MODEL_EQ_LM63, >> + MODEL_LM63_3SITE: MODEL_EQ_LM63_3SITE, >> + MODEL_CR72: MODEL_EQ_CR72, >> + MODEL_CR72_FULL: MODEL_EQ_CR72_FULL, >> + MODEL_IT99: MODEL_EQ_IT99, >> + MODEL_TSMFK01: MODEL_EQ_TSMFK01, >> + MODEL_B14: MODEL_EQ_B14, >> + MODEL_B14_FULL: MODEL_EQ_B14_FULL, >> + MODEL_M61: MODEL_EQ_M61, >> + MODEL_M61B: MODEL_EQ_M61B, >> + MODEL_DPL94: MODEL_EQ_DPL94, >> + MODEL_DPL94_FIT_R1: MODEL_EQ_DPL94_FIT_R1, >> + MODEL_TP02: MODEL_EQ_TP02, >> + MODEL_TP02_FIT_R1: MODEL_EQ_TP02_FIT_R1, >> + MODEL_TAP03: MODEL_EQ_TAP03, >> + MODEL_TAP03_FIT_R1: MODEL_EQ_TAP03_FIT_R1, >> + MODEL_MP05: MODEL_EQ_MP05, >> + MODEL_MP05_FIT_R1: MODEL_EQ_MP05_FIT_R1, >> + MODEL_NS_CPMG_2SITE_3D: MODEL_EQ_NS_CPMG_2SITE_3D, >> + MODEL_NS_CPMG_2SITE_3D_FULL: MODEL_EQ_NS_CPMG_2SITE_3D_FULL, >> + MODEL_NS_CPMG_2SITE_STAR: MODEL_EQ_NS_CPMG_2SITE_STAR, >> + MODEL_NS_CPMG_2SITE_STAR_FULL: MODEL_EQ_NS_CPMG_2SITE_STAR_FULL, >> + MODEL_NS_CPMG_2SITE_EXPANDED: MODEL_EQ_NS_CPMG_2SITE_EXPANDED, >> + MODEL_NS_R1RHO_2SITE: MODEL_EQ_NS_R1RHO_2SITE, >> + MODEL_NS_R1RHO_2SITE_FIT_R1: MODEL_EQ_NS_R1RHO_2SITE_FIT_R1, >> + MODEL_NS_R1RHO_3SITE: MODEL_EQ_NS_R1RHO_3SITE, >> + MODEL_NS_R1RHO_3SITE_LINEAR: MODEL_EQ_NS_R1RHO_3SITE_LINEAR, >> + MODEL_MMQ_CR72: MODEL_EQ_MMQ_CR72, >> + MODEL_NS_MMQ_2SITE: MODEL_EQ_NS_MMQ_2SITE, >> + MODEL_NS_MMQ_3SITE: MODEL_EQ_NS_MMQ_3SITE, >> + MODEL_NS_MMQ_3SITE_LINEAR: MODEL_EQ_NS_MMQ_3SITE_LINEAR >> } >> >> Modified: >> branches/R1_fitting/test_suite/unit_tests/_specific_analyses/_relax_disp/test_variables.py >> URL: >> http://svn.gna.org/viewcvs/relax/branches/R1_fitting/test_suite/unit_tests/_specific_analyses/_relax_disp/test_variables.py?rev=24983&r1=24982&r2=24983&view=diff >> ============================================================================== >> --- >> branches/R1_fitting/test_suite/unit_tests/_specific_analyses/_relax_disp/test_variables.py >> (original) >> +++ >> branches/R1_fitting/test_suite/unit_tests/_specific_analyses/_relax_disp/test_variables.py >> Tue Aug 12 10:54:36 2014 >> @@ -20,8 +20,8 @@ >> >> ############################################################################### >> >> # relax module imports. >> -from specific_analyses.relax_disp.variables import MODEL_CR72, >> MODEL_MMQ_CR72, MODEL_NS_R1RHO_3SITE >> -from specific_analyses.relax_disp.variables import MODEL_EXP_TYPE, >> MODEL_PARAMS, MODEL_SITES, MODEL_YEAR >> +from specific_analyses.relax_disp.variables import MODEL_CR72, >> MODEL_MMQ_CR72, MODEL_NS_CPMG_2SITE_EXPANDED, MODEL_NS_R1RHO_3SITE >> +from specific_analyses.relax_disp.variables import MODEL_EXP_TYPE, >> MODEL_EQ, MODEL_PARAMS, MODEL_SITES, MODEL_YEAR >> from test_suite.unit_tests.base_classes import UnitTestCase >> >> >> @@ -67,3 +67,13 @@ >> >> # Test the return. >> self.assertEqual(model_sites, 3) >> + >> + >> + def test_MODEL_EQ(self): >> + """Unit test of the MODEL_EQ dictionary.""" >> + >> + # Test model equation type return from model equation dictionary. >> + model_eq = MODEL_EQ[MODEL_NS_CPMG_2SITE_EXPANDED] >> + >> + # Test the return. >> + self.assertEqual(model_eq, 'silico') >> >> >> _______________________________________________ >> relax (http://www.nmr-relax.com) >> >> This is the relax-commits 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-commits _______________________________________________ relax (http://www.nmr-relax.com) This is the relax-devel 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-devel

