mailRe: Adding value.write of theta/w_eff to auto-analysis of relax_didp for R1rho experiments.


Others Months | Index by Date | Thread Index
>>   [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Header


Content

Posted by Edward d'Auvergne on March 12, 2014 - 22:58:
Hi,

No need to apologize, some things just need a good discussion!  For
the graph attached to sr #3124 (https://gna.org/support/?3124), you
just need to plot the spin.r2eff values against omega_eff.  R2eff is
the effective transverse relaxation rate (or observed R2).  So that
includes the partial R1 contribution when off-resonance, the partial
off-resonance R2 contribution, the full Rex contribution, as well as
any other relaxation mechanisms that might be present (PRE,
quadrapolar relaxation, etc. for non-standard systems).  I would guess
that this is a plot of the standard R2eff dispersion curve which
includes all contributions to the R2.  You should try spin.r2eff
against omega_eff and see if it matches exactly.  This would be the
standard plot that a user would expect as well from the
relax_disp.write_disp_curves user function, and what would be expected
from a relaxation dispersion curve.  If you get the R2eff plotting
running and see that the curves are different, then it might be worth
investigating if the plot from Kjaergaard et al. is not the standard
R2eff dispersion curve (though from the figure legend it does sound
like the standard R2eff).  It might be possible to then output the R1
values, R2 values and theta, and then to write an external script to
remove the R1 contribution and shift the R2 contribution up to 100%.
Or it could be added as a backend function which is not exposed to the
standard user (the backend functions are for power users).

Regards,

Edward



On 12 March 2014 21:10, Troels Emtekær Linnet <tlinnet@xxxxxxxxx> wrote:
Dear Edward.

Please excuse me, if I am unclear and you are wasting your time.
I apologize, since I have a little problem matching different
conventions about the terminology for naming equations and parts of
them.
Especially here for relax conventions and data structures, analysis
scripts in Igor Pro, old data files and paper graphs.

What I am looking for, is a graph like this:
https://gna.org/support/?3124

The attached file #20208:
Figure2_Kjaergaard_et_al_2013_Off-resonance_R1rho_relaxation_dispersion_experiments_using_the_DPL_model.
https://gna.org/support/download.php?file_id=20208

I do believe it is on-resonance R1rho value with exchange that I am looking 
for.
And I also agree, that relax is not calculating this value.

One might ask what the purpose is to produce such a graph.

The best explanation for a wish for such a graph, is to produce a
condensed graph,
which easily will show if there are any exchange contribution or not.

Let me return to this issue when I am trying to solve it.

Are you sure that I can't just expand
specific_analysis.relax_disp.optimisation.back_calc_r2eff()
All the needed data should be available there ?

Best
Troels

Troels Emtekær Linnet


2014-03-12 18:35 GMT+01:00 Edward d'Auvergne <edward@xxxxxxxxxxxxx>:
Hi,

For the definitions for the different dispersion models, you should
look at the code in the lib.dispersion modules.  In each case it is
handled differently.  Which value are you after exactly?  If you are
after the measured exponential relaxation rate, directly from the NMR
spectrum, that would be spin.r2eff (either from the exponential curve
or the two point approach).  If you are interested in the R2eff value
from the fitted parameters for the specific model, which is what those
equations look like, that would be the back-calculated value stored in
spin.r2eff_bc.  If you are interested in the pure on-resonance R1rho'
value with no exchange, that would be spin.r20.

From the equations, it looks like you are after the on-resonance R1rho
value with exchange.  Is this correct?  This value is never calculated
or stored in relax as it serves no purpose.  Are you really sure this
is what you are after, and not the back-calculated value which should
match the experimental values?  If you are really sure, then I suppose
it could be calculated.  But this would have to be done for all the
different R1rho dispersion models, and each is different.  You would
have to call the functions of lib.dispersion (for every dispersion
model this will be different), and set the rotating frame tilt angle
to zero.  Then the back_calc data structure will contain the required
values.  I have a feeling that this is not what you are after though.

Regards,

Edward



On 12 March 2014 18:08, Troels Emtekær Linnet <tlinnet@xxxxxxxxx> wrote:
Hi Edward.

I am looking to calculate
R2_eff = spin.r20 + (phi_ex * k_ ex )/ (k_ex^2+w_e^2 )
R2_eff = (spin.r2eff - spin.ri_data['R1'] *cos(t)**2) / sin(t) **2

As also noted here
http://thread.gmane.org/gmane.science.nmr.relax.devel/5164

Best
Troels

Troels Emtekær Linnet


2014-03-12 17:45 GMT+01:00 Edward d'Auvergne <edward@xxxxxxxxxxxxx>:
Hi Troels,

The R2_eff value stored in spin.r2eff should already contain the R1
contribution.  Have a look lib.dispersion.dpl94.  The spin.r2eff value
is equivalent to the back_calc value.  If you would like to isolate
the pure R1rho contribution, that would be the spin.r20 parameter.  So
maybe if you use grace.write with the theta parameter on the X-axis
and r20 on the Y-axis, this will already automatically work.

Regards,

Edward


On 12 March 2014 14:32, Troels Emtekær Linnet <tlinnet@xxxxxxxxx> wrote:
The two issues I am trying to resolve, is to make graphs of:

R2_eff as function of Omega_eff.
https://gna.org/support/?3124

where
R2,eff = (R1rho - R1*cos(t)*2) / sin(t) *2

I would implement another function to calculate this, as:
R1rho : spin.r2eff
R1 is the loaded R1 values : spin.ri_data
and theta I just calculated.

And plot R1rho as function of theta (and looping over offset).

I think I will now try to implement the relax_disp.write_disp_curves
for R1rho as function of theta.

best
Troels


Troels Emtekær Linnet


2014-03-12 13:54 GMT+01:00 Edward d'Auvergne <edward@xxxxxxxxxxxxx>:
Hi,

What does the output look like?  Could you copy and paste an example?
I'm guessing the relax code is now fully functional so that these
files can be created.  If so, then creating these files in the
auto-analysis would not be a problem.  What is the plan for the
relax_disp.write_disp_curves user function?

Regards,

Edward



On 12 March 2014 13:43, Troels Emtekær Linnet <tlinnet@xxxxxxxxx> 
wrote:
Hi Edward.

I would like to add the custom to write out:
value.write(param='theta', file='theta.out')
value.write(param='w_eff', file='w_eff.out')

For those models who are in the list
MODEL_LIST_R1RHO_FULL = [MODEL_R2EFF, MODEL_NOREX, MODEL_M61, 
MODEL_M61B,
MODEL_DPL94, MODEL_TP02, MODEL_TAP03, MODEL_MP05, 
MODEL_NS_R1RHO_2SITE,
MODEL_NS_R1RHO_3SITE, MODEL_NS_R1RHO_3SITE_LINEAR]
"""The list of the R2eff model together with all dispersion models
specifically for R1rho-type experiments."""

In the relax_disp auto-analysis, in write_results()

I was thinking to add:

        # The theta/w_eff parameter.
        if model in MODEL_LIST_R1RHO_FULL:
            self.interpreter.value.write(param='theta', 
file='theta.out',
dir=path, force=True)
            self.interpreter.value.write(param='w_eff', 
file='w_eff.out',
dir=path, force=True)

Do you support this?

Best
Troels



Troels Emtekær Linnet

_______________________________________________
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@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-devel




Related Messages


Powered by MHonArc, Updated Wed Mar 12 23:40:16 2014