Fine with cpmg_frq=None (to specify the reference spectra)... Would this imply accepting another type than float or integer for cpmg_frq ? Is None a string ? If so, should I add a relax error such as RelaxIntFloatStrError ?
Thanks. Séb Edward d'Auvergne wrote: > Oh, I would prefer None to 0 as a zero frequency would imply an > infinitely long pulse train ;) > > Regards, > > Edward > > > On Thu, Jan 8, 2009 at 8:46 PM, Edward d'Auvergne <[email protected]> > wrote: > >> Sounds like the perfect solution! >> >> >> On Thu, Jan 8, 2009 at 8:42 PM, Sébastien Morin >> <[email protected]> wrote: >> >>> Hi Ed, >>> >>> You are right, and I am partially wrong... >>> >>> delayT is 0 for reference spectra (where the CPMG block is absent). >>> However, it can be of different values for the CPMG spectra... >>> >>> What is best ? Define the reference spectra with cpmg_delayT() or with >>> cpmg_frq() ? I would propose cpmg_frq() , with a value of 0, 'ref', or >>> None, as this could allow us to give a single delayT value for a >>> complete dataset and, then, a variable cpmg_frq value for the different >>> spectra... >>> >>> What do you think ? >>> >>> >>> Séb :) >>> >>> >>> >>> Edward d'Auvergne wrote: >>> >>>> Hi, >>>> >>>> I thought delayT was set to zero seconds in the reference spectrum? >>>> Anyway, your arguments are convincing. Maybe if the spectrum_id is >>>> set to None, then all spectrum can be set with that one value? What >>>> do you think? >>>> >>>> Regards, >>>> >>>> Edward >>>> >>>> >>>> On Thu, Jan 8, 2009 at 6:05 PM, Sébastien Morin >>>> <[email protected]> wrote: >>>> >>>> >>>>> Hi, >>>>> >>>>> delayT could vary depending with the magnetic field. It could even vary >>>>> among one magnetic field... >>>>> >>>>> In fact, the same delayT must be used for at least a reference spectrum >>>>> and a spectrum with CPMG... From this, a R2eff is calculated. Normally, >>>>> users will use the same delayT for all the dispersion curve at one >>>>> field, since this will allow only one reference spectrum to be >>>>> recorded... The same delayT can be used at another field strength, >>>>> however a different one can be used also, for a better S/N or for >>>>> probing differently the dispersion profile... >>>>> >>>>> Hence, I would think that delayT should be associated with one dataset, >>>>> in the same way as the frequency, when set using frq.set... >>>>> >>>>> Does that sound logical ? >>>>> >>>>> Regards, >>>>> >>>>> >>>>> Séb :) >>>>> >>>>> >>>>> >>>>> >>>>> Edward d'Auvergne wrote: >>>>> >>>>> >>>>>> Seb, >>>>>> >>>>>> Do we need to associate delayT with different spectra? Is it not the >>>>>> same for all spectra from all field strengths? >>>>>> >>>>>> Regards, >>>>>> >>>>>> Edward >>>>>> >>>>>> >>>>>> On Thu, Jan 8, 2009 at 5:48 PM, <[email protected]> wrote: >>>>>> >>>>>> >>>>>> >>>>>>> Author: semor >>>>>>> Date: Thu Jan 8 17:48:13 2009 >>>>>>> New Revision: 8339 >>>>>>> >>>>>>> URL: http://svn.gna.org/viewcvs/relax?rev=8339&view=rev >>>>>>> Log: >>>>>>> Added the user function cpmg_delayT() which allows setting the CPMG >>>>>>> constant time delay T used for >>>>>>> the analysed dataset. >>>>>>> >>>>>>> This follows a post at: >>>>>>> https://mail.gna.org/public/relax-devel/2009-01/msg00027.html >>>>>>> (Message-id: <[email protected]>) >>>>>>> >>>>>>> >>>>>>> Modified: >>>>>>> branches/relax_disp/prompt/relax_disp.py >>>>>>> branches/relax_disp/specific_fns/relax_disp.py >>>>>>> >>>>>>> branches/relax_disp/test_suite/system_tests/scripts/relax_disp_cpmg_fast.py >>>>>>> >>>>>>> Modified: branches/relax_disp/prompt/relax_disp.py >>>>>>> URL: >>>>>>> http://svn.gna.org/viewcvs/relax/branches/relax_disp/prompt/relax_disp.py?rev=8339&r1=8338&r2=8339&view=diff >>>>>>> ============================================================================== >>>>>>> --- branches/relax_disp/prompt/relax_disp.py (original) >>>>>>> +++ branches/relax_disp/prompt/relax_disp.py Thu Jan 8 17:48:13 2009 >>>>>>> @@ -45,6 +45,42 @@ >>>>>>> >>>>>>> # Place relax in the class namespace. >>>>>>> self.__relax__ = relax >>>>>>> + >>>>>>> + >>>>>>> + def cpmg_delayT(self, id=None, delayT=None): >>>>>>> + """Set the CPMG constant time delay (T) of the experiment. >>>>>>> + >>>>>>> + Keyword arguments >>>>>>> + ~~~~~~~~~~~~~~~~~ >>>>>>> + >>>>>>> + id: The experiment identification string. >>>>>>> + >>>>>>> + delayT: The CPMG constant time delay (T) in s. >>>>>>> + >>>>>>> + >>>>>>> + Description >>>>>>> + ~~~~~~~~~~~ >>>>>>> + >>>>>>> + This user function allows the CPMG constant time delay (T) of >>>>>>> a given experiment to be set. >>>>>>> + """ >>>>>>> + >>>>>>> + # Function intro text. >>>>>>> + if self.__relax__.interpreter.intro: >>>>>>> + text = sys.ps3 + "delayT(" >>>>>>> + text = text + "id=" + `id` >>>>>>> + text = text + ", delayT=" + `delayT` + ")" >>>>>>> + print text >>>>>>> + >>>>>>> + # Id string. >>>>>>> + if type(id) != str: >>>>>>> + raise RelaxStrError, ('experiment identification string', >>>>>>> id) >>>>>>> + >>>>>>> + # The CPMG constant time delay (T). >>>>>>> + if type(delayT) != float and type(delayT) != int: >>>>>>> + raise RelaxNumError, ('CPMG constant time delay (T)', >>>>>>> delayT) >>>>>>> + >>>>>>> + # Execute the functional code. >>>>>>> + specific_fns.relax_disp.cpmg_delayT(id=id, delayT=delayT) >>>>>>> >>>>>>> >>>>>>> def exp_type(self, exp='cpmg'): >>>>>>> >>>>>>> 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=8339&r1=8338&r2=8339&view=diff >>>>>>> ============================================================================== >>>>>>> --- branches/relax_disp/specific_fns/relax_disp.py (original) >>>>>>> +++ branches/relax_disp/specific_fns/relax_disp.py Thu Jan 8 17:48:13 >>>>>>> 2009 >>>>>>> @@ -205,6 +205,41 @@ >>>>>>> >>>>>>> # Add the frequency at the correct position. >>>>>>> cdp.cpmg_frqs[index] = frq >>>>>>> + >>>>>>> + >>>>>>> + def cpmg_delayT(id=None, delayT=None): >>>>>>> + """Set the CPMG constant time delay (T) of the experiment. >>>>>>> + >>>>>>> + @keyword id: The experimental identification string >>>>>>> (allowing for multiple experiments >>>>>>> + per data pipe). >>>>>>> + @type id: str >>>>>>> + @keyword delayT: The CPMG constant time delay (T) in s. >>>>>>> + @type delayT: float >>>>>>> + """ >>>>>>> + >>>>>>> + # Function intro text. >>>>>>> + if self.__relax__.interpreter.intro: >>>>>>> + text = sys.ps3 + "delayT(" >>>>>>> + text = text + "id=" + `id` >>>>>>> + text = text + ", delayT=" + `delayT` + ")" >>>>>>> + print text >>>>>>> + >>>>>>> + # Test if the current data pipe exists. >>>>>>> + pipes.test() >>>>>>> + >>>>>>> + # Alias the current data pipe. >>>>>>> + cdp = pipes.get_pipe() >>>>>>> + >>>>>>> + # Set up the dictionnary data structure if it doesn't exist >>>>>>> yet. >>>>>>> + if not hasattr(cdp, 'delayT'): >>>>>>> + cdp.delayT = {} >>>>>>> + >>>>>>> + # Test the CPMG constant time delay (T) has not already been >>>>>>> set. >>>>>>> + if cdp.delayT.has_key(id): >>>>>>> + raise RelaxError, "The CPMG constant time delay (T) for the >>>>>>> experiment " + `id` + " has already been set." >>>>>>> + >>>>>>> + # Set the CPMG constant time delay (T). >>>>>>> + cdp.delayT[id] = delayT >>>>>>> >>>>>>> >>>>>>> def create_mc_data(self, spin_id): >>>>>>> >>>>>>> Modified: >>>>>>> branches/relax_disp/test_suite/system_tests/scripts/relax_disp_cpmg_fast.py >>>>>>> URL: >>>>>>> http://svn.gna.org/viewcvs/relax/branches/relax_disp/test_suite/system_tests/scripts/relax_disp_cpmg_fast.py?rev=8339&r1=8338&r2=8339&view=diff >>>>>>> ============================================================================== >>>>>>> --- >>>>>>> branches/relax_disp/test_suite/system_tests/scripts/relax_disp_cpmg_fast.py >>>>>>> (original) >>>>>>> +++ >>>>>>> branches/relax_disp/test_suite/system_tests/scripts/relax_disp_cpmg_fast.py >>>>>>> Thu Jan 8 17:48:13 2009 >>>>>>> @@ -22,6 +22,9 @@ >>>>>>> >>>>>>> # Relaxation dispersion magnetic field (in Hz). >>>>>>> frq.set(id='600', frq=600.0 * 1e6) >>>>>>> + >>>>>>> +# Relaxation dispersion CPMG constant time delay T (in s). >>>>>>> +cpmg_delayT(id='600', delayT=0.020) >>>>>>> >>>>>>> # Relaxation dispersion CPMG frequencies (in Hz). >>>>>>> cpmg_frq = [ >>>>>>> >>>>>>> >>>>>>> _______________________________________________ >>>>>>> relax (http://nmr-relax.com) >>>>>>> >>>>>>> This is the relax-commits 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-commits >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> _______________________________________________ >>>>>> 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 >>>>>> >>>>>> >>>>>> >>>>>> >>>>> _______________________________________________ >>>>> 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 >>>>> >>>>> >>>>> >>>> >>> > > > _______________________________________________ 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

