Hi, Actually, it is quite dangerous to the average parameter value, as they can start arbitrary values if the user uses the value.set() user function. This worked in the relaxation curve fitting for the peak heights, but that was a lucky exception. It's best to have fixed values here as you know roughly what order of magnitude the end values should be (from Flemming's data). It's best to look how the model-free assemble_scaling_matrix() method does this. Regards, Edward On Tue, Jan 13, 2009 at 2:51 PM, <sebastien.morin.1@xxxxxxxxx> wrote:
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 _______________________________________________ relax (http://nmr-relax.com) This is the relax-commits mailing list relax-commits@xxxxxxx 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