mailRe: Looping over incomplete data-set


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

Header


Content

Posted by Edward d'Auvergne on December 13, 2013 - 14:27:
Hi Troels,

I would suggest creating a bug report for this.  It could be that
other relax users encounter this exact problem.  So having a bug
report will help them understand what is happening.  It will also show
up as being fixed in the relax 3.1.2 release messages, once that
release is made.  This is also very useful for users who are following
the relax developments.

Cheers,

Edward



On 10 December 2013 21:41, Troels Emtekær Linnet <tlinnet@xxxxxxxxx> wrote:
Hi Edward.

Thank you for the generous explanation. :-)

I will dick into it.

Best
Troels


Troels Emtekær Linnet


2013/12/10 Edward d'Auvergne <edward@xxxxxxxxxxxxx>

Hi,

How is your investigation of this problem going?  I've had a look and
have a few pointers for you.  See the
specific_analyses.relax_disp.disp_data module docstring to understand
this:

- Each exponential curve is specific to Ei (the experiment type, which
in this case is just R1rho), Mi (the magnetic field strength), Oi (the
spin-lock offset), and Di (the dispersion point, in this case the
spin-lock field strength).

- The current assumption in relax is that Ti (the time points of the
exponential curves) are the same for all Ei, Mi, Oi, and Di.

- For your R1rho data this is not the case!  It is probably a fair
assumption that this assumption will not hold in many cases.

- The "for time in cdp.relax_time_list" code just before the error
occurs is the problem.

- Instead, the loop_time() function should be used.

- However this function makes the above Ti assumption.

- So the solution would be to make the loop_time() function Ei, Mi,
Oi, and Di specific.  See the loop_offset() function for inspiration.
It should be very similar but loop over all Ti instead of all Oi, and
there should be 2 new checks for the dispersion point and time values
added there.  To check the dispersion points, you will need to fetch
that data in a similar way as is done in loop_point() (see the lines
under the comment "# Assemble the dispersion data").  The key to this,
as well as all handling of dispersion data in the relax data store, is
that you loop over all spectrum or experiment IDs, matching to Ei, Mi,
Oi, Di, and Ti as needed to find if data exists for that combination.

I will be travelling tomorrow so may not be able to answer your
questions for a while.  I'll let you try to fix this one with the
above hints.

Regards,

Edward



On 10 December 2013 19:05, Troels Emtekær Linnet <tlinnet@xxxxxxxxx>
wrote:
Hi Edward.

The official repository passes all test at my place.

For the above mentioned case, I un-commented the line again
at my computer, to try to track down where I should make a plan for
future modifications.

Best
Troels







Related Messages


Powered by MHonArc, Updated Fri Dec 13 14:40:10 2013