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 Edward d'Auvergne on May 31, 2013 - 10:00:
Oh, the current solution for relax for such an idea is that users
submit scripts for inclusion in the sample_scripts/ directory.  These
have the format of:

- Copyright header using the GPL3+.  This tells other users who wrote
the script and when, and if it was modified by anyone else.  The
licence itself is needed for redistribution with relax.
- A verbose docstring which describes the problem and the solution of
the script.
- The code of the script.

For example see
http://svn.gna.org/viewcvs/%2Acheckout%2A/relax/trunk/sample_scripts/consistency_tests.py?content-type=text%2Fplain.
 It's not quite the same as a wiki, but it is the best we can do at
the moment.

Regards,

Edward


On 31 May 2013 08:58, Edward d'Auvergne <edward@xxxxxxxxxxxxx> wrote:
Unfortunately within the Gna! infrastructure (http://gna.org/) or open
source hosting infrastructure in general, there is no support for
wikis.  Or any dynamic content for that matter.  The Gna! website
infrastructure behind http://www.nmr-relax.com is quite simple, the
most advanced it does is SSI.  But the PHP required for a wiki
implementation is not there
(https://gna.org/cookbook/?func=detailitem&item_id=108).  I pay for
the http://www.nmr-relax.com domain name myself, so could create the
http://wiki.nmr-relax.com/ URL, but I have no fixed IP address server
at home or at work to point this to.  Would you know any solutions to
such problems?

Regards,

Edward



On 30 May 2013 23:47, Troels Emtekær Linnet <tlinnet@xxxxxxxxx> wrote:
By the way.

Would it be possible to implement a wiki?

It would be beneficial, for a little "loser" user control, to write up
some scratches, how to for example script up some analysis,
of for example CPMG.

I have looked into making a page at "http://nmrwiki.org/";
But they seem to have problems (for a long time now), so
you can't edit anything.

Best
Troels



Troels Emtekær Linnet


2013/5/30 Troels Emtekær Linnet <tlinnet@xxxxxxxxx>:
Uhhh, that is great. :-)

Looking forward to try!

Troels Emtekær Linnet


2013/5/30 Edward d'Auvergne <edward@xxxxxxxxxxxxx>

Hi Troels,

The relaxation dispersion GUI in relax is now fully debugged and
functional.  Well as far as I can tell anyway.  Enjoy!

Regards,

Edward




On 30 May 2013 17:34, Edward d'Auvergne <edward@xxxxxxxxxxxxx> wrote:
You are very productive! and I am stunned to see the development
so fast. :-)

Well, I'm sorting out the code for myself specifically for my own
R1rho analyses.  I'm guessing you are interested in the CPMG side of
things.


I think you are hitting "the nail" with the current development of 
relax.

There's not much left to finish with the base infrastructure.  As for
adding new models, that's a different, but relatively easy story.  The
numerical integration of the Block-McConnell equations might take more
effort to add but, as all the infrastructure is in place, it shouldn't
be too hard.  Integrating with the other softwares (input file
creation, execution, and reading of results - for NESSY, CPMGFit,
ShereKhan, Catia, Chemex, etc.) will be a continual work in progress.
It will be advanced when someone needs it, this is currently myself to
fully automate the comparison between all the different dispersion
programs simply for sanity purposes.


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.

I know this problem well :)


Most of our analysis part is based on "home made" scripts for Igor
Pro/Matlab.

Ah, the code for the dispersion models shouldn't be too difficult to
port into relax if you already have Matlab code in place!


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.

I understand this, and this is one useful advantage of a GUI.  I don't
know how you would avoid having to redo a full analysis if the input
data is changed though, except that maybe you could have a relax save
file for the GUI analysis and slightly tweak the data already within
relax, and the rerun the full analysis.


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)

I am now the maintainer of NESSY so I can fix some of the trivial
bugs.  I have been doing this for a few annoying bugs, for example
see:

https://mail.gna.org/public/nessy-commits/2013-05/threads.html

However finding the big bugs and improving the optimisation will not
be possible for me at the moment.


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.

relax now has this as well in the relax_disp.sherekhan_input user
function.  You can access this from both the prompt/script mode and
the GUI.  I've noticed though that the ShereKhan numerical integration
of the Block-McConnell equations is currently problematic and the poor
little tiger just runs forever!


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.

Cheers!  That is exactly what the relax developers have tried to 
create:

- the GUI is really for those who don't have much interest in the
theory and just want quick, idiot-proof results from a blackbox (i.e.
perfect for undergrads),
- the prompt/script mode is for power users with interest in the NMR
theory and analysis,
- the prompt/script mode in combination with the relax library
functions is to be a replacement for Mathematica/Matlab for those who
want to live on the cutting edge.


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

There are a few minor bugs I have to sort out first.  For example with
the error analysis for peak heights.  It should be ready for the
'R2eff' and 'LM63' models soon though.  Still, right now you can do
everything except for clicking on the 'Execute analysis' button.  I
hope it won't take too long.

Regards,

Edward




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



_______________________________________________
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 Fri May 31 10:20:08 2013