mailRe: Implementation of the Schanda, Lescanne and Marion numeric dispersion model code in relax.


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

Header


Content

Posted by Edward d'Auvergne on July 23, 2013 - 14:06:
Hi,

There is one other point I forgot to mention.  This is quite important
as well.  And that is that the numeric dispersion models are validated
in the relax test suite.  This ensures that the code will remain
functional for the lifetime of the relax project (which, because this
is an open source project, will be longer than I am in the NMR field).
 You can run the tests yourself by typing at the prompt:

$ relax -s --time Relax_disp

The individual tests can also be run with:

$ relax -s Relax_disp.test_hansen_cpmg_data_ns_2site_3D
$ relax -s Relax_disp.test_hansen_cpmg_data_ns_2site_3D_full
$ relax -s Relax_disp.test_hansen_cpmg_data_ns_2site_expanded
$ relax -s Relax_disp.test_hansen_cpmg_data_ns_2site_star
$ relax -s Relax_disp.test_hansen_cpmg_data_ns_2site_star_full

The tests for the *full models are assumed to be correct, but they
cannot be extensively validated as no other dispersion software
optimises these.

Cheers,

Edward




On 23 July 2013 09:28, Edward d'Auvergne <edward@xxxxxxxxxxxxx> wrote:
Hi,

The 2-site numeric dispersion models for CPMG data are now fully functional
within relax!  The following describes how these are implemented in relax
(to be permanently archived at
http://dir.gmane.org/gmane.science.nmr.relax.devel).  I hope that you will
check all of this by running relax and seeing for yourself.  I also have a
few questions below.  Note that the code is in the relax_disp branch of the
source code repository and that there is no official release at
http://www.nmr-relax.com/download.html yet.

I have documented the numeric models now present in relax in Chapter 10 of
the user manual.  I have compiled the current manual for the branch and
uploaded it to http://download.gna.org/relax/manual/relax_disp_manual.pdf.
Please have a look and see what you think.  The text is extremely minimal
and needs to be expanded.  If you have any suggestions or additional
material (equations, figures, etc., and in LaTeX preferably), it would be
happily accepted.  For example equations for the matrices and the
propagation used.  The aim is to be a complete stand-alone relaxation
dispersion reference for the users, pointing them to all the relevant
literature at all possible points.  Cheers!

As a summary, from the relax_disp.select_model user function description,
the numeric models are:

    'NS 2-site 3D':  The reduced numerical solution for the 2-site
Bloch-McConnell equations using 3D magnetisation vectors whereby the
simplification R20A = R20B is assumed.  Its parameters are {R20, ..., pA,
dw, kex}.

    'NS 2-site 3D full':  The full numerical solution for the 2-site
Bloch-McConnell equations using 3D magnetisation vectors.  Its parameters
are {R20A, R20B, ..., pA, dw, kex}.

    'NS 2-site star':  The reduced numerical solution for the 2-site
Bloch-McConnell equations using complex conjugate matrices whereby the
simplification R20A = R20B is assumed.  It has the parameters {R20, ..., pA,
dw, kex}.

    'NS 2-site star full':  The full numerical solution for the 2-site
Bloch-McConnell equations using complex conjugate matrices with parameters
{R20A, R20B, ..., pA, dw, kex}.

    'NS 2-site expanded':  The numerical solution for the 2-site
Bloch-McConnell equations expanded using Maple by Nikolai Skrynnikov.  It
has the parameters {R20, ..., pA, dw, kex}.

I would be interested to hear if you have suggestions for saner model names.

In the auto-analysis in relax - the blackbox analysis script to make the
lives of users extremely easy - the *full models are not turned on by
default.  If curious, you can see auto-analysis script in the file
auto_analyses/relax_disp.py.  The auto-analysis script is normally hidden
from the user.  Also, please run the relax GUI with:

$ relax --gui

and start the relaxation dispersion analysis to see how it is implemented.
Note that the auto-analyses are used for the operation of all GUI analyses.
Using scripts, the relax user is free to do anything they wish and implement
any protocol they can imagine (if useful for other users, these can then be
converted into an auto-analysis).

Part of the auto-analysis that I have implemented is the concept of using
optimised parameters from a simpler or equivalent model to speed up
optimisation by avoiding an expensive grid search.  For the 'full' models
above, I use the parameters of the simpler model and start with R20A = R20B
= R20.  Then, during optimisation, R20A and R20B diverge.

For the model equivalence, this is a bit different.  I use the optimised
parameter values from the analytic Carver and Richards model (CR72) as the
starting parameters for the 'NS 2-site 3D', 'NS 2-site star' and 'NS 2-site
expanded' models.  This avoids the grid search and really speeds up the
optimisation by orders of magnitude.  It can be done because the CR72
results are often very similar to the numeric results.  And even a failed
CR72 solution is close enough to the minima to be used as a starting point
for the numeric models.

I have a few other implementation questions, but I'll send these in a
different message for saner threads in the mailing list archives.

Cheers,

Edward


P. S.  Actually, I might take some of this text into the relax manual :)



Related Messages


Powered by MHonArc, Updated Tue Jul 23 22:40:06 2013