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 Troels Emtekær Linnet on March 06, 2014 - 11:44:
Dear Edward.

Thank you for your valuable input.

The main reason for my interest in storing these data, are for
inspection, inspection, inspection. :-)

I have tried to perform an analysis of a R1rho dataset, but the
familiarity with the outcome of the standard curves is limited.
With R1rho as function of spin-lock field strength (and looping over
offset), the curves are skewed, but I don't know if that is expected.

If R1rho could be plotted as function of theta (and looping over
offset), I would be expecting to see 6 bell-curves.
If I could see these bell-shapes, I would be more assured, that my
input data is correct.

And if I could plot R2_eff as function of Omega_eff, I would be able
to directly compare to articles.

These two types of graphs, would normally be our very first inspection
that the input data is correct. :-)

Or else I would need to inspect the data input.
-----------------------------
There would be some obvious errors for this:
- My user error input in either:
1) relax_disp.spin_lock_field
2) relax_disp.spin_lock_offset
3) relax_disp.relax_time

- Some horrible mistake in organizing my data
Murphy's law could be at play here.
A thing I have to check, if the above inspection does not come out
with an obvious explanation.
-----------------------------

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.

In essence:
- The possibility to create the data, and inspect in the spin container
- The possibility to write these values out, (so they also could be
plotted elsewhere)
- The possibility to write grace files, with the user function
relax_disp.plot_disp_curves

My problem now is to figure out how to plan this.
- Should I add parameters to relax ?
Done for: Revision 22408, 22409, 22411

Or is this not necessary?

Best
Troels


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

I've been thinking about the problem a bit deeper, and I am now
wondering if the flip angle theta and the omega_eff values actually
need to be stored at all.  It sounds like their intended use is for
generating the X values for 2D Grace plots.  Do you have another
purpose in mind?

If this is the only purpose, then there is no need to store these
values.  The functions of the specific_analyses.relax_disp.disp_data
can generate these on demand.  The return_offset_data() function can
create the data at any time.  The structure of the dispersion
variables in the data pipes has been made as simple as possible, with
all secondary parameters and values calculated from the base values.
But these secondary parameters are never stored.  One main reason is
because a user will often go back and modify/fix one of the base
values (they may have incorrectly typed/calculated the offset value).
And there is no mechanism to update the secondary parameters when the
base parameter, that is depends on, has been modified.

For the Grace graphs of the relax_disp.plot_disp_data user function,
all you need is to call the return_offset_data() function within the
plot_disp_curves() function of the same module, and then place the
appropriate values along the X-axis.  Then when the function finishes,
all the data structures are automatically deleted by the Python
interpreter.

Regards,

Edward

_______________________________________________
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 Thu Mar 06 14:20:18 2014