mailRe: Storage of the theta and omega_eff dispersion parameters.


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

Header


Content

Posted by Edward d'Auvergne on March 06, 2014 - 14:52:
Hi,

It is the first - relax is simply storing the R1rho values in the data
structure called r2eff.  One day we might discover a name that would
encompass both data types, and then we can change r2eff to that name
(and add backwards compatibility hooks into the code in the
'data_store' package).  I think the unit test is a good idea to
understand this function, and you should then see how you can use it
to obtain the values you need.  If there is no data input needed, then
modifying return_offset_data() to calculate and return omega_eff and
then using that data where you need it will be the simplest, safest
and cleanest implementation.

Regards,

Edward





On 6 March 2014 14:43, Troels Emtekær Linnet <tlinnet@xxxxxxxxxxxxx> wrote:
Dear Edward.

A little note on the naming of r2eff for an R1rho analysis with DPL94.
http://wiki.nmr-relax.com/DPL94

Does r2eff here means:
r2eff = R1rho = R1*cos(t)*2 + (R1rho' + P_ex*k_ex/(k_ex^2 + w_e^2) ) * 
sin(t) *2
or is it:
R2,eff = (R1rho - R1*cos(t)*2) / sin(t) *2

I guess it must reflect the first?
I think I am a little lost matching different conventions about the
terminology for naming equations and parts of them. :-)

I do not have an interest in loading in omega_eff values.
It is rather the writing out of them, which I then could manually
compare to values in a spreadsheet or similar.

I am writing up a unit test, to get the values return_offset_data().
That should probably help me in understanding the data structure.

Thanks
Troels


2014-03-06 14:10 GMT+01:00 Edward d'Auvergne <edward@xxxxxxxxxxxxx>:
Hi,

One more point:

A desired functionality, would be to implement a user function. Maybe
- relax_disp.return_offset_data
- relax_data.return_offset_data

or add the functionality to
- relax_data.back_calc

The user function should create parameters as a dictionary:
The dictionary keys could be the same as r2eff

cdp.mol[0].res[7].spin[0].r2eff
{'r1rho_799.77739910_118.078_800.500': 9.84888500988483,
'r1rho_799.77739910_142.754_1341.110': 4.9805363953113471,
'r1rho_799.77739910_130.416_1341.110': 9.1530088665806915,
'r1rho_799.77739910_130.416_800.500': 7.3650924682616958,
'r1rho_799.77739910_118.078_984.000': 9.9513756586716013,
'r1rho_799.77739910_118.078_651.200': 9.4610010912607088,
'r1rho_799.77739910_241.459_1341.110': 1.2925550460815427,
'r1rho_799.77739910_118.078_431.000': 8.0090052925282862,
'r1rho_799.77739910_118.078_1648.500': 10.202945137023924,
'r1rho_799.77739910_179.768_1341.110': 1.8836588047273142,
'r1rho_799.77739910_118.078_1341.110': 10.31096739492439,
'r1rho_799.77739910_130.416_1648.500': 9.3622346598033772,
'r1rho_799.77739910_124.247_1341.110': 10.835446929931628,
'r1rho_799.77739910_142.754_800.500': 3.1304734741765006}

And the writing out of the values could be:
value.write(param='r2eff', file='r2eff.out', dir=None, scaling=1.0,
comment=None, bc=False, force=False)
value.write(param='theta', file='theta.out', dir=None, scaling=1.0,
comment=None, bc=False, force=False)

For generating plots, grace.write will complain with:
grace.write(x_data_type='spin_lock_nu1', y_data_type='r2eff',
spin_id=':13@N', plot_data='value',
file='/sbinlab2/tlinnet/test/test.agr', dir=None, force=True,
norm=False)
raise RelaxError("The series data %s does not have the same number of
elements as %s." % (x_val, y_val))

Therefore the relax_disp.plot_disp_curves should be able to chose
between, taking x and y arguments as:
y : r2eff, r1rho
x : spin_lock strength, theta, Omega_eff

If theta, Omega_eff does not exists, it should call the above user
function to create the data.

A user function is not needed, as this is happening in the relax
backend.  The specific_analyses.relax_disp.disp_data.return_offset_data()
function can return the values in the data matrix form (lists of
lists) as it currently does.  But just modify that function to return
omega_eff as well.  The options for the X-axis are perfect.  But the
options for the Y-axis are not needed as r1rho and r2eff are stored as
the same data (in the spin container r2eff dictionary).

Regards,

Edward



Related Messages


Powered by MHonArc, Updated Thu Mar 06 18:00:19 2014