On Mon, Jan 12, 2009 at 2:37 PM, Sébastien Morin <[email protected]> wrote: > Hi, > > I am now planning to implement the code for calculating R2eff from peak > intensities before passing R2eff values to the curve fitting code... > > I thought of a function like: > > ================= > def calc_r2eff(self, exp_type='cpmg', id=None, delayT=None, > int_cpmg=0, int_ref=0): > """Calculate the effective transversal relaxation rate from the > peak intensities. The > equation depends on the experiment type chosen, either 'cpmg' or > 'r1rho'. > > If 'cpmg' is chosen, the equation used is: > r2eff = - ( 1 / delayT ) * log ( int_cpmg / int_ref ) > > If 'r1rho' is chosen, nothing happens yet, as the code is not > implemented. > """ > > if exp_type == 'cpmg': > r2eff = - ( 1 / delayT ) * log ( int_cpmg / int_ref ) > > return r2eff > =================
This design looks good. It's implementation will be a bit tricky though and will require much thought, as you'll find out ;) > I would put this one in 'specific_fns'. However, I am still not sure > about how this function should be called. Yep, it should be a method of the Relax_disp object. > The function should be called after data input (also after using > exp_type() and cpmg_delayT()), and before any curve fitting. This > function should be called for every spin (in a loop), for every > experiment id (in a loop, which would include different spectrometer > frequencies as well as different cpmg_delayT, if present). > > Is that a good approach ? > Is there something important I forget ? It should be called only when required. This is at the very start of Relax_disp.calc(), Relax_disp.back_calc(), Relax_disp.grid_search(), and Relax_disp.minimise(). Alternatively you could create a new user function, something like relax_disp.calc_r2eff(). It will need careful checks to make sure all the required data is input into relax. Regards, Edward _______________________________________________ relax (http://nmr-relax.com) This is the relax-devel mailing list [email protected] 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-devel

