This will simply require the RelaxNoneNumError. Examples with this check should be easy to find in 'prompt/'.
Regards, Edward On Thu, Jan 8, 2009 at 9:06 PM, Sébastien Morin <[email protected]> wrote: > 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

