Author: semor Date: Tue Jan 13 14:51:31 2009 New Revision: 8430 URL: http://svn.gna.org/viewcvs/relax?rev=8430&view=rev Log: Completed the scaling matrix code. This follows a thread at: https://mail.gna.org/public/relax-devel/2009-01/msg00073.html (Message-id: <496C09F1.1000307@xxxxxxxxx>) Modified: branches/relax_disp/specific_fns/relax_disp.py Modified: branches/relax_disp/specific_fns/relax_disp.py URL: http://svn.gna.org/viewcvs/relax/branches/relax_disp/specific_fns/relax_disp.py?rev=8430&r1=8429&r2=8430&view=diff ============================================================================== --- branches/relax_disp/specific_fns/relax_disp.py (original) +++ branches/relax_disp/specific_fns/relax_disp.py Tue Jan 13 14:51:31 2009 @@ -149,11 +149,55 @@ pos = cdp.cpmg_frqs.index(min(cdp.cpmg_frqs)) # Scaling. - scaling_matrix[i, i] = 1.0 / average(spin.r2effs[pos]) - - # No scaling for other parameters. - else: - pass + scaling_matrix[i, i] = 1.0 / average(spin.r2eff[pos]) + + # Transversal relaxation rate scaling. + elif spin.params[i] == 'R2': + # Find the position of the first CPMG pulse train frequency point. + pos = cdp.cpmg_frqs.index(min(cdp.cpmg_frqs)) + + # Scaling. + scaling_matrix[i, i] = 1.0 / average(spin.r2[pos]) + + # Chemical exchange contribution to 'R2' scaling. + elif spin.params[i] == 'Rex': + # Find the position of the first CPMG pulse train frequency point. + pos = cdp.cpmg_frqs.index(min(cdp.cpmg_frqs)) + + # Scaling. + scaling_matrix[i, i] = 1.0 / average(spin.rex[pos]) + + # Exchange rate scaling. + elif spin.params[i] == 'kex': + # Find the position of the first CPMG pulse train frequency point. + pos = cdp.cpmg_frqs.index(min(cdp.cpmg_frqs)) + + # Scaling. + scaling_matrix[i, i] = 1.0 / average(spin.kex[pos]) + + # Transversal relaxation rate for state A scaling + elif spin.params[i] == 'R2A': + # Find the position of the first CPMG pulse train frequency point. + pos = cdp.cpmg_frqs.index(min(cdp.cpmg_frqs)) + + # Scaling. + scaling_matrix[i, i] = 1.0 / average(spin.r2a[pos]) + + # Exchange rate from state A to state B scaling. + elif spin.params[i] == 'kA': + # Find the position of the first CPMG pulse train frequency point. + pos = cdp.cpmg_frqs.index(min(cdp.cpmg_frqs)) + + # Scaling. + scaling_matrix[i, i] = 1.0 / average(spin.ka[pos]) + + # Chemical shift difference between states A and B scaling. + elif spin.params[i] == 'dw': + # Find the position of the first CPMG pulse train frequency point. + pos = cdp.cpmg_frqs.index(min(cdp.cpmg_frqs)) + + # Scaling. + scaling_matrix[i, i] = 1.0 / average(spin.dw[pos]) # Increment i. i = i + 1