mailRe: Relaxation dispersion comparison: The LM63 model results from relax, NESSY and CPMGFit.


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

Header


Content

Posted by Troels Emtekær Linnet on May 30, 2013 - 15:11:
Hi Edward.

You are very productive! and I am stunned to see the development
so fast. :-)

I think you are hitting "the nail" with the current development of relax.
 
At the moment the "hardest/time consuming" part for students in our lab, is the analysis of the
results. We have a good workflow from recording and peak assignment.
But from there, it gets more tricky.

Most of our analysis part is based on "home made" scripts for Igor Pro/Matlab.
They come a long way for most of our analysis.
The problem is that for a "beginner" there can be a "high energy barrier" to start
using these scripts. Not mentioning "license problems", installation and such.
And if you have to make some peak adjustments, then the whole analysis should be performed again.
For a "trained" this takes some hours, but for un-trained, it can take a day or two.

We have been looking for other software for CPMG.
At least to "quickly" try to match our scripts values.  (Here Nessy seemed very interesting, but very buggy)
But concerns about installation, development, and even a "harder" interface than Igor Pro/Matlab, stopped us.
We(as in me) are at the moment matching some test results at the Sherekhan server, after making
a input converter to Sherekhan. That seems to be very easy, and promising.

I am very impressed with relax. Mostly because the GUI can take care of novices, and there exist the possibility to
script it all up for extensive analysis. 
It's free, and I was able to install it on Windows/Linux without to much fuss. 

If I want to try some of our data, is the GUI ready for trying?

Best
Troels








Troels Emtekær Linnet


2013/5/29 Edward d'Auvergne <edward@xxxxxxxxxxxxx>
Hi,

Troels, you might be interested in the following comparison.  The
reviving Sebastien Morin's relaxation dispersion branch in relax is
now complete.  The relax_disp branch can now correctly optimise one of
the dispersion models, that of Luz and Meiboom 1963 for 2-site fast
exchange for CPMG-type experiments.  This does not implement the
gradients or Hessians yet, and parameter constraints are still to be
added.  But nevertheless relax can find the correct parameter values.
This should be a good test of the dispersion code in relax as the
addition of other models - such as that for R1rho data, more
complicated models for CPMG-type data, and numerical integration of
the Bloch-McConnell equations - should be trivial after that
(requiring only 20-50 lines of new code, not counting comments and
docstrings).

Through relax user functions, I can now generate the input for CPMGFit
and NESSY.  These are the relax_disp.cpmgfit_input and
relax_disp.nessy_input user functions.  We can now also execute
CPMGFit within relax using relax_disp.cpmgfit_execute.  This can be
completed later, but the idea is to follow the concept of model-free
user functions:

dasha.create
dasha.execute
dasha.extract
palmer.create
palmer.execute
palmer.extract

These are for the Dasha and Modelfree4 programs respectively.
Implementing the 3 user functions for creating input files, executing
the program in-line, and extracting the results from the program's
output will allow relax to use external programs as optimisation
engines.  This is useful for comparing the results from different
programs and really eliminating all bugs from the dispersion field.

Back to the comparison, I have used Flemming Hansen's 500 and 800 MHz
CPMG data from:

Hansen, Vallurupalli & Kay, 2008, JPhysChemB, 112: 5898-5904.

which he donated to Seb to be added to relax (located in
test_suite/shared_data/dispersion/Hansen/).  Looking at a single
randomly chosen residue (number 70), I see different results from the
3 programs:

Param       relax       NESSY       CPMGFit
R2 (500)        6.806       7.639       6.866
R2 (800)        6.679       7.387       6.866
phi         1.259e-13       0.259   1.226e-13
phi (500)   31464.605   26292.031   30644.496
phi (800)   80549.390   67307.598   78449.180
kex          4763.249    3906.180      4.683
tau         4.199e-05   5.120e-05       0.427
chi2          106.393     156.446     106.471

tau = 2/kex (I think that CPMGFit works with ms units).

Obviously NESSY is not doing so well (likely due to using the horribly
buggy scipy optimisation code) and relax and CPMGFit find the same
result for this model.  The slight difference between relax and
CPMGFit is that it looks like CPMGFit assumes the same R2 value for
all static fields - which I think would be a little strange,
especially if fast internal motions are also present for that spin
system.

Therefore I believe that this relax branch is in a state to accept
code for the other models.  The backends for the
relax_disp.cpmgfit_input and relax_disp.nessy_input could be also
modified to handle these new models to allow for rigorous comparisons
and debugging.  The dispersion infrastructure should no longer have
any large changes, so feel free to start playing.

Regards,

Edward


Related Messages


Powered by MHonArc, Updated Thu May 30 17:40:07 2013