Package lib :: Package dispersion :: Module variables
[hide private]
[frames] | no frames]

Source Code for Module lib.dispersion.variables

  1  ############################################################################### 
  2  #                                                                             # 
  3  # Copyright (C) 2003-2008,2013-2014,2019 Edward d'Auvergne                    # 
  4  # Copyright (C) 2006 Chris MacRaild                                           # 
  5  # Copyright (C) 2008-2009 Sebastien Morin                                     # 
  6  # Copyright (C) 2014 Troels E. Linnet                                         # 
  7  #                                                                             # 
  8  # This file is part of the program relax (http://www.nmr-relax.com).          # 
  9  #                                                                             # 
 10  # This program is free software: you can redistribute it and/or modify        # 
 11  # it under the terms of the GNU General Public License as published by        # 
 12  # the Free Software Foundation, either version 3 of the License, or           # 
 13  # (at your option) any later version.                                         # 
 14  #                                                                             # 
 15  # This program is distributed in the hope that it will be useful,             # 
 16  # but WITHOUT ANY WARRANTY; without even the implied warranty of              # 
 17  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               # 
 18  # GNU General Public License for more details.                                # 
 19  #                                                                             # 
 20  # You should have received a copy of the GNU General Public License           # 
 21  # along with this program.  If not, see <http://www.gnu.org/licenses/>.       # 
 22  #                                                                             # 
 23  ############################################################################### 
 24   
 25  # Module docstring. 
 26  """Variables for the relaxation dispersion specific analysis.""" 
 27   
 28   
 29  # Experiment types. 
 30  EXP_TYPE_CPMG_SQ = 'SQ CPMG' 
 31  EXP_TYPE_CPMG_DQ = 'DQ CPMG' 
 32  EXP_TYPE_CPMG_MQ = 'MQ CPMG' 
 33  EXP_TYPE_CPMG_ZQ = 'ZQ CPMG' 
 34  EXP_TYPE_CPMG_PROTON_SQ = '1H SQ CPMG' 
 35  EXP_TYPE_CPMG_PROTON_MQ = '1H MQ CPMG' 
 36  EXP_TYPE_CPMG_MMQ = 'CPMG: SQ, DQ, MQ, ZQ, 1H SQ, 1H MQ' 
 37  EXP_TYPE_NOREX = 'No Rex' 
 38  EXP_TYPE_R1RHO = 'R1rho' 
 39  EXP_TYPE_R2EFF = 'R2eff/R1rho' 
 40   
 41  # Experiment type descriptions. 
 42  EXP_TYPE_DESC_CPMG_SQ = "the standard single quantum (SQ) CPMG-type experiment" 
 43  EXP_TYPE_DESC_CPMG_DQ = "the double quantum (DQ) CPMG-type experiment" 
 44  EXP_TYPE_DESC_CPMG_MQ = "the multiple quantum (MQ) CPMG-type experiment" 
 45  EXP_TYPE_DESC_CPMG_ZQ = "the zero quantum (ZQ) CPMG-type experiment" 
 46  EXP_TYPE_DESC_CPMG_PROTON_SQ = "the 1H single quantum (SQ) CPMG-type experiment" 
 47  EXP_TYPE_DESC_CPMG_PROTON_MQ = "the 1H multiple quantum (MQ) CPMG-type experiment" 
 48  EXP_TYPE_DESC_R1RHO = "the R1rho-type experiment" 
 49   
 50   
 51  # The experiment type lists. 
 52  EXP_TYPE_LIST_CPMG = [EXP_TYPE_CPMG_SQ, EXP_TYPE_CPMG_DQ, EXP_TYPE_CPMG_MQ, EXP_TYPE_CPMG_ZQ, EXP_TYPE_CPMG_PROTON_SQ, EXP_TYPE_CPMG_PROTON_MQ] 
 53  """The list of all dispersion experiment types for CPMG-type data.""" 
 54   
 55  EXP_TYPE_LIST_R1RHO = [EXP_TYPE_R1RHO] 
 56  """The list of all dispersion experiment types for R1rho-type data.""" 
 57   
 58  EXP_TYPE_LIST = EXP_TYPE_LIST_CPMG + EXP_TYPE_LIST_R1RHO 
 59  """The list of all dispersion experiment types.""" 
 60   
 61   
 62  # Model equation types. Either analytic, silico or numeric. 
 63  EQ_ANALYTIC = 'analytic' 
 64  EQ_NUMERIC = 'numeric' 
 65  EQ_SILICO = 'silico' 
 66   
 67   
 68  # Parameter categories. 
 69  ####################### 
 70   
 71  # R1-type parameters. 
 72  PARAMS_R1 = [ 
 73      'r1' 
 74  ] 
 75   
 76  # R2-type parameters. 
 77  PARAMS_R20 = [ 
 78      'r2', 
 79      'r2a', 
 80      'r2b' 
 81  ] 
 82   
 83  # Non-spin specific parameters. 
 84  PARAMS_GLOBAL = [ 
 85      'k_AB', 
 86      'k_AC', 
 87      'k_BC', 
 88      'kA', 
 89      'kB', 
 90      'kC', 
 91      'kex', 
 92      'kex_AB', 
 93      'kex_AC', 
 94      'kex_BC', 
 95      'pA', 
 96      'pB', 
 97      'pC', 
 98      'tex' 
 99  ] 
