Author: bugman Date: Tue Sep 3 13:47:19 2013 New Revision: 20769 URL: http://svn.gna.org/viewcvs/relax?rev=20769&view=rev Log: Proper ordering of all the dispersion models. See the thread at http://thread.gmane.org/gmane.science.nmr.relax.devel/4498 for details. Modified: branches/relax_disp/specific_analyses/relax_disp/api.py branches/relax_disp/specific_analyses/relax_disp/variables.py branches/relax_disp/target_functions/relax_disp.py branches/relax_disp/user_functions/relax_disp.py Modified: branches/relax_disp/specific_analyses/relax_disp/api.py URL: http://svn.gna.org/viewcvs/relax/branches/relax_disp/specific_analyses/relax_disp/api.py?rev=20769&r1=20768&r2=20769&view=diff ============================================================================== --- branches/relax_disp/specific_analyses/relax_disp/api.py (original) +++ branches/relax_disp/specific_analyses/relax_disp/api.py Tue Sep 3 13:47:19 2013 @@ -709,6 +709,50 @@ params.append('r2') params += ['phi_ex', 'padw2', 'tex'] + # Full NS CPMG 2-site 3D model. + elif model == MODEL_NS_CPMG_2SITE_3D_FULL: + print("The full numerical solution for the 2-site Bloch-McConnell equations for CPMG data using 3D magnetisation vectors.") + params = [] + for frq in loop_frq(): + params.append('r2a') + for frq in loop_frq(): + params.append('r2b') + params += ['pA', 'dw', 'kex'] + + # Reduced NS CPMG 2-site 3D model. + elif model == MODEL_NS_CPMG_2SITE_3D: + print("The reduced numerical solution for the 2-site Bloch-McConnell equations for CPMG data using 3D magnetisation vectors, whereby the simplification R20A = R20B is assumed.") + params = [] + for frq in loop_frq(): + params.append('r2') + params += ['pA', 'dw', 'kex'] + + # NS CPMG 2-site expanded model. + elif model == MODEL_NS_CPMG_2SITE_EXPANDED: + print("The numerical solution for the 2-site Bloch-McConnell equations for CPMG data expanded using Maple by Nikolai Skrynnikov.") + params = [] + for frq in loop_frq(): + params.append('r2') + params += ['pA', 'dw', 'kex'] + + # Full NS CPMG 2-site star model. + elif model == MODEL_NS_CPMG_2SITE_STAR_FULL: + print("The full numerical solution for the 2-site Bloch-McConnell equations for CPMG data using complex conjugate matrices.") + params = [] + for frq in loop_frq(): + params.append('r2a') + for frq in loop_frq(): + params.append('r2b') + params += ['pA', 'dw', 'kex'] + + # Reduced NS CPMG 2-site star model. + elif model == MODEL_NS_CPMG_2SITE_STAR: + print("The numerical reduced solution for the 2-site Bloch-McConnell equations for CPMG data using complex conjugate matrices, whereby the simplification R20A = R20B is assumed.") + params = [] + for frq in loop_frq(): + params.append('r2') + params += ['pA', 'dw', 'kex'] + # M61 model. elif model == MODEL_M61: print("The Meiboom (1961) 2-site fast exchange model for R1rho-type experiments.") @@ -717,6 +761,14 @@ params.append('r2') params += ['phi_ex', 'kex'] + # M61 skew model. + elif model == MODEL_M61B: + print("The Meiboom (1961) on-resonance 2-site model with skewed populations (pA >> pB) for R1rho-type experiments.") + params = [] + for frq in loop_frq(): + params.append('r2') + params += ['pA', 'dw', 'kex'] + # DPL94 model. elif model == MODEL_DPL94: print("The Davis, Perlman and London (1994) 2-site fast exchange model for R1rho-type experiments.") @@ -724,58 +776,6 @@ for frq in loop_frq(): params.append('r2') params += ['phi_ex', 'kex'] - - # M61 skew model. - elif model == MODEL_M61B: - print("The Meiboom (1961) on-resonance 2-site model with skewed populations (pA >> pB) for R1rho-type experiments.") - params = [] - for frq in loop_frq(): - params.append('r2') - params += ['pA', 'dw', 'kex'] - - # Full NS CPMG 2-site 3D model. - elif model == MODEL_NS_CPMG_2SITE_3D_FULL: - print("The full numerical solution for the 2-site Bloch-McConnell equations for CPMG data using 3D magnetisation vectors.") - params = [] - for frq in loop_frq(): - params.append('r2a') - for frq in loop_frq(): - params.append('r2b') - params += ['pA', 'dw', 'kex'] - - # Reduced NS CPMG 2-site 3D model. - elif model == MODEL_NS_CPMG_2SITE_3D: - print("The reduced numerical solution for the 2-site Bloch-McConnell equations for CPMG data using 3D magnetisation vectors, whereby the simplification R20A = R20B is assumed.") - params = [] - for frq in loop_frq(): - params.append('r2') - params += ['pA', 'dw', 'kex'] - - # NS CPMG 2-site expanded model. - elif model == MODEL_NS_CPMG_2SITE_EXPANDED: - print("The numerical solution for the 2-site Bloch-McConnell equations for CPMG data expanded using Maple by Nikolai Skrynnikov.") - params = [] - for frq in loop_frq(): - params.append('r2') - params += ['pA', 'dw', 'kex'] - - # Full NS CPMG 2-site star model. - elif model == MODEL_NS_CPMG_2SITE_STAR_FULL: - print("The full numerical solution for the 2-site Bloch-McConnell equations for CPMG data using complex conjugate matrices.") - params = [] - for frq in loop_frq(): - params.append('r2a') - for frq in loop_frq(): - params.append('r2b') - params += ['pA', 'dw', 'kex'] - - # Reduced NS CPMG 2-site star model. - elif model == MODEL_NS_CPMG_2SITE_STAR: - print("The numerical reduced solution for the 2-site Bloch-McConnell equations for CPMG data using complex conjugate matrices, whereby the simplification R20A = R20B is assumed.") - params = [] - for frq in loop_frq(): - params.append('r2') - params += ['pA', 'dw', 'kex'] # TP02 model. elif model == MODEL_TP02: Modified: branches/relax_disp/specific_analyses/relax_disp/variables.py URL: http://svn.gna.org/viewcvs/relax/branches/relax_disp/specific_analyses/relax_disp/variables.py?rev=20769&r1=20768&r2=20769&view=diff ============================================================================== --- branches/relax_disp/specific_analyses/relax_disp/variables.py (original) +++ branches/relax_disp/specific_analyses/relax_disp/variables.py Tue Sep 3 13:47:19 2013 @@ -62,14 +62,14 @@ MODEL_IT99 = 'IT99' """The CPMG 2-site model for all time scales with pA >> pB of Ishima and Torchia (1999).""" -MODEL_DPL94 = 'DPL94' -"""The R1rho 2-site fast exchange model of Davis, Perlman and London (1994).""" - MODEL_M61 = 'M61' """The R1rho 2-site fast exchange model of Meiboom (1961).""" MODEL_M61B = 'M61 skew' """The R1rho 2-site model for all time scales with pA >> pB of Meiboom (1961).""" + +MODEL_DPL94 = 'DPL94' +"""The R1rho 2-site fast exchange model of Davis, Perlman and London (1994).""" MODEL_TP02 = 'TP02' """The R1rho 2-site exchange model of Trott and Palmer (2002).""" @@ -96,10 +96,10 @@ # The model lists. -MODEL_LIST_DISP = [MODEL_NOREX, MODEL_LM63, MODEL_TSMFK01, MODEL_LM63_3SITE, MODEL_CR72, MODEL_CR72_FULL, MODEL_IT99, MODEL_M61, MODEL_DPL94, MODEL_M61B, MODEL_TP02, 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, MODEL_NS_R1RHO_2SITE] +MODEL_LIST_DISP = [MODEL_NOREX, MODEL_LM63, MODEL_TSMFK01, MODEL_LM63_3SITE, MODEL_CR72, MODEL_CR72_FULL, MODEL_IT99, MODEL_M61, MODEL_M61B, MODEL_DPL94, MODEL_TP02, 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, MODEL_NS_R1RHO_2SITE] """The list of all dispersion models (excluding the R2eff model).""" -MODEL_LIST_FULL = [MODEL_R2EFF, MODEL_NOREX, MODEL_LM63, MODEL_TSMFK01, MODEL_LM63_3SITE, MODEL_CR72, MODEL_CR72_FULL, MODEL_IT99, MODEL_M61, MODEL_DPL94, MODEL_M61B, MODEL_TP02, 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, MODEL_NS_R1RHO_2SITE] +MODEL_LIST_FULL = [MODEL_R2EFF, MODEL_NOREX, MODEL_LM63, MODEL_TSMFK01, MODEL_LM63_3SITE, MODEL_CR72, MODEL_CR72_FULL, MODEL_IT99, MODEL_M61, MODEL_M61B, MODEL_DPL94, MODEL_TP02, 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, MODEL_NS_R1RHO_2SITE] """The list of the R2eff model together with all dispersion models.""" MODEL_LIST_CPMG = [MODEL_NOREX, MODEL_LM63, MODEL_TSMFK01, MODEL_LM63_3SITE, MODEL_CR72, MODEL_CR72_FULL, MODEL_IT99, 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] @@ -108,8 +108,8 @@ MODEL_LIST_CPMG_FULL = [MODEL_R2EFF, MODEL_NOREX, MODEL_LM63, MODEL_TSMFK01, MODEL_LM63_3SITE, MODEL_CR72, MODEL_CR72_FULL, MODEL_IT99, MODEL_NS_CPMG_2SITE_3D, MODEL_NS_CPMG_2SITE_3D_FULL, MODEL_NS_CPMG_2SITE_STAR, MODEL_NS_CPMG_2SITE_STAR_FULL, MODEL_NS_CPMG_2SITE_EXPANDED] """The list of the R2eff model together with all dispersion models specifically for CPMG-type experiments.""" -MODEL_LIST_R1RHO = [MODEL_NOREX, MODEL_M61, MODEL_DPL94, MODEL_M61B, MODEL_TP02, MODEL_NS_R1RHO_2SITE] +MODEL_LIST_R1RHO = [MODEL_NOREX, MODEL_M61, MODEL_M61B, MODEL_DPL94, MODEL_TP02, MODEL_NS_R1RHO_2SITE] """The list of all dispersion models specifically for R1rho-type experiments (excluding the R2eff model).""" -MODEL_LIST_R1RHO_FULL = [MODEL_R2EFF, MODEL_NOREX, MODEL_M61, MODEL_DPL94, MODEL_M61B, MODEL_TP02, MODEL_NS_R1RHO_2SITE] +MODEL_LIST_R1RHO_FULL = [MODEL_R2EFF, MODEL_NOREX, MODEL_M61, MODEL_M61B, MODEL_DPL94, MODEL_TP02, MODEL_NS_R1RHO_2SITE] """The list of the R2eff model together with all dispersion models specifically for R1rho-type experiments.""" Modified: branches/relax_disp/target_functions/relax_disp.py URL: http://svn.gna.org/viewcvs/relax/branches/relax_disp/target_functions/relax_disp.py?rev=20769&r1=20768&r2=20769&view=diff ============================================================================== --- branches/relax_disp/target_functions/relax_disp.py (original) +++ branches/relax_disp/target_functions/relax_disp.py Tue Sep 3 13:47:19 2013 @@ -221,12 +221,6 @@ self.func = self.func_CR72 if model == MODEL_IT99: self.func = self.func_IT99 - if model == MODEL_M61: - self.func = self.func_M61 - if model == MODEL_DPL94: - self.func = self.func_DPL94 - if model == MODEL_M61B: - self.func = self.func_M61b if model == MODEL_NS_CPMG_2SITE_3D_FULL: self.func = self.func_ns_cpmg_2site_3D_full if model == MODEL_NS_CPMG_2SITE_3D: @@ -237,6 +231,12 @@ self.func = self.func_ns_cpmg_2site_star_full if model == MODEL_NS_CPMG_2SITE_STAR: self.func = self.func_ns_cpmg_2site_star + if model == MODEL_M61: + self.func = self.func_M61 + if model == MODEL_M61B: + self.func = self.func_M61b + if model == MODEL_DPL94: + self.func = self.func_DPL94 if model == MODEL_TP02: self.func = self.func_TP02 if model == MODEL_NS_R1RHO_2SITE: Modified: branches/relax_disp/user_functions/relax_disp.py URL: http://svn.gna.org/viewcvs/relax/branches/relax_disp/user_functions/relax_disp.py?rev=20769&r1=20768&r2=20769&view=diff ============================================================================== --- branches/relax_disp/user_functions/relax_disp.py (original) +++ branches/relax_disp/user_functions/relax_disp.py Tue Sep 3 13:47:19 2013 @@ -488,8 +488,8 @@ u"%s: {R\u2082A, R\u2082B, ..., pA, d\u03C9, k\u2091\u2093}" % MODEL_NS_CPMG_2SITE_STAR_FULL, u"%s: {R\u2082, ..., pA, d\u03C9, k\u2091\u2093}" % MODEL_NS_CPMG_2SITE_EXPANDED, u"%s: {R\u2081\u1D68', ..., \u03D5\u2091\u2093, k\u2091\u2093}" % MODEL_M61, + u"%s: {R\u2081\u1D68', ..., pA, d\u03C9, k\u2091\u2093}" % MODEL_M61B, u"%s: {R\u2081\u1D68', ..., \u03D5\u2091\u2093, k\u2091\u2093}" % MODEL_DPL94, - u"%s: {R\u2081\u1D68', ..., pA, d\u03C9, k\u2091\u2093}" % MODEL_M61B, u"%s: {R\u2081\u1D68', ..., pA, d\u03C9, k\u2091\u2093}" % MODEL_TP02, u"%s: {R\u2082, ..., pA, d\u03C9, k\u2091\u2093}" % MODEL_NS_R1RHO_2SITE ], @@ -508,8 +508,8 @@ MODEL_NS_CPMG_2SITE_STAR_FULL, MODEL_NS_CPMG_2SITE_EXPANDED, MODEL_M61, + MODEL_M61B, MODEL_DPL94, - MODEL_M61B, MODEL_TP02, MODEL_NS_R1RHO_2SITE ], @@ -533,8 +533,8 @@ uf.desc[-1].add_item_list_element("'%s'" % MODEL_R2EFF, "This is the same model model as for the CPMG-type experiments except that the R1rho and not R2eff values are determined.") uf.desc[-1].add_item_list_element("'%s'" % MODEL_NOREX, "This is the model for no chemical exchange being present,") uf.desc[-1].add_item_list_element("'%s'" % MODEL_M61, "The Meiboom (1961) 2-site fast exchange equation with parameters {R1rho', ..., phi_ex, kex},") +uf.desc[-1].add_item_list_element("'%s'" % MODEL_M61B, "The Meiboom (1961) 2-site equation for all time scales with pA >> pB and with parameters {R1rho', ..., pA, dw, kex},") uf.desc[-1].add_item_list_element("'%s'" % MODEL_DPL94, "The Davis, Perlman and London (1994) 2-site fast exchange equation with parameters {R1rho', ..., phi_ex, kex},") -uf.desc[-1].add_item_list_element("'%s'" % MODEL_M61B, "The Meiboom (1961) 2-site equation for all time scales with pA >> pB and with parameters {R1rho', ..., pA, dw, kex},") uf.desc[-1].add_item_list_element("'%s'" % MODEL_TP02, "The Trott and Palmer (2002) 2-site equation for all time scales with parameters {R1rho', ..., pA, dw, kex},") uf.desc[-1].add_paragraph("Except for '%s' and '%s', these CPMG and R1rho models are fit to clusterings of spins, or spin blocks." % (MODEL_R2EFF, MODEL_NOREX)) # Numerical models.