Hi Edward.

I agree with your list, and aim for this,

I though see a little error:
TP02 <- NS R1RHO 2-site, MP05, TAP03

The analytical R1rho off resonance can't learn from NS R1RHO 2-site,
since there is a bug in this model.
bug #22461(https://gna.org/bugs/?22461): NS R1rho 2-site_fit_r1 has
extremely high chi2 value in systemtest
Relax_disp.test_r1rho_kjaergaard_missing_r1


Best
Troels

2014-08-19 12:23 GMT+02:00 Edward d'Auvergne <edw...@nmr-relax.com>:
> Hi,
>
> Could these be turned into the MODEL_NEST dictionary?  I.e. as you
> have done with the MODEL_DESC, MODEL_PARAMS, MODEL_YEAR,
> MODEL_EXP_TYPE, etc.  I have expanded your table to the following.
> This is for the manual, which I am adding at the moment.
>
> R2EFF <- None
> NOREX <- None
> LM63 <- None
> LM63 3-site <- LM63
> CR72 <- NS CPMG 2-site 3D, NS CPMG 2-site star, NS CPMG 2-site
> expanded, B14, CR72, NS CPMG 2-site 3D full, NS CPMG 2-site star full,
> B14 full, CR72 full
> CR72 full <- NS CPMG 2-site 3D full, NS CPMG 2-site star full, B14
> full, CR72 full, NS CPMG 2-site 3D, NS CPMG 2-site star, NS CPMG
> 2-site expanded, B14, CR72
> IT99 <- None
> TSMFK01 <- None
> B14 <- NS CPMG 2-site 3D, NS CPMG 2-site star, NS CPMG 2-site
> expanded, B14, CR72, NS CPMG 2-site 3D full, NS CPMG 2-site star full,
> B14 full, CR72 full
> B14 full <- NS CPMG 2-site 3D full, NS CPMG 2-site star full, B14
> full, CR72 full, NS CPMG 2-site 3D, NS CPMG 2-site star, NS CPMG
> 2-site expanded, B14, CR72
> M61 <- None
> M61B <- None
> DPL94 <- None
> DPL94 R1 fit <- None
> TP02 <- MP05, TAP03, TP02
> TP02 R1 fit <- MP05 R1 fit, TAP03 R1 fit, TP02 R1 fit
> TAP03 <- MP05, TAP03, TP02
> TAP03 R1 fit <- MP05 R1 fit, TAP03 R1 fit, TP02 R1 fit
> MP05 <- MP05, TAP03, TP02
> MP05 R1 fit <- MP05 R1 fit, TAP03 R1 fit, TP02 R1 fit
> NS CPMG 2-site 3D <- NS CPMG 2-site 3D, NS CPMG 2-site star, NS CPMG
> 2-site expanded, B14, CR72, NS CPMG 2-site 3D full, NS CPMG 2-site
> star full, B14 full, CR72 full
> NS CPMG 2-site 3D full <- NS CPMG 2-site 3D full, NS CPMG 2-site star
> full, B14 full, CR72 full, NS CPMG 2-site 3D, NS CPMG 2-site star, NS
> CPMG 2-site expanded, B14, CR72
> NS CPMG 2-site star <- NS CPMG 2-site 3D, NS CPMG 2-site star, NS CPMG
> 2-site expanded, B14, CR72, NS CPMG 2-site 3D full, NS CPMG 2-site
> star full, B14 full, CR72 full
> NS CPMG 2-site star full <- NS CPMG 2-site 3D full, NS CPMG 2-site
> star full, B14 full, CR72 full, NS CPMG 2-site 3D, NS CPMG 2-site
> star, NS CPMG 2-site expanded, B14, CR72
> NS CPMG 2-site expanded <- NS CPMG 2-site 3D, NS CPMG 2-site star, NS
> CPMG 2-site expanded, B14, CR72, NS CPMG 2-site 3D full, NS CPMG
> 2-site star full, B14 full, CR72 full
> NS R1RHO 2-site <- MP05, TAP03, TP02
> NS R1RHO 2-site R1 fit <- MP05 R1 fit, TAP03 R1 fit, TP02 R1 fit
> NS R1RHO 3-site <- NS R1RHO 3-site linear, NS R1RHO 2-site, MP05, TAP03, TP02
> NS R1RHO 3-site linear <- NS R1RHO 3-site linear, NS R1RHO 2-site,
> MP05, TAP03, TP02
> MMQ CR72 <- NS MMQ 2-site, MMQ CR72, CR72
> NS MMQ 2-site <- NS MMQ 2-site, MMQ CR72, CR72
> NS MMQ 3-site <- NS MMQ 3-site linear, NS MMQ 2-site, MMQ CR72, CR72
> NS MMQ 3-site linear <- NS MMQ 2-site, MMQ CR72, CR72
>
> There are some issues here:
>
> 1)  Because of model instability, we should exclude some of these
> combinations.  For example:
>
> CR72 <- NS CPMG 2-site 3D, NS CPMG 2-site star, NS CPMG 2-site
> expanded, B14, CR72, NS CPMG 2-site 3D full, NS CPMG 2-site star full,
> B14 full, CR72 full
>
> The model instability is in the '* full' models.  No one really uses
> these in publications, other than theoretical ones, as they are rarely
> usable in practice.  The separation of R20A != R20B introduces huge
> instabilities and possibly multiple minima in the space.  The results
> from these models almost always terrible.  For these models to be
> useful, some NMR spectroscopist needs to publish a comprehensive study
> of their optimisation properties.  This is similar to to the 3-site
> model instability problems.  Both problems are open-ended and not yet
> solved by the dispersion field.
>
> 2)  Another problem is with the MMQ models.  CR72 cannot be used for
> these, as CR72 does not support all of the MMQ experiment types and
> hence cannot be optimised.
>
> 3)  There is model duplication.  CR72 is listed as a nested model for
> CR72, etc.  A special MODEL_NEST dictionary object where the
> set_deps() or __setitem__() method removes the 'self' model before
> storing the list would be useful for this purpose (see
> http://thread.gmane.org/gmane.science.nmr.relax.devel/6684/focus=6685
> and 
> http://www.diveintopython.net/object_oriented_framework/special_class_methods.html).
>
> 4)  The 'NS R1rho 2-site' model is not used for the analytic R1rho
> models, as the 'NS CPMG *' models are for the analytic CPMG models.
>
> Therefore a better table eliminated or fixing these problems would be:
>
> R2EFF <- None
> NOREX <- None
> LM63 <- None
> LM63 3-site <- LM63
> CR72 <- NS CPMG 2-site 3D, NS CPMG 2-site star, NS CPMG 2-site expanded, B14
> CR72 full <- NS CPMG 2-site 3D full, NS CPMG 2-site star full, B14
> full, NS CPMG 2-site 3D, NS CPMG 2-site star, NS CPMG 2-site expanded,
> B14, CR72
> IT99 <- None
> TSMFK01 <- None
> B14 <- NS CPMG 2-site 3D, NS CPMG 2-site star, NS CPMG 2-site expanded, CR72
> B14 full <- NS CPMG 2-site 3D full, NS CPMG 2-site star full, CR72
> full, NS CPMG 2-site 3D, NS CPMG 2-site star, NS CPMG 2-site expanded,
> B14, CR72
> NS CPMG 2-site expanded <- NS CPMG 2-site 3D, NS CPMG 2-site star, NS
> CPMG 2-site expanded, B14, CR72
> NS CPMG 2-site 3D <- NS CPMG 2-site star, NS CPMG 2-site expanded, B14, CR72
> NS CPMG 2-site 3D full <- NS CPMG 2-site star full, B14 full, CR72
> full, NS CPMG 2-site 3D, NS CPMG 2-site star, NS CPMG 2-site expanded,
> B14, CR72
> NS CPMG 2-site star <- NS CPMG 2-site 3D, NS CPMG 2-site expanded, B14, CR72
> NS CPMG 2-site star full <- NS CPMG 2-site 3D full, B14 full, CR72
> full, NS CPMG 2-site 3D, NS CPMG 2-site star, NS CPMG 2-site expanded,
> B14, CR72
> M61 <- None
> M61B <- None
> DPL94 <- None
> DPL94 R1 fit <- None
> TP02 <- NS R1RHO 2-site, MP05, TAP03
> TP02 R1 fit <- MP05 R1 fit, TAP03 R1 fit
> TAP03 <- NS R1RHO 2-site, MP05, TP02
> TAP03 R1 fit <- MP05 R1 fit, TP02 R1 fit
> MP05 <- NS R1RHO 2-site, TAP03, TP02
> MP05 R1 fit <- TAP03 R1 fit, TP02 R1 fit
> NS R1RHO 2-site <- MP05, TAP03, TP02
> NS R1RHO 2-site R1 fit <- MP05 R1 fit, TAP03 R1 fit, TP02 R1 fit
> 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 <- NS MMQ 2-site
> 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
>
> What do you think?  I will add this version to the manual.
>
> Regards,
>
> Edward
>
>
> P. S.  Note that CR72 should always be optimised before the numerical
> models!  A grid search for the numerical models is pretty much
> impossible - it takes far too long.  As the CR72 model will always be
> optimised before the numeric models in the auto-analysis (I can add
> the ordering function, if required), then having the NS models in the
> list is not needed.  This is really a massively important part of the
> paper (http://dx.doi.org/10.1093/bioinformatics/btu166).  The CR72
> model is very stable and is in the most number of cases the best
> approximation for the numerical solution.  Of course, now we have B14
> which is better.  But CR72 is really fast and using it as a starting
> point for the other CPMG models really massively speeds up an analysis
> with the NS models.
>
> On 19 August 2014 10:50, Troels Emtekær Linnet <tlin...@nmr-relax.com> wrote:
>> Hi Edward.
>>
>> After having sleeping on it, I will now change to a hard-coded version.
>>
>> You will see, that I have some differences from you.
>>
>> I will also accept, that CR72 can learn from the other similar models.
>>
>> I cannot see the argument, why this should not be the case?
>>
>>
>> It looks like this:
>> ------------
>>
>> # Define recurring lists.
>> ## For CPMG.
>> MODEL_NEST_LIST_CPMG = [MODEL_NS_CPMG_2SITE_3D,
>> MODEL_NS_CPMG_2SITE_STAR, MODEL_NS_CPMG_2SITE_EXPANDED, MODEL_B14,
>> MODEL_CR72]
>> MODEL_NEST_LIST_CPMG_R20B = [MODEL_NS_CPMG_2SITE_3D_FULL,
>> MODEL_NS_CPMG_2SITE_STAR_FULL, MODEL_B14_FULL, MODEL_CR72_FULL]
>> ## For R1rho.
>> MODEL_NEST_LIST_R1RHO_2SITE = [MODEL_MP05, MODEL_TAP03, MODEL_TP02]
>> MODEL_NEST_LIST_R1RHO_2SITE_FIT_R1 = [MODEL_MP05_FIT_R1,
>> MODEL_TAP03_FIT_R1, MODEL_TP02_FIT_R1]
>> MODEL_NEST_LIST_R1RHO_3SITE = [MODEL_NS_R1RHO_3SITE_LINEAR,
>> MODEL_NS_R1RHO_2SITE]
>> ## For CPMG MMQ.
>> MODEL_NEST_LIST_MMQ_2SITE = [MODEL_NS_MMQ_2SITE, MODEL_MMQ_CR72, MODEL_CR72]
>> MODEL_NEST_LIST_MMQ_3SITE = [MODEL_NS_MMQ_3SITE_LINEAR]
>>
>> # Define order of nesting models for each model.
>> MODEL_NEST_R2EFF = None
>> MODEL_NEST_NOREX = None
>> MODEL_NEST_NOREX_R1RHO = None
>> MODEL_NEST_NOREX_R1RHO_FIT_R1 = None
>> MODEL_NEST_LM63 = None
>> MODEL_NEST_LM63_3SITE = [MODEL_LM63]
>> MODEL_NEST_CR72 = MODEL_NEST_LIST_CPMG + MODEL_NEST_LIST_CPMG_R20B
>> MODEL_NEST_CR72_FULL = MODEL_NEST_LIST_CPMG_R20B + MODEL_NEST_LIST_CPMG
>> MODEL_NEST_IT99 = None
>> MODEL_NEST_TSMFK01 = None
>> MODEL_NEST_B14 = MODEL_NEST_LIST_CPMG + MODEL_NEST_LIST_CPMG_R20B
>> MODEL_NEST_B14_FULL = MODEL_NEST_LIST_CPMG_R20B + MODEL_NEST_LIST_CPMG
>> MODEL_NEST_M61 = None
>> MODEL_NEST_M61B = None
>> MODEL_NEST_DPL94 = None
>> MODEL_NEST_DPL94_FIT_R1 = None
>> MODEL_NEST_TP02 = MODEL_NEST_LIST_R1RHO_2SITE
>> MODEL_NEST_TP02_FIT_R1 = MODEL_NEST_LIST_R1RHO_2SITE_FIT_R1
>> MODEL_NEST_TAP03 = MODEL_NEST_LIST_R1RHO_2SITE
>> MODEL_NEST_TAP03_FIT_R1 = MODEL_NEST_LIST_R1RHO_2SITE_FIT_R1
>> MODEL_NEST_MP05 = MODEL_NEST_LIST_R1RHO_2SITE
>> MODEL_NEST_MP05_FIT_R1 = MODEL_NEST_LIST_R1RHO_2SITE_FIT_R1
>> MODEL_NEST_NS_CPMG_2SITE_3D = MODEL_NEST_LIST_CPMG + 
>> MODEL_NEST_LIST_CPMG_R20B
>> MODEL_NEST_NS_CPMG_2SITE_3D_FULL = MODEL_NEST_LIST_CPMG_R20B +
>> MODEL_NEST_LIST_CPMG
>> MODEL_NEST_NS_CPMG_2SITE_STAR = MODEL_NEST_LIST_CPMG + 
>> MODEL_NEST_LIST_CPMG_R20B
>> MODEL_NEST_NS_CPMG_2SITE_STAR_FULL = MODEL_NEST_LIST_CPMG_R20B +
>> MODEL_NEST_LIST_CPMG
>> MODEL_NEST_NS_CPMG_2SITE_EXPANDED = MODEL_NEST_LIST_CPMG +
>> MODEL_NEST_LIST_CPMG_R20B
>> MODEL_NEST_NS_R1RHO_2SITE = MODEL_NEST_LIST_R1RHO_2SITE
>> MODEL_NEST_NS_R1RHO_2SITE_FIT_R1 = MODEL_NEST_LIST_R1RHO_2SITE_FIT_R1
>> MODEL_NEST_NS_R1RHO_3SITE = MODEL_NEST_LIST_R1RHO_3SITE +
>> MODEL_NEST_LIST_R1RHO_2SITE
>> MODEL_NEST_NS_R1RHO_3SITE_LINEAR = MODEL_NEST_LIST_R1RHO_3SITE +
>> MODEL_NEST_LIST_R1RHO_2SITE
>> MODEL_NEST_MMQ_CR72 = MODEL_NEST_LIST_MMQ_2SITE
>> MODEL_NEST_NS_MMQ_2SITE = MODEL_NEST_LIST_MMQ_2SITE
>> MODEL_NEST_NS_MMQ_3SITE = MODEL_NEST_LIST_MMQ_3SITE + 
>> MODEL_NEST_LIST_MMQ_2SITE
>> MODEL_NEST_NS_MMQ_3SITE_LINEAR = MODEL_NEST_LIST_MMQ_2SITE
>>
>> 2014-08-19 10:21 GMT+02:00 Edward d'Auvergne <edw...@nmr-relax.com>:
>>> Hi,
>>>
>>> Here is a mini-proposal for a special Python dictionary object to help
>>> with dispersion model nesting:
>>>
>>> -----
>>> class Model_nesting(dict):
>>>     """Special object for handling model nesting for avoiding the grid
>>> search."""
>>>
>>>     def get_deps(self, model):
>>>         """Return the dependency list for the given model."""
>>>
>>>         return self[model]
>>>
>>>
>>>     def set_deps(self, model, deps=None):
>>>         """Set the model dependency list for the given model."""
>>>
>>>         self[model] = deps
>>>
>>>
>>> MODEL_NESTING = Model_nesting()
>>> MODEL_NESTING['B14 full'] = ['CR72 full', 'B14', 'CR72']
>>> -----
>>>
>>> The class would be in the specific_analyses.relax_disp.models module
>>> and the MODEL_NESTING instantiation in the
>>> specific_analyses.relax_disp.variables module.  This can have error
>>> checking added and additional methods for manipulating the data added.
>>> The get_deps() and set_deps() methods are optional for the power user.
>>> They may be useful if the __getattr__(), __getitem__(), __setattr__(),
>>> and __setitem__() methods are overridden to allow for better object
>>> control (see the objects in the data_store package for how this is
>>> done).  A get_dep() method could be added which accepts the model and
>>> a list of the currently optimised models and then returns the nested
>>> model to be used or None, i.e. to implement the model preference.
>>>
>>> Or, this could just be a normal Python dictionary rather than a
>>> special dictionary object.  Such an object could be used by relax
>>> power users, via scripting, to implement their own relaxation
>>> dispersion analysis protocol.  But this is just an idea and many
>>> alternatives exist.
>>>
>>> Regards,
>>>
>>> Edward
>>>
>>>
>>> On 19 August 2014 10:07, Edward d'Auvergne <edw...@nmr-relax.com> wrote:
>>>> 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 <edw...@nmr-relax.com> 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 <tlin...@nmr-relax.com> 
>>>>> 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,  <tlin...@nmr-relax.com> 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
>>>>>> relax-comm...@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-commits
>>>
>>> _______________________________________________
>>> 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

_______________________________________________
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