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

Reply via email to