100   
101  # Chemical shift difference parameters. 
102  PARAMS_CHEM_SHIFT_DIFF = [ 
103      'dw', 
104      'dw_AB', 
105      'dw_AC', 
106      'dw_BC', 
107      'padw2', 
108      'phi_ex', 
109      'phi_ex_A', 
110      'phi_ex_B', 
111      'phi_ex_C', 
112  ] 
113   
114  # Chemical shift difference parameters for the MQ models. 
115  PARAMS_CHEM_SHIFT_DIFF_MMQ = [ 
116      'dwH', 
117      'dwH_AB', 
118      'dwH_AC', 
119      'dwH_BC', 
120  ] 
121   
122  # Spin specific parameters. 
123  PARAMS_SPIN = PARAMS_R1 + PARAMS_R20 + PARAMS_CHEM_SHIFT_DIFF + PARAMS_CHEM_SHIFT_DIFF_MMQ 
124   
125   
126  # The model names, parameters, and descriptions. 
127  MODEL_R2EFF = 'R2eff' 
128  MODEL_DESC_R2EFF = "The model for determining the R2eff/R1rho values from peak intensities." 
129  MODEL_PARAMS_R2EFF = ['r2eff', 'i0']    # The 'i0' parameter is only for the exponential curve-fitting. 
130  # This year is fake. Just to get the order correct. 
131  MODEL_YEAR_R2EFF = 1950 
132  MODEL_EXP_TYPE_R2EFF = EXP_TYPE_R2EFF 
133  MODEL_SITES_R2EFF = None 
134  MODEL_EQ_R2EFF = EQ_ANALYTIC 
135   
136  MODEL_NOREX = 'No Rex' 
137  MODEL_DESC_NOREX = "The model for no chemical exchange relaxation." 
138  MODEL_PARAMS_NOREX = ['r2'] 
139  # This year is fake. Just to get the order correct. 
140  MODEL_YEAR_NOREX = 1951 
141  MODEL_EXP_TYPE_NOREX = EXP_TYPE_NOREX 
142  MODEL_SITES_NOREX = 1 
143  MODEL_EQ_NOREX = EQ_ANALYTIC 
144   
145  MODEL_LM63 = 'LM63' 
146  MODEL_DESC_LM63 = "The Luz and Meiboom (1963) 2-site fast exchange model for SQ-CPMG experiments." 
147  MODEL_PARAMS_LM63 = ['r2', 'phi_ex', 'kex'] 
148  MODEL_YEAR_LM63 = 1963 
149  MODEL_EXP_TYPE_LM63 = EXP_TYPE_CPMG_SQ 
150  MODEL_SITES_LM63 = 2 
151  MODEL_EQ_LM63 = EQ_ANALYTIC 
152   
153  MODEL_LM63_3SITE = 'LM63 3-site' 
154  MODEL_DESC_LM63_3SITE = "The Luz and Meiboom (1963) 3-site fast exchange model for SQ-CPMG experiments." 
155  MODEL_PARAMS_LM63_3SITE = ['r2', 'phi_ex_B', 'phi_ex_C', 'kB', 'kC'] 
156  MODEL_YEAR_LM63_3SITE = 1963 
157  MODEL_EXP_TYPE_LM63_3SITE = EXP_TYPE_CPMG_SQ 
158  MODEL_SITES_LM63_3SITE = 3 
159  MODEL_EQ_LM63_3SITE = EQ_ANALYTIC 
160   
161  MODEL_CR72 = 'CR72' 
162  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." 
163  MODEL_PARAMS_CR72 = ['r2', 'pA', 'dw', 'kex'] 
164  MODEL_YEAR_CR72 = 1972 
165  MODEL_EXP_TYPE_CR72 = EXP_TYPE_CPMG_SQ 
166  MODEL_SITES_CR72 = 2 
167  MODEL_EQ_CR72 = EQ_ANALYTIC 
168   
169  MODEL_CR72_FULL = 'CR72 full' 
170  MODEL_DESC_CR72_FULL = "The full Carver and Richards (1972) 2-site model for all time scales for SQ-CPMG experiments." 
171  MODEL_PARAMS_CR72_FULL = ['r2a', 'r2b', 'pA', 'dw', 'kex'] 
172  MODEL_YEAR_CR72_FULL = 1972 
173  MODEL_EXP_TYPE_CR72_FULL = EXP_TYPE_CPMG_SQ 
174  MODEL_SITES_CR72_FULL = 2 
175  MODEL_EQ_CR72_FULL = EQ_ANALYTIC 
176   
177  MODEL_IT99 = 'IT99' 
178  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)." 
179  MODEL_PARAMS_IT99 = ['r2', 'pA', 'dw', 'tex'] 
180  MODEL_YEAR_IT99 = 1999 
181  MODEL_EXP_TYPE_IT99 = EXP_TYPE_CPMG_SQ 
182  MODEL_SITES_IT99 = 2 
183  MODEL_EQ_IT99 = EQ_ANALYTIC 
184   
185  MODEL_TSMFK01 = 'TSMFK01' 
186  MODEL_DESC_TSMFK01 = "The Tollinger et al. (2001) 2-site very-slow exchange model for SQ-CPMG experiments." 
187  MODEL_PARAMS_TSMFK01 = ['r2a', 'dw', 'k_AB'] 
188  MODEL_YEAR_TSMFK01 = 2001 
189  MODEL_EXP_TYPE_TSMFK01 = EXP_TYPE_CPMG_SQ 
190  MODEL_SITES_TSMFK01 = 2 
191  MODEL_EQ_TSMFK01 = EQ_ANALYTIC 
192   
193  MODEL_B14 = 'B14' 
194  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." 
195  MODEL_PARAMS_B14 = ['r2', 'pA', 'dw', 'kex'] 
196  MODEL_YEAR_B14 = 2014 
197  MODEL_EXP_TYPE_B14 = EXP_TYPE_CPMG_SQ 
198  MODEL_SITES_B14 = 2 
199  MODEL_EQ_B14 = EQ_ANALYTIC 
200   
201  MODEL_B14_FULL = 'B14 full' 
202  MODEL_DESC_B14_FULL = "The Baldwin (2014) 2-site CPMG exact solution model for all time scales for SQ-CPMG experiments." 
203  MODEL_PARAMS_B14_FULL = ['r2a', 'r2b', 'pA', 'dw', 'kex'] 
204  MODEL_YEAR_B14_FULL = 2014 
205  MODEL_EXP_TYPE_B14_FULL = EXP_TYPE_CPMG_SQ 
206  MODEL_SITES_B14_FULL = 2 
207  MODEL_EQ_B14_FULL = EQ_ANALYTIC 
208   
209  MODEL_M61 = 'M61' 
210  MODEL_DESC_M61 = "The Meiboom (1961) on-resonance 2-site fast exchange model for R1rho-type experiments." 
211  MODEL_PARAMS_M61 = ['r2', 'phi_ex', 'kex'] 
212  MODEL_YEAR_M61 = 1961 
213  MODEL_EXP_TYPE_M61 = EXP_TYPE_R1RHO 
214  MODEL_SITES_M61 = 2 
215  MODEL_EQ_M61 = EQ_ANALYTIC 
216   
217  MODEL_M61B = 'M61 skew' 
218  MODEL_DESC_M61B = "The Meiboom (1961) on-resonance 2-site model for R1rho-type experiments, with skewed populations (pA >> pB)." 
219  MODEL_PARAMS_M61B = ['r2', 'pA', 'dw', 'kex'] 
220  MODEL_YEAR_M61B = 1961 
221  MODEL_EXP_TYPE_M61B = EXP_TYPE_R1RHO 
222  MODEL_SITES_M61B = 2 
223  MODEL_EQ_M61B = EQ_ANALYTIC 
224   
225  MODEL_DPL94 = 'DPL94' 
226  """The R1rho 2-site fast exchange model of Davis, Perlman and London (1994).""" 
227  MODEL_DESC_DPL94 = "The Davis, Perlman and London (1994) extension of the Meiboom (1961) model for off-resonance data." 
228  MODEL_PARAMS_DPL94 = ['r2', 'phi_ex', 'kex'] 
229  MODEL_YEAR_DPL94 = 1994 
230  MODEL_EXP_TYPE_DPL94 = EXP_TYPE_R1RHO 
231  MODEL_SITES_DPL94 = 2 
232  MODEL_EQ_DPL94 = EQ_ANALYTIC 
233   
234  MODEL_TP02 = 'TP02' 
235  MODEL_DESC_TP02 = "The Trott and Palmer (2002) off-resonance 2-site model for R1rho-type experiments." 
236  MODEL_PARAMS_TP02 = ['r2', 'pA', 'dw', 'kex'] 
237  MODEL_YEAR_TP02 = 2002 
238  MODEL_EXP_TYPE_TP02 = EXP_TYPE_R1RHO 
239  MODEL_SITES_TP02 = 2 
240  MODEL_EQ_TP02 = EQ_ANALYTIC 
241   
242  MODEL_TAP03 = 'TAP03' 
243  MODEL_DESC_TAP03 = "The Trott, Abergel and Palmer (2003) off-resonance 2-site model for R1rho-type experiments." 
244  MODEL_PARAMS_TAP03 = ['r2', 'pA', 'dw', 'kex'] 
245  MODEL_YEAR_TAP03 = 2003 
246  MODEL_EXP_TYPE_TAP03 = EXP_TYPE_R1RHO 
247  MODEL_SITES_TAP03 = 2 
248  MODEL_EQ_TAP03 = EQ_ANALYTIC 
249   
250  MODEL_MP05 = 'MP05' 
251  """The R1rho 2-site off-resonance exchange model of Miloushev and Palmer (2005).""" 
252  MODEL_DESC_MP05 = "The Miloushev and Palmer (2005) off-resonance 2-site model for R1rho-type experiments." 
253  MODEL_PARAMS_MP05 = ['r2', 'pA', 'dw', 'kex'] 
254  MODEL_YEAR_MP05 = 2005 
255  MODEL_EXP_TYPE_MP05 = EXP_TYPE_R1RHO 
256  MODEL_SITES_MP05 = 2 
257  MODEL_EQ_MP05 = EQ_ANALYTIC 
258   
259   
260  # The Numerical model names. 
261  MODEL_NS_CPMG_2SITE_3D = 'NS CPMG 2-site 3D' 
262  MODEL_DESC_NS_CPMG_2SITE_3D = "The reduced numerical solution for the 2-site Bloch-McConnell equations using 3D magnetisation vectors for SQ CPMG experiments, whereby the simplification R20A = R20B is assumed." 
263  MODEL_PARAMS_NS_CPMG_2SITE_3D = ['r2', 'pA', 'dw', 'kex'] 
264  MODEL_YEAR_NS_CPMG_2SITE_3D = 2004 
265  MODEL_EXP_TYPE_NS_CPMG_2SITE_3D = EXP_TYPE_CPMG_SQ 
266  MODEL_SITES_NS_CPMG_2SITE_3D = 2 
267  MODEL_EQ_NS_CPMG_2SITE_3D = EQ_NUMERIC 
268   
269  MODEL_NS_CPMG_2SITE_3D_FULL = 'NS CPMG 2-site 3D full' 
270  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." 
271  MODEL_PARAMS_NS_CPMG_2SITE_3D_FULL = ['r2a', 'r2b', 'pA', 'dw', 'kex'] 
272  MODEL_YEAR_NS_CPMG_2SITE_3D_FULL = 2004 
273  MODEL_EXP_TYPE_NS_CPMG_2SITE_3D_FULL = EXP_TYPE_CPMG_SQ 
274  MODEL_SITES_NS_CPMG_2SITE_3D_FULL = 2 
275  MODEL_EQ_NS_CPMG_2SITE_3D_FULL = EQ_NUMERIC 
276   
277  MODEL_NS_CPMG_2SITE_STAR = 'NS CPMG 2-site star' 
278  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." 
279  MODEL_PARAMS_NS_CPMG_2SITE_STAR = ['r2', 'pA', 'dw', 'kex'] 
280  MODEL_YEAR_NS_CPMG_2SITE_STAR = 2004 
281  MODEL_EXP_TYPE_NS_CPMG_2SITE_STAR = EXP_TYPE_CPMG_SQ 
282  MODEL_SITES_NS_CPMG_2SITE_STAR = 2 
283  MODEL_EQ_NS_CPMG_2SITE_STAR = EQ_NUMERIC 
284   
285  MODEL_NS_CPMG_2SITE_STAR_FULL = 'NS CPMG 2-site star full' 
286  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." 
287  MODEL_PARAMS_NS_CPMG_2SITE_STAR_FULL = ['r2a', 'r2b', 'pA', 'dw', 'kex'] 
288  MODEL_YEAR_NS_CPMG_2SITE_STAR_FULL = 2004 
289  MODEL_EXP_TYPE_NS_CPMG_2SITE_STAR_FULL = EXP_TYPE_CPMG_SQ 
290  MODEL_SITES_NS_CPMG_2SITE_STAR_FULL = 2 
291  MODEL_EQ_NS_CPMG_2SITE_STAR_FULL = EQ_NUMERIC 
292   
293  MODEL_NS_CPMG_2SITE_EXPANDED = 'NS CPMG 2-site expanded' 
294  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." 
295  MODEL_PARAMS_NS_CPMG_2SITE_EXPANDED = ['r2', 'pA', 'dw', 'kex'] 
296  MODEL_YEAR_NS_CPMG_2SITE_EXPANDED = 2001 
297  MODEL_EXP_TYPE_NS_CPMG_2SITE_EXPANDED = EXP_TYPE_CPMG_SQ 
298  MODEL_SITES_NS_CPMG_2SITE_EXPANDED = 2 
299  MODEL_EQ_NS_CPMG_2SITE_EXPANDED = EQ_SILICO 
300   
301  MODEL_NS_R1RHO_2SITE = 'NS R1rho 2-site' 
302  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." 
303  MODEL_PARAMS_NS_R1RHO_2SITE = ['r2', 'pA', 'dw', 'kex'] 
304  MODEL_YEAR_NS_R1RHO_2SITE = 2005 
305  MODEL_EXP_TYPE_NS_R1RHO_2SITE = EXP_TYPE_R1RHO 
306  MODEL_SITES_NS_R1RHO_2SITE = 2 
307  MODEL_EQ_NS_R1RHO_2SITE = EQ_NUMERIC 
308   
309  MODEL_NS_R1RHO_3SITE = 'NS R1rho 3-site' 
310  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." 
311  MODEL_PARAMS_NS_R1RHO_3SITE = ['r2', 'pA', 'dw_AB', 'kex_AB', 'pB', 'dw_BC', 'kex_BC', 'kex_AC'] 
312  MODEL_YEAR_NS_R1RHO_3SITE = 2005 
313  MODEL_EXP_TYPE_NS_R1RHO_3SITE = EXP_TYPE_R1RHO 
314  MODEL_SITES_NS_R1RHO_3SITE = 3 
315  MODEL_EQ_NS_R1RHO_3SITE = EQ_NUMERIC 
316   
317  MODEL_NS_R1RHO_3SITE_LINEAR = 'NS R1rho 3-site linear' 
318  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." 
319  MODEL_PARAMS_NS_R1RHO_3SITE_LINEAR = ['r2', 'pA', 'dw_AB', 'kex_AB', 'pB', 'dw_BC', 'kex_BC'] 
320  MODEL_YEAR_NS_R1RHO_3SITE_LINEAR = 2005 
321  MODEL_EXP_TYPE_NS_R1RHO_3SITE_LINEAR = EXP_TYPE_R1RHO 
322  MODEL_SITES_NS_R1RHO_3SITE_LINEAR = 3 
323  MODEL_EQ_NS_R1RHO_3SITE_LINEAR = EQ_NUMERIC 
324   
325  # The multi-quantum data model names. 
326  MODEL_MMQ_CR72 = 'MMQ CR72' 
327  MODEL_DESC_MMQ_CR72 = "The Carver and Richards (1972) 2-site model for all time scales expanded for MMQ CPMG experiments by Korzhnev et al., 2004." 
328  MODEL_PARAMS_MMQ_CR72 = ['r2', 'pA', 'dw', 'dwH', 'kex'] 
329  MODEL_YEAR_MMQ_CR72 = 2004 
330  MODEL_EXP_TYPE_MMQ_CR72 = EXP_TYPE_CPMG_MMQ 
331  MODEL_SITES_MMQ_CR72 = 2 
332  MODEL_EQ_MMQ_CR72 = EQ_ANALYTIC 
333   
334  MODEL_NS_MMQ_2SITE = 'NS MMQ 2-site' 
335  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." 
336  MODEL_PARAMS_NS_MMQ_2SITE = ['r2', 'pA', 'dw', 'dwH', 'kex'] 
337  MODEL_YEAR_NS_MMQ_2SITE = 2005 
338  MODEL_EXP_TYPE_NS_MMQ_2SITE = EXP_TYPE_CPMG_MMQ 
339  MODEL_SITES_NS_MMQ_2SITE = 2 
340  MODEL_EQ_NS_MMQ_2SITE = EQ_NUMERIC 
341   
342  MODEL_NS_MMQ_3SITE = 'NS MMQ 3-site' 
343  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." 
344  MODEL_PARAMS_NS_MMQ_3SITE = ['r2', 'pA', 'dw_AB', 'dwH_AB', 'kex_AB', 'pB', 'dw_BC', 'dwH_BC', 'kex_BC', 'kex_AC'] 
345  MODEL_YEAR_NS_MMQ_3SITE = 2005 
346  MODEL_EXP_TYPE_NS_MMQ_3SITE = EXP_TYPE_CPMG_MMQ 
347  MODEL_SITES_NS_MMQ_3SITE = 3 
348  MODEL_EQ_NS_MMQ_3SITE = EQ_NUMERIC 
349   
350  MODEL_NS_MMQ_3SITE_LINEAR = 'NS MMQ 3-site linear' 
351  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." 
352  MODEL_PARAMS_NS_MMQ_3SITE_LINEAR = ['r2', 'pA', 'dw_AB', 'dwH_AB', 'kex_AB', 'pB', 'dw_BC', 'dwH_BC', 'kex_BC'] 
353  MODEL_YEAR_NS_MMQ_3SITE_LINEAR = 2005 
354  MODEL_EXP_TYPE_NS_MMQ_3SITE_LINEAR = EXP_TYPE_CPMG_MMQ 
355  MODEL_SITES_NS_MMQ_3SITE_LINEAR = 3 
356  MODEL_EQ_NS_MMQ_3SITE_LINEAR = EQ_NUMERIC 
357   
358  # The model lists. 
359  ## The CPMG models 
360  ### The analytical CPMG models. 
361  MODEL_LIST_ANALYTIC_CPMG = [MODEL_LM63, MODEL_LM63_3SITE, MODEL_CR72, MODEL_CR72_FULL, MODEL_IT99, MODEL_TSMFK01, MODEL_B14, MODEL_B14_FULL] 
362  """The list of all analytic CPMG models.""" 
363   
364  ### The numerical CPMG models. 
365  MODEL_LIST_NUMERIC_CPMG = [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] 
366  """The list of all numeric CPMG models.""" 
367   
368  ### All CPMG models. 
369  MODEL_LIST_CPMG_ONLY = MODEL_LIST_ANALYTIC_CPMG + MODEL_LIST_NUMERIC_CPMG 
370  """The list of all dispersion models specifically for CPMG-type experiments (excluding the R2eff model and model 'No Rex').""" 
371   
372  ### No Rex model + All CPMG models 
373  MODEL_LIST_CPMG = [MODEL_NOREX] + MODEL_LIST_CPMG_ONLY 
374  """The list of all dispersion models specifically for CPMG-type experiments (excluding the R2eff model).""" 
375   
376  ### R2eff + No Rex model + All CPMG models 
377  MODEL_LIST_CPMG_FULL = [MODEL_R2EFF] + MODEL_LIST_CPMG 
378  """The list of the R2eff model together with all dispersion models specifically for CPMG-type experiments.""" 
379   
380  ## The MQ CPMG-type modelss. 
381  ### The analytical MQ CPMG models. 
382  MODEL_LIST_ANALYTIC_CPMG_MMQ = [MODEL_MMQ_CR72] 
383  """The list of all numeric MMQ CPMG models.""" 
384   
385  ### The numerical MQ CPMG models. 
386  MODEL_LIST_NUMERIC_CPMG_MMQ = [MODEL_NS_MMQ_2SITE, MODEL_NS_MMQ_3SITE, MODEL_NS_MMQ_3SITE_LINEAR] 
387  """The list of all numeric MMQ CPMG models.""" 
388   
389  ### All MQ CPMG-type models. 
390  MODEL_LIST_MMQ = MODEL_LIST_ANALYTIC_CPMG_MMQ + MODEL_LIST_NUMERIC_CPMG_MMQ 
391  """The list of all dispersion models specifically for MMQ CPMG-type experiments.""" 
392   
393  ### No Rex model + All MQ CPMG-type models. 
394  MODEL_LIST_MQ_CPMG = [MODEL_NOREX] + MODEL_LIST_MMQ 
395  """The list of all dispersion models specifically for MQ CPMG-type experiments (excluding the R2eff model).""" 
396   
397  ### R2eff + No Rex model + All MQ CPMG-type models. 
398  MODEL_LIST_MQ_CPMG_FULL = [MODEL_R2EFF] + MODEL_LIST_MQ_CPMG 
399  """The list of the R2eff model together with all dispersion models specifically for MQ CPMG-type experiments.""" 
400   
401  ## The R1rho models. 
402  ### The analytical models. 
403  #### On-resonance R1rho models. 
404  MODEL_LIST_R1RHO_ON_RES = [MODEL_M61, MODEL_M61B] 
405  """The list of all dispersion models specifically for R1rho-type on-resonance experiments (excluding the R2eff model and model 'No Rex').""" 
406   
407  #### Off-resonance R1rho models. 
408  MODEL_LIST_ANALYTIC_R1RHO = [MODEL_DPL94, MODEL_TP02, MODEL_TAP03, MODEL_MP05] 
409  """The list of all dispersion models specifically for analytical R1rho-type experiments which use R1 in their equations (excluding the R2eff model and model 'No Rex').""" 
410   
411  ### The numerical models. 
412  #### Off-resonance R1rho models, whereby R1 has been measured. 
413  MODEL_LIST_NUMERIC_R1RHO = [MODEL_NS_R1RHO_2SITE, MODEL_NS_R1RHO_3SITE, MODEL_NS_R1RHO_3SITE_LINEAR] 
414  """The list of all dispersion models specifically for numeric R1rho-type experiments which use R1 in their equations (excluding the R2eff model and model 'No Rex').""" 
415   
416  #### All off-resonance R1rho models. 
417  MODEL_LIST_R1RHO_OFF_RES = [MODEL_NOREX] + MODEL_LIST_ANALYTIC_R1RHO + MODEL_LIST_NUMERIC_R1RHO 
418  """The list of all dispersion models specifically for R1rho-type experiments which use R1 in their equations (excluding the R2eff model and model 'No Rex').""" 
419   
420  ### All R1rho models. 
421  #### No Rex model + All R1rho models. 
422  MODEL_LIST_R1RHO = [MODEL_NOREX] + MODEL_LIST_R1RHO_ON_RES + MODEL_LIST_ANALYTIC_R1RHO + MODEL_LIST_NUMERIC_R1RHO 
423  """The list of all dispersion models specifically for R1rho-type experiments (excluding the R2eff model).""" 
424   
425  MODEL_LIST_R1RHO_FULL = [MODEL_R2EFF] + MODEL_LIST_R1RHO 
426  """The list of the R2eff model together with all dispersion models specifically for R1rho-type experiments.""" 
427   
428  # Division of all models into analytic and numeric. 
429  ## The list of all analytic models. 
430  MODEL_LIST_ANALYTIC = MODEL_LIST_ANALYTIC_CPMG + MODEL_LIST_ANALYTIC_R1RHO + MODEL_LIST_ANALYTIC_CPMG_MMQ 
431  """The list of all analytic models.""" 
432   
433  ## The list of all numeric models. 
434  MODEL_LIST_NUMERIC = MODEL_LIST_NUMERIC_CPMG + MODEL_LIST_NUMERIC_R1RHO + MODEL_LIST_NUMERIC_CPMG_MMQ 
435  """The list of all numeric models.""" 
436   
437  # List of all models. 
438  MODEL_LIST_DISP = [MODEL_NOREX] + MODEL_LIST_CPMG_ONLY + MODEL_LIST_R1RHO_ON_RES + MODEL_LIST_R1RHO_OFF_RES[1:] + MODEL_LIST_MMQ 
439  """The list of all dispersion models (excluding the R2eff model).""" 
440   
441  MODEL_LIST_FULL = [MODEL_R2EFF] + MODEL_LIST_DISP 
442  """The list of the R2eff model together with all dispersion models.""" 
443   
444  # The model lists dependent on parameter. 
445  MODEL_LIST_INV_RELAX_TIMES = [MODEL_B14, MODEL_B14_FULL, MODEL_MMQ_CR72, MODEL_NS_CPMG_2SITE_3D, MODEL_NS_CPMG_2SITE_3D_FULL, MODEL_NS_CPMG_2SITE_EXPANDED, MODEL_NS_CPMG_2SITE_STAR, MODEL_NS_CPMG_2SITE_STAR_FULL, MODEL_NS_MMQ_2SITE, MODEL_NS_MMQ_3SITE, MODEL_NS_MMQ_3SITE_LINEAR, MODEL_NS_R1RHO_2SITE, MODEL_NS_R1RHO_2SITE, MODEL_NS_R1RHO_3SITE, MODEL_NS_R1RHO_3SITE_LINEAR] 
446  """The inverted relaxation delay""" 
447   
448  MODEL_LIST_R20B = [MODEL_B14_FULL, MODEL_CR72_FULL, MODEL_NS_CPMG_2SITE_3D_FULL, MODEL_NS_CPMG_2SITE_STAR_FULL] 
449  """Models using R20B.""" 
450   
451  MODEL_LIST_DW_MIX_DOUBLE = [MODEL_LM63_3SITE, MODEL_MMQ_CR72, MODEL_NS_MMQ_2SITE, MODEL_NS_R1RHO_3SITE, MODEL_NS_R1RHO_3SITE_LINEAR] 
452  """Models using parameters with mixed dw, and has two variables. For example with both dw and dwH or dw_AB and dw_BC or phi_ex_B and phi_ex_C.""" 
453   
454  MODEL_LIST_DW_MIX_QUADRUPLE = [MODEL_NS_MMQ_3SITE, MODEL_NS_MMQ_3SITE_LINEAR] 
455  """Models using parameters with mixed dw, and has four variables. For example with both dw_AB, dw_BC, dwH_AB and dwH_BC.""" 
456   
457  # The models which currently support R1 fitting via target function switching. 
458  MODEL_LIST_FIT_R1 = [MODEL_NOREX, MODEL_DPL94, MODEL_TP02, MODEL_TAP03, MODEL_MP05, MODEL_NS_R1RHO_2SITE] 
459   
460   
461  # The defined models, which is used for nesting. 
462  MODEL_NEST_CPMG = MODEL_CR72 
463  MODEL_NEST_MMQ =  MODEL_MMQ_CR72 
464  MODEL_NEST_R1RHO = MODEL_MP05 
465   
466  MODEL_LIST_NEST = [MODEL_NEST_CPMG, MODEL_NEST_MMQ, MODEL_NEST_R1RHO] 
467   
468  # Define recurring lists. 
469  ## For CPMG. 
470  MODEL_NEST_LIST_CPMG = [MODEL_NS_CPMG_2SITE_EXPANDED, MODEL_NS_CPMG_2SITE_3D, MODEL_NS_CPMG_2SITE_STAR, MODEL_B14, MODEL_CR72] 
471  MODEL_NEST_LIST_CPMG_R20B = [MODEL_NS_CPMG_2SITE_3D_FULL, MODEL_NS_CPMG_2SITE_STAR_FULL, MODEL_B14_FULL, MODEL_CR72_FULL] 
472  ## For R1rho. 
473  MODEL_NEST_LIST_R1RHO_2SITE = [MODEL_MP05, MODEL_TAP03, MODEL_TP02] 
474  MODEL_NEST_LIST_R1RHO_3SITE = [MODEL_NS_R1RHO_3SITE_LINEAR, MODEL_NS_R1RHO_2SITE] 
475  ## For CPMG MMQ. 
476  MODEL_NEST_LIST_MMQ_2SITE = [MODEL_NS_MMQ_2SITE, MODEL_MMQ_CR72] 
477  MODEL_NEST_LIST_MMQ_3SITE = [MODEL_NS_MMQ_3SITE, MODEL_NS_MMQ_3SITE_LINEAR] 
478   
479  # Define order of nesting models for each model. 
480  MODEL_NEST_R2EFF = None 
481  MODEL_NEST_NOREX = None 
482  MODEL_NEST_LM63 = None 
483  MODEL_NEST_LM63_3SITE = [MODEL_LM63] 
484  MODEL_NEST_CR72 = MODEL_NEST_LIST_CPMG 
485  MODEL_NEST_CR72_FULL = MODEL_NEST_LIST_CPMG_R20B + MODEL_NEST_LIST_CPMG 
486  MODEL_NEST_IT99 = None 
487  MODEL_NEST_TSMFK01 = None 
488  MODEL_NEST_B14 = MODEL_NEST_LIST_CPMG 
489  MODEL_NEST_B14_FULL = MODEL_NEST_LIST_CPMG_R20B + MODEL_NEST_LIST_CPMG 
490  MODEL_NEST_M61 = None 
491  MODEL_NEST_M61B = None 
492  MODEL_NEST_DPL94 = None 
493  MODEL_NEST_TP02 = MODEL_NEST_LIST_R1RHO_2SITE 
494  MODEL_NEST_TAP03 = MODEL_NEST_LIST_R1RHO_2SITE 
495  MODEL_NEST_MP05 = MODEL_NEST_LIST_R1RHO_2SITE 
496  MODEL_NEST_NS_CPMG_2SITE_3D = MODEL_NEST_LIST_CPMG 
497  MODEL_NEST_NS_CPMG_2SITE_3D_FULL = MODEL_NEST_LIST_CPMG_R20B + MODEL_NEST_LIST_CPMG 
498  MODEL_NEST_NS_CPMG_2SITE_STAR = MODEL_NEST_LIST_CPMG 
499  MODEL_NEST_NS_CPMG_2SITE_STAR_FULL = MODEL_NEST_LIST_CPMG_R20B + MODEL_NEST_LIST_CPMG 
500  MODEL_NEST_NS_CPMG_2SITE_EXPANDED = MODEL_NEST_LIST_CPMG 
501  MODEL_NEST_NS_R1RHO_2SITE = MODEL_NEST_LIST_R1RHO_2SITE 
502  MODEL_NEST_NS_R1RHO_3SITE = MODEL_NEST_LIST_R1RHO_3SITE + MODEL_NEST_LIST_R1RHO_2SITE 
503  MODEL_NEST_NS_R1RHO_3SITE_LINEAR = MODEL_NEST_LIST_R1RHO_3SITE + MODEL_NEST_LIST_R1RHO_2SITE 
504  MODEL_NEST_MMQ_CR72 = MODEL_NEST_LIST_MMQ_2SITE 
505  MODEL_NEST_NS_MMQ_2SITE = MODEL_NEST_LIST_MMQ_2SITE 
506  MODEL_NEST_NS_MMQ_3SITE = MODEL_NEST_LIST_MMQ_3SITE + MODEL_NEST_LIST_MMQ_2SITE 
507  MODEL_NEST_NS_MMQ_3SITE_LINEAR = MODEL_NEST_LIST_MMQ_3SITE + MODEL_NEST_LIST_MMQ_2SITE 
508   
509   
510  # Full model description list. 
511  MODEL_DESC = { 
512      MODEL_R2EFF: MODEL_DESC_R2EFF, 
513      MODEL_NOREX: MODEL_DESC_NOREX, 
514      MODEL_LM63: MODEL_DESC_LM63, 
515      MODEL_LM63_3SITE: MODEL_DESC_LM63_3SITE, 
516      MODEL_CR72: MODEL_DESC_CR72, 
517      MODEL_CR72_FULL: MODEL_DESC_CR72_FULL, 
518      MODEL_IT99: MODEL_DESC_IT99, 
519      MODEL_TSMFK01: MODEL_DESC_TSMFK01, 
520      MODEL_B14: MODEL_DESC_B14, 
521      MODEL_B14_FULL: MODEL_DESC_B14_FULL, 
522      MODEL_M61: MODEL_DESC_M61, 
523      MODEL_M61B: MODEL_DESC_M61B, 
524      MODEL_DPL94: MODEL_DESC_DPL94, 
525      MODEL_TP02: MODEL_DESC_TP02, 
526      MODEL_TAP03: MODEL_DESC_TAP03, 
527      MODEL_MP05: MODEL_DESC_MP05, 
528      MODEL_NS_CPMG_2SITE_3D: MODEL_DESC_NS_CPMG_2SITE_3D, 
529      MODEL_NS_CPMG_2SITE_3D_FULL: MODEL_DESC_NS_CPMG_2SITE_3D_FULL, 
530      MODEL_NS_CPMG_2SITE_STAR: MODEL_DESC_NS_CPMG_2SITE_STAR, 
531      MODEL_NS_CPMG_2SITE_STAR_FULL: MODEL_DESC_NS_CPMG_2SITE_STAR_FULL, 
532      MODEL_NS_CPMG_2SITE_EXPANDED: MODEL_DESC_NS_CPMG_2SITE_EXPANDED, 
533      MODEL_NS_R1RHO_2SITE: MODEL_DESC_NS_R1RHO_2SITE, 
534      MODEL_NS_R1RHO_3SITE: MODEL_DESC_NS_R1RHO_3SITE, 
535      MODEL_NS_R1RHO_3SITE_LINEAR: MODEL_DESC_NS_R1RHO_3SITE_LINEAR, 
536      MODEL_MMQ_CR72: MODEL_DESC_MMQ_CR72, 
537      MODEL_NS_MMQ_2SITE: MODEL_DESC_NS_MMQ_2SITE, 
538      MODEL_NS_MMQ_3SITE: MODEL_DESC_NS_MMQ_3SITE, 
539      MODEL_NS_MMQ_3SITE_LINEAR: MODEL_DESC_NS_MMQ_3SITE_LINEAR 
540  } 
541   
542  # Full parameter list. 
543  MODEL_PARAMS = { 
544      MODEL_R2EFF: MODEL_PARAMS_R2EFF, 
545      MODEL_NOREX: MODEL_PARAMS_NOREX, 
546      MODEL_LM63: MODEL_PARAMS_LM63, 
547      MODEL_LM63_3SITE: MODEL_PARAMS_LM63_3SITE, 
548      MODEL_CR72: MODEL_PARAMS_CR72, 
549      MODEL_CR72_FULL: MODEL_PARAMS_CR72_FULL, 
550      MODEL_IT99: MODEL_PARAMS_IT99, 
551      MODEL_TSMFK01: MODEL_PARAMS_TSMFK01, 
552      MODEL_B14: MODEL_PARAMS_B14, 
553      MODEL_B14_FULL: MODEL_PARAMS_B14_FULL, 
554      MODEL_M61: MODEL_PARAMS_M61, 
555      MODEL_M61B: MODEL_PARAMS_M61B, 
556      MODEL_DPL94: MODEL_PARAMS_DPL94, 
557      MODEL_TP02: MODEL_PARAMS_TP02, 
558      MODEL_TAP03: MODEL_PARAMS_TAP03, 
559      MODEL_MP05: MODEL_PARAMS_MP05, 
560      MODEL_NS_CPMG_2SITE_3D: MODEL_PARAMS_NS_CPMG_2SITE_3D, 
561      MODEL_NS_CPMG_2SITE_3D_FULL: MODEL_PARAMS_NS_CPMG_2SITE_3D_FULL, 
562      MODEL_NS_CPMG_2SITE_STAR: MODEL_PARAMS_NS_CPMG_2SITE_STAR, 
563      MODEL_NS_CPMG_2SITE_STAR_FULL: MODEL_PARAMS_NS_CPMG_2SITE_STAR_FULL, 
564      MODEL_NS_CPMG_2SITE_EXPANDED: MODEL_PARAMS_NS_CPMG_2SITE_EXPANDED, 
565      MODEL_NS_R1RHO_2SITE: MODEL_PARAMS_NS_R1RHO_2SITE, 
566      MODEL_NS_R1RHO_3SITE: MODEL_PARAMS_NS_R1RHO_3SITE, 
567      MODEL_NS_R1RHO_3SITE_LINEAR: MODEL_PARAMS_NS_R1RHO_3SITE_LINEAR, 
568      MODEL_MMQ_CR72: MODEL_PARAMS_MMQ_CR72, 
569      MODEL_NS_MMQ_2SITE: MODEL_PARAMS_NS_MMQ_2SITE, 
570      MODEL_NS_MMQ_3SITE: MODEL_PARAMS_NS_MMQ_3SITE, 
571      MODEL_NS_MMQ_3SITE_LINEAR: MODEL_PARAMS_NS_MMQ_3SITE_LINEAR 
572  } 
573   
574  # Full year list. 
575  MODEL_YEAR = { 
576      MODEL_R2EFF: MODEL_YEAR_R2EFF, 
577      MODEL_NOREX: MODEL_YEAR_NOREX, 
578      MODEL_LM63: MODEL_YEAR_LM63, 
579      MODEL_LM63_3SITE: MODEL_YEAR_LM63_3SITE, 
580      MODEL_CR72: MODEL_YEAR_CR72, 
581      MODEL_CR72_FULL: MODEL_YEAR_CR72_FULL, 
582      MODEL_IT99: MODEL_YEAR_IT99, 
583      MODEL_TSMFK01: MODEL_YEAR_TSMFK01, 
584      MODEL_B14: MODEL_YEAR_B14, 
585      MODEL_B14_FULL: MODEL_YEAR_B14_FULL, 
586      MODEL_M61: MODEL_YEAR_M61, 
587      MODEL_M61B: MODEL_YEAR_M61B, 
588      MODEL_DPL94: MODEL_YEAR_DPL94, 
589      MODEL_TP02: MODEL_YEAR_TP02, 
590      MODEL_TAP03: MODEL_YEAR_TAP03, 
591      MODEL_MP05: MODEL_YEAR_MP05, 
592      MODEL_NS_CPMG_2SITE_3D: MODEL_YEAR_NS_CPMG_2SITE_3D, 
593      MODEL_NS_CPMG_2SITE_3D_FULL: MODEL_YEAR_NS_CPMG_2SITE_3D_FULL, 
594      MODEL_NS_CPMG_2SITE_STAR: MODEL_YEAR_NS_CPMG_2SITE_STAR, 
595      MODEL_NS_CPMG_2SITE_STAR_FULL: MODEL_YEAR_NS_CPMG_2SITE_STAR_FULL, 
596      MODEL_NS_CPMG_2SITE_EXPANDED: MODEL_YEAR_NS_CPMG_2SITE_EXPANDED, 
597      MODEL_NS_R1RHO_2SITE: MODEL_YEAR_NS_R1RHO_2SITE, 
598      MODEL_NS_R1RHO_3SITE: MODEL_YEAR_NS_R1RHO_3SITE, 
599      MODEL_NS_R1RHO_3SITE_LINEAR: MODEL_YEAR_NS_R1RHO_3SITE_LINEAR, 
600      MODEL_MMQ_CR72: MODEL_YEAR_MMQ_CR72, 
601      MODEL_NS_MMQ_2SITE: MODEL_YEAR_NS_MMQ_2SITE, 
602      MODEL_NS_MMQ_3SITE: MODEL_YEAR_NS_MMQ_3SITE, 
603      MODEL_NS_MMQ_3SITE_LINEAR: MODEL_YEAR_NS_MMQ_3SITE_LINEAR 
604  } 
605   
606  # Full EXP_TYPE list. 
607  MODEL_EXP_TYPE = { 
608      MODEL_R2EFF: MODEL_EXP_TYPE_R2EFF, 
609      MODEL_NOREX: MODEL_EXP_TYPE_NOREX, 
610      MODEL_LM63: MODEL_EXP_TYPE_LM63, 
611      MODEL_LM63_3SITE: MODEL_EXP_TYPE_LM63_3SITE, 
612      MODEL_CR72: MODEL_EXP_TYPE_CR72, 
613      MODEL_CR72_FULL: MODEL_EXP_TYPE_CR72_FULL, 
614      MODEL_IT99: MODEL_EXP_TYPE_IT99, 
615      MODEL_TSMFK01: MODEL_EXP_TYPE_TSMFK01, 
616      MODEL_B14: MODEL_EXP_TYPE_B14, 
617      MODEL_B14_FULL: MODEL_EXP_TYPE_B14_FULL, 
618      MODEL_M61: MODEL_EXP_TYPE_M61, 
619      MODEL_M61B: MODEL_EXP_TYPE_M61B, 
620      MODEL_DPL94: MODEL_EXP_TYPE_DPL94, 
621      MODEL_TP02: MODEL_EXP_TYPE_TP02, 
622      MODEL_TAP03: MODEL_EXP_TYPE_TAP03, 
623      MODEL_MP05: MODEL_EXP_TYPE_MP05, 
624      MODEL_NS_CPMG_2SITE_3D: MODEL_EXP_TYPE_NS_CPMG_2SITE_3D, 
625      MODEL_NS_CPMG_2SITE_3D_FULL: MODEL_EXP_TYPE_NS_CPMG_2SITE_3D_FULL, 
626      MODEL_NS_CPMG_2SITE_STAR: MODEL_EXP_TYPE_NS_CPMG_2SITE_STAR, 
627      MODEL_NS_CPMG_2SITE_STAR_FULL: MODEL_EXP_TYPE_NS_CPMG_2SITE_STAR_FULL, 
628      MODEL_NS_CPMG_2SITE_EXPANDED: MODEL_EXP_TYPE_NS_CPMG_2SITE_EXPANDED, 
629      MODEL_NS_R1RHO_2SITE: MODEL_EXP_TYPE_NS_R1RHO_2SITE, 
630      MODEL_NS_R1RHO_3SITE: MODEL_EXP_TYPE_NS_R1RHO_3SITE, 
631      MODEL_NS_R1RHO_3SITE_LINEAR: MODEL_EXP_TYPE_NS_R1RHO_3SITE_LINEAR, 
632      MODEL_MMQ_CR72: MODEL_EXP_TYPE_MMQ_CR72, 
633      MODEL_NS_MMQ_2SITE: MODEL_EXP_TYPE_NS_MMQ_2SITE, 
634      MODEL_NS_MMQ_3SITE: MODEL_EXP_TYPE_NS_MMQ_3SITE, 
635      MODEL_NS_MMQ_3SITE_LINEAR: MODEL_EXP_TYPE_NS_MMQ_3SITE_LINEAR 
636  } 
637   
638  # Full list of number of chemical exchange sites. 
639  MODEL_SITES = { 
640      MODEL_R2EFF: MODEL_SITES_R2EFF, 
641      MODEL_NOREX: MODEL_SITES_NOREX, 
642      MODEL_LM63: MODEL_SITES_LM63, 
643      MODEL_LM63_3SITE: MODEL_SITES_LM63_3SITE, 
644      MODEL_CR72: MODEL_SITES_CR72, 
645      MODEL_CR72_FULL: MODEL_SITES_CR72_FULL, 
646      MODEL_IT99: MODEL_SITES_IT99, 
647      MODEL_TSMFK01: MODEL_SITES_TSMFK01, 
648      MODEL_B14: MODEL_SITES_B14, 
649      MODEL_B14_FULL: MODEL_SITES_B14_FULL, 
650      MODEL_M61: MODEL_SITES_M61, 
651      MODEL_M61B: MODEL_SITES_M61B, 
652      MODEL_DPL94: MODEL_SITES_DPL94, 
653      MODEL_TP02: MODEL_SITES_TP02, 
654      MODEL_TAP03: MODEL_SITES_TAP03, 
655      MODEL_MP05: MODEL_SITES_MP05, 
656      MODEL_NS_CPMG_2SITE_3D: MODEL_SITES_NS_CPMG_2SITE_3D, 
657      MODEL_NS_CPMG_2SITE_3D_FULL: MODEL_SITES_NS_CPMG_2SITE_3D_FULL, 
658      MODEL_NS_CPMG_2SITE_STAR: MODEL_SITES_NS_CPMG_2SITE_STAR, 
659      MODEL_NS_CPMG_2SITE_STAR_FULL: MODEL_SITES_NS_CPMG_2SITE_STAR_FULL, 
660      MODEL_NS_CPMG_2SITE_EXPANDED: MODEL_SITES_NS_CPMG_2SITE_EXPANDED, 
661      MODEL_NS_R1RHO_2SITE: MODEL_SITES_NS_R1RHO_2SITE, 
662      MODEL_NS_R1RHO_3SITE: MODEL_SITES_NS_R1RHO_3SITE, 
663      MODEL_NS_R1RHO_3SITE_LINEAR: MODEL_SITES_NS_R1RHO_3SITE_LINEAR, 
664      MODEL_MMQ_CR72: MODEL_SITES_MMQ_CR72, 
665      MODEL_NS_MMQ_2SITE: MODEL_SITES_NS_MMQ_2SITE, 
666      MODEL_NS_MMQ_3SITE: MODEL_SITES_NS_MMQ_3SITE, 
667      MODEL_NS_MMQ_3SITE_LINEAR: MODEL_SITES_NS_MMQ_3SITE_LINEAR 
668  } 
669   
670  # Full list of equation type. 
671  MODEL_EQ = { 
672      MODEL_R2EFF: MODEL_EQ_R2EFF, 
673      MODEL_NOREX: MODEL_EQ_NOREX, 
674      MODEL_LM63: MODEL_EQ_LM63, 
675      MODEL_LM63_3SITE: MODEL_EQ_LM63_3SITE, 
676      MODEL_CR72: MODEL_EQ_CR72, 
677      MODEL_CR72_FULL: MODEL_EQ_CR72_FULL, 
678      MODEL_IT99: MODEL_EQ_IT99, 
679      MODEL_TSMFK01: MODEL_EQ_TSMFK01, 
680      MODEL_B14: MODEL_EQ_B14, 
681      MODEL_B14_FULL: MODEL_EQ_B14_FULL, 
682      MODEL_M61: MODEL_EQ_M61, 
683      MODEL_M61B: MODEL_EQ_M61B, 
684      MODEL_DPL94: MODEL_EQ_DPL94, 
685      MODEL_TP02: MODEL_EQ_TP02, 
686      MODEL_TAP03: MODEL_EQ_TAP03, 
687      MODEL_MP05: MODEL_EQ_MP05, 
688      MODEL_NS_CPMG_2SITE_3D: MODEL_EQ_NS_CPMG_2SITE_3D, 
689      MODEL_NS_CPMG_2SITE_3D_FULL: MODEL_EQ_NS_CPMG_2SITE_3D_FULL, 
690      MODEL_NS_CPMG_2SITE_STAR: MODEL_EQ_NS_CPMG_2SITE_STAR, 
691      MODEL_NS_CPMG_2SITE_STAR_FULL: MODEL_EQ_NS_CPMG_2SITE_STAR_FULL, 
692      MODEL_NS_CPMG_2SITE_EXPANDED: MODEL_EQ_NS_CPMG_2SITE_EXPANDED, 
693      MODEL_NS_R1RHO_2SITE: MODEL_EQ_NS_R1RHO_2SITE, 
694      MODEL_NS_R1RHO_3SITE: MODEL_EQ_NS_R1RHO_3SITE, 
695      MODEL_NS_R1RHO_3SITE_LINEAR: MODEL_EQ_NS_R1RHO_3SITE_LINEAR, 
696      MODEL_MMQ_CR72: MODEL_EQ_MMQ_CR72, 
697      MODEL_NS_MMQ_2SITE: MODEL_EQ_NS_MMQ_2SITE, 
698      MODEL_NS_MMQ_3SITE: MODEL_EQ_NS_MMQ_3SITE, 
699      MODEL_NS_MMQ_3SITE_LINEAR: MODEL_EQ_NS_MMQ_3SITE_LINEAR 
700  } 
701   
702  # Full list of nesting models type. 
703  MODEL_NEST = { 
704      MODEL_R2EFF: MODEL_NEST_R2EFF, 
705      MODEL_NOREX: MODEL_NEST_NOREX, 
706      MODEL_LM63: MODEL_NEST_LM63, 
707      MODEL_LM63_3SITE: MODEL_NEST_LM63_3SITE, 
708      MODEL_CR72: MODEL_NEST_CR72, 
709      MODEL_CR72_FULL: MODEL_NEST_CR72_FULL, 
710      MODEL_IT99: MODEL_NEST_IT99, 
711      MODEL_TSMFK01: MODEL_NEST_TSMFK01, 
712      MODEL_B14: MODEL_NEST_B14, 
713      MODEL_B14_FULL: MODEL_NEST_B14_FULL, 
714      MODEL_M61: MODEL_NEST_M61, 
715      MODEL_M61B: MODEL_NEST_M61B, 
716      MODEL_DPL94: MODEL_NEST_DPL94, 
717      MODEL_TP02: MODEL_NEST_TP02, 
718      MODEL_TAP03: MODEL_NEST_TAP03, 
719      MODEL_MP05: MODEL_NEST_MP05, 
720      MODEL_NS_CPMG_2SITE_3D: MODEL_NEST_NS_CPMG_2SITE_3D, 
721      MODEL_NS_CPMG_2SITE_3D_FULL: MODEL_NEST_NS_CPMG_2SITE_3D_FULL, 
722      MODEL_NS_CPMG_2SITE_STAR: MODEL_NEST_NS_CPMG_2SITE_STAR, 
723      MODEL_NS_CPMG_2SITE_STAR_FULL: MODEL_NEST_NS_CPMG_2SITE_STAR_FULL, 
724      MODEL_NS_CPMG_2SITE_EXPANDED: MODEL_NEST_NS_CPMG_2SITE_EXPANDED, 
725      MODEL_NS_R1RHO_2SITE: MODEL_NEST_NS_R1RHO_2SITE, 
726      MODEL_NS_R1RHO_3SITE: MODEL_NEST_NS_R1RHO_3SITE, 
727      MODEL_NS_R1RHO_3SITE_LINEAR: MODEL_NEST_NS_R1RHO_3SITE_LINEAR, 
728      MODEL_MMQ_CR72: MODEL_NEST_MMQ_CR72, 
729      MODEL_NS_MMQ_2SITE: MODEL_NEST_NS_MMQ_2SITE, 
730      MODEL_NS_MMQ_3SITE: MODEL_NEST_NS_MMQ_3SITE, 
731      MODEL_NS_MMQ_3SITE_LINEAR: MODEL_NEST_NS_MMQ_3SITE_LINEAR 
732  } 
733