Author: bugman Date: Tue Sep 3 17:07:38 2013 New Revision: 20773 URL: http://svn.gna.org/viewcvs/relax?rev=20773&view=rev Log: Moved the ordering of the model TSMF. Ordering conventions mentioned in this post: http://article.gmane.org/gmane.science.nmr.relax.devel/4500 Progress sr #3071: https://gna.org/support/index.php?3071 - Implementation of Tollinger/Kay dispersion model (2001) Following the guide at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax Troels E. Linnet provided this patch. Commit by: tlinnet _aaattt_ gmail_dot_com Signed-off-by: Edward d'Auvergne <edward@xxxxxxxxxxxxx> Modified: branches/relax_disp/lib/dispersion/__init__.py 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/lib/dispersion/__init__.py URL: http://svn.gna.org/viewcvs/relax/branches/relax_disp/lib/dispersion/__init__.py?rev=20773&r1=20772&r2=20773&view=diff ============================================================================== --- branches/relax_disp/lib/dispersion/__init__.py (original) +++ branches/relax_disp/lib/dispersion/__init__.py Tue Sep 3 17:07:38 2013 @@ -27,7 +27,6 @@ 'dpl94', 'it99', 'lm63', - 'tsmfk01', 'lm63_3site', 'm61', 'm61b', @@ -37,5 +36,6 @@ 'ns_r1rho_2site', 'ns_matrices', 'tp02', + 'tsmfk01', 'two_point' ] 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=20773&r1=20772&r2=20773&view=diff ============================================================================== --- branches/relax_disp/specific_analyses/relax_disp/api.py (original) +++ branches/relax_disp/specific_analyses/relax_disp/api.py Tue Sep 3 17:07:38 2013 @@ -659,6 +659,48 @@ for frq in loop_frq(): params.append('r2') + # LM63 model. + elif model == MODEL_LM63: + print("The Luz and Meiboom (1963) 2-site fast exchange model.") + params = [] + for frq in loop_frq(): + params.append('r2') + params += ['phi_ex', 'kex'] + + # LM63 3-site model. + elif model == MODEL_LM63_3SITE: + print("The Luz and Meiboom (1963) 3-site fast exchange model.") + params = [] + for frq in loop_frq(): + params.append('r2') + params += ['phi_ex_B', 'phi_ex_C', 'kB', 'kC'] + + # Full CR72 model. + elif model == MODEL_CR72_FULL: + print("The full Carver and Richards (1972) 2-site model for all time scales.") + params = [] + for frq in loop_frq(): + params.append('r2a') + for frq in loop_frq(): + params.append('r2b') + params += ['pA', 'dw', 'kex'] + + # Reduced CR72 model. + elif model == MODEL_CR72: + print("The reduced Carver and Richards (1972) 2-site model for all time scales, whereby the simplification R20A = R20B is assumed.") + params = [] + for frq in loop_frq(): + params.append('r2') + params += ['pA', 'dw', 'kex'] + + # IT99 model. + elif model == MODEL_IT99: + print("The Ishima and Torchia (1999) CPMG 2-site model for all time scales with pA >> pB.") + params = [] + for frq in loop_frq(): + params.append('r2') + params += ['phi_ex', 'padw2', 'tex'] + # TSMFK01 model. elif model == MODEL_TSMFK01: print("The Tollinger, Kay et al. (2001) 2-site very-slow exchange model, range of microsecond to second time scale.") @@ -666,48 +708,6 @@ for frq in loop_frq(): params.append('r2a') params += ['dw', 'kA'] - - # LM63 model. - elif model == MODEL_LM63: - print("The Luz and Meiboom (1963) 2-site fast exchange model.") - params = [] - for frq in loop_frq(): - params.append('r2') - params += ['phi_ex', 'kex'] - - # LM63 3-site model. - elif model == MODEL_LM63_3SITE: - print("The Luz and Meiboom (1963) 3-site fast exchange model.") - params = [] - for frq in loop_frq(): - params.append('r2') - params += ['phi_ex_B', 'phi_ex_C', 'kB', 'kC'] - - # Full CR72 model. - elif model == MODEL_CR72_FULL: - print("The full Carver and Richards (1972) 2-site model for all time scales.") - params = [] - for frq in loop_frq(): - params.append('r2a') - for frq in loop_frq(): - params.append('r2b') - params += ['pA', 'dw', 'kex'] - - # Reduced CR72 model. - elif model == MODEL_CR72: - print("The reduced Carver and Richards (1972) 2-site model for all time scales, whereby the simplification R20A = R20B is assumed.") - params = [] - for frq in loop_frq(): - params.append('r2') - params += ['pA', 'dw', 'kex'] - - # IT99 model. - elif model == MODEL_IT99: - print("The Ishima and Torchia (1999) CPMG 2-site model for all time scales with pA >> pB.") - params = [] - for frq in loop_frq(): - params.append('r2') - params += ['phi_ex', 'padw2', 'tex'] # Full NS CPMG 2-site 3D model. elif model == MODEL_NS_CPMG_2SITE_3D_FULL: 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=20773&r1=20772&r2=20773&view=diff ============================================================================== --- branches/relax_disp/specific_analyses/relax_disp/variables.py (original) +++ branches/relax_disp/specific_analyses/relax_disp/variables.py Tue Sep 3 17:07:38 2013 @@ -47,9 +47,6 @@ MODEL_LM63 = 'LM63' """The CPMG 2-site fast exchange model of Luz and Meiboom (1963).""" -MODEL_TSMFK01 = 'TSMFK01' -"""The CPMG 2-site very-slow exchange model, range of microsecond to second time scale, of M. Tollinger, N.R. Skrynnikov, F.A.A. Mulder, J.D.F. Kay and L.E. Kay (2001).""" - MODEL_LM63_3SITE = 'LM63 3-site' """The CPMG 3-site fast exchange model of Luz and Meiboom (1963).""" @@ -61,6 +58,9 @@ MODEL_IT99 = 'IT99' """The CPMG 2-site model for all time scales with pA >> pB of Ishima and Torchia (1999).""" + +MODEL_TSMFK01 = 'TSMFK01' +"""The CPMG 2-site very-slow exchange model, range of microsecond to second time scale, of M. Tollinger, N.R. Skrynnikov, F.A.A. Mulder, J.D.F. Kay and L.E. Kay (2001).""" MODEL_M61 = 'M61' """The R1rho 2-site fast exchange model of Meiboom (1961).""" @@ -96,16 +96,16 @@ # 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_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] +MODEL_LIST_DISP = [MODEL_NOREX, MODEL_LM63, MODEL_LM63_3SITE, MODEL_CR72, MODEL_CR72_FULL, MODEL_IT99, MODEL_TSMFK01, 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_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] +MODEL_LIST_FULL = [MODEL_R2EFF, MODEL_NOREX, MODEL_LM63, MODEL_LM63_3SITE, MODEL_CR72, MODEL_CR72_FULL, MODEL_IT99, MODEL_TSMFK01, 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] +MODEL_LIST_CPMG = [MODEL_NOREX, MODEL_LM63, MODEL_LM63_3SITE, MODEL_CR72, MODEL_CR72_FULL, MODEL_IT99, MODEL_TSMFK01, 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 all dispersion models specifically for CPMG-type experiments (excluding the R2eff model).""" -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] +MODEL_LIST_CPMG_FULL = [MODEL_R2EFF, MODEL_NOREX, MODEL_LM63, MODEL_LM63_3SITE, MODEL_CR72, MODEL_CR72_FULL, MODEL_IT99, MODEL_TSMFK01, MODEL_NS_CPMG_2SITE_3D, MODEL_NS_CPMG_2SITE_3D_FULL, MODEL_NS_CPMG_2SITE_STAR, MODEL_NS_CPMG_2SITE_STAR_FULL, MODEL_NS_CPMG_2SITE_EXPANDED] """The list of the R2eff model together with all dispersion models specifically for CPMG-type experiments.""" MODEL_LIST_R1RHO = [MODEL_NOREX, MODEL_M61, MODEL_M61B, MODEL_DPL94, MODEL_TP02, MODEL_NS_R1RHO_2SITE] 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=20773&r1=20772&r2=20773&view=diff ============================================================================== --- branches/relax_disp/target_functions/relax_disp.py (original) +++ branches/relax_disp/target_functions/relax_disp.py Tue Sep 3 17:07:38 2013 @@ -57,11 +57,11 @@ - 'No Rex': The model for no chemical exchange relaxation. - 'LM63': The Luz and Meiboom (1963) 2-site fast exchange model. - - 'TSMFK01': The Tollinger, Kay et al. (2001) 2-site very-slow exchange model, range of microsecond to second time scale. - 'LM63 3-site': The Luz and Meiboom (1963) 3-site fast exchange model. - 'CR72': The reduced Carver and Richards (1972) 2-site model for all time scales with R20A = R20B. - 'CR72 full': The full Carver and Richards (1972) 2-site model for all time scales. - 'IT99': The Ishima and Torchia (1999) 2-site model for all time scales with skewed populations (pA >> pB). + - 'TSMFK01': The Tollinger, Kay et al. (2001) 2-site very-slow exchange model, range of microsecond to second time scale. - 'M61': The Meiboom (1961) 2-site fast exchange model for R1rho-type experiments. - 'DPL94': The Davis, Perlman and London (1994) 2-site fast exchange model for R1rho-type experiments. - 'M61 skew': The Meiboom (1961) on-resonance 2-site model with skewed populations (pA >> pB) for R1rho-type experiments. @@ -211,8 +211,6 @@ self.func = self.func_NOREX if model == MODEL_LM63: self.func = self.func_LM63 - if model == MODEL_TSMFK01: - self.func = self.func_TSMFK01 if model == MODEL_LM63_3SITE: self.func = self.func_LM63_3site if model == MODEL_CR72_FULL: @@ -221,6 +219,8 @@ self.func = self.func_CR72 if model == MODEL_IT99: self.func = self.func_IT99 + if model == MODEL_TSMFK01: + self.func = self.func_TSMFK01 if model == MODEL_NS_CPMG_2SITE_3D_FULL: self.func = self.func_ns_cpmg_2site_3D_full if model == MODEL_NS_CPMG_2SITE_3D: 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=20773&r1=20772&r2=20773&view=diff ============================================================================== --- branches/relax_disp/user_functions/relax_disp.py (original) +++ branches/relax_disp/user_functions/relax_disp.py Tue Sep 3 17:07:38 2013 @@ -40,7 +40,7 @@ from specific_analyses.relax_disp.nessy import nessy_input from specific_analyses.relax_disp.parameters import copy from specific_analyses.relax_disp.sherekhan import sherekhan_input -from specific_analyses.relax_disp.variables import MODEL_CR72, MODEL_CR72_FULL, MODEL_DPL94, MODEL_IT99, MODEL_LM63, MODEL_TSMFK01, MODEL_LM63_3SITE, MODEL_M61, MODEL_M61B, MODEL_NOREX, MODEL_R2EFF, 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_R1RHO_2SITE, MODEL_TP02 +from specific_analyses.relax_disp.variables import MODEL_CR72, MODEL_CR72_FULL, MODEL_DPL94, MODEL_IT99, MODEL_LM63, MODEL_LM63_3SITE, MODEL_M61, MODEL_M61B, MODEL_NOREX, MODEL_R2EFF, 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_R1RHO_2SITE, MODEL_TP02, MODEL_TSMFK01 from specific_analyses.setup import relax_disp_obj from user_functions.data import Uf_info; uf_info = Uf_info() from user_functions.objects import Desc_container @@ -477,11 +477,11 @@ u"%s: {R\u2082eff/R\u2081\u1D68, I\u2080}" % MODEL_R2EFF, u"%s: {R\u2082, ...}" % MODEL_NOREX, u"%s: {R\u2082, ..., \u03D5\u2091\u2093, k\u2091\u2093}" % MODEL_LM63, - u"%s: {R\u2082A, ..., d\u03C9, kA}" % MODEL_TSMFK01, u"%s: {R\u2082, ..., \u03D5\u2091\u2093B, kB, \u03D5\u2091\u2093C, kC}" % MODEL_LM63_3SITE, u"%s: {R\u2082, ..., pA, d\u03C9, k\u2091\u2093}" % MODEL_CR72, u"%s: {R\u2082A, R\u2082B, ..., pA, d\u03C9, k\u2091\u2093}" % MODEL_CR72_FULL, u"%s: {R\u2082, ..., \u03D5\u2091\u2093, pA.d\u03C9\u00B2, k\u2091\u2093}" % MODEL_IT99, + u"%s: {R\u2082A, ..., d\u03C9, kA}" % MODEL_TSMFK01, u"%s: {R\u2082, ..., pA, d\u03C9, k\u2091\u2093}" % MODEL_NS_CPMG_2SITE_3D, u"%s: {R\u2082A, R\u2082B, ..., pA, d\u03C9, k\u2091\u2093}" % MODEL_NS_CPMG_2SITE_3D_FULL, u"%s: {R\u2082, ..., pA, d\u03C9, k\u2091\u2093}" % MODEL_NS_CPMG_2SITE_STAR, @@ -497,11 +497,11 @@ MODEL_R2EFF, MODEL_NOREX, MODEL_LM63, - MODEL_TSMFK01, MODEL_LM63_3SITE, MODEL_CR72, MODEL_CR72_FULL, MODEL_IT99, + MODEL_TSMFK01, MODEL_NS_CPMG_2SITE_3D, MODEL_NS_CPMG_2SITE_3D_FULL, MODEL_NS_CPMG_2SITE_STAR, @@ -524,11 +524,11 @@ uf.desc[-1].add_item_list_element("'%s'" % MODEL_R2EFF, "This is the model used to determine the R2eff values and errors required as the base data for all other models,") 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_LM63, "The original Luz and Meiboom (1963) 2-site fast exchange equation with parameters {R20, ..., phi_ex, kex},") -uf.desc[-1].add_item_list_element("'%s'" % MODEL_TSMFK01, "The Tollinger, Kay et al. (2001) 2-site very-slow exchange model, range of microsecond to second time scale. Applicable in the limit of slow exchange, when |R20A-R20B| << kA,kB << 1/tau_CP. R20A is the transverse relaxation rate of site A in the absence of exchange. 2*tau_CP is is the time between successive 180 deg. pulses. The parameters are {R20A, ..., dw, kA}.") uf.desc[-1].add_item_list_element("'%s'" % MODEL_LM63_3SITE, "The original Luz and Meiboom (1963) 3-site fast exchange equation with parameters {R20, ..., phi_ex, kex, phi_ex2, kex2},") uf.desc[-1].add_item_list_element("'%s'" % MODEL_CR72, "The reduced Carver and Richards (1972) 2-site equation for all time scales whereby the simplification R20A = R20B is assumed. The parameters are {R20, ..., pA, dw, kex}.") uf.desc[-1].add_item_list_element("'%s'" % MODEL_CR72_FULL, "The full Carver and Richards (1972) 2-site equation for all time scales with parameters {R20A, R20B, ..., pA, dw, kex}.") uf.desc[-1].add_item_list_element("'%s'" % MODEL_IT99, "The Ishima and Torchia (1999) 2-site model for all time scales with pA >> pB and with parameters {R20, ..., phi_ex, padw2, kex}.") +uf.desc[-1].add_item_list_element("'%s'" % MODEL_TSMFK01, "The Tollinger, Kay et al. (2001) 2-site very-slow exchange model, range of microsecond to second time scale. Applicable in the limit of slow exchange, when |R20A-R20B| << kA,kB << 1/tau_CP. R20A is the transverse relaxation rate of site A in the absence of exchange. 2*tau_CP is is the time between successive 180 deg. pulses. The parameters are {R20A, ..., dw, kA}.") uf.desc[-1].add_paragraph("For the R1rho-type experiment, the currently supported models are:") 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,")