Follow-up Comment #2, sr #3155 (project relax): More comments ### Hi Andy, Do you have code for this R1rho model? It may help to have the code, either to use it directly or for comparison and test suite purposes. In relax, the implementation is in Python. ################# Here some very unoptimised code. Note that you have to adjust the offset (see below). J. Biol. NMR (2013), 55:211-218. In the paper is a formula that predicts accurately when it will work and when it will not (Page 214, 4 lines from the bottom). This formula will break when the relevant eigenvalue is no longer the smallest. As ever, this treatment proves that the R1rho is resilient to differences in relaxation, but to analyse data, use at minimum the 6x6 matrix. ################# But as numpy is used, the different between Python and C is minimal. The fine details of the implementation itself make more of a difference for speed than the choice of language. ################# Debatable. Sure a decent workup in numpy gets you much faster, but you'll notice even the ardent supports of numpy concede that C whoops it's ass. Ie optimised numpy will be slower than C. I say that as someone that does almost everything in python. ################# For the spin-lock offset, it is input and stored as ppm units. The ppm to rad.s^-1 conversion code is visible at http://www.nmr-relax.com/api/3.1/lib.nmr-pysrc.html#frequency_to_rad_per_s. Then the w_eff values are calculated from this in the code at http://www.nmr-relax.com/api/3.1/specific_analyses.relax_disp.disp_data-pysrc.html#return_offset_data. Can you see a bug there? Are you talking about the +/- 0.5*delta_omega factor for slow exchange? Or the Korzhnev 2005 correction for constant time R1rho experiments (in the TODO list at http://www.nmr-relax.com/manual/do_dispersion_features_yet_be_implemented.html, hence it is not implemented yet). ################# There's another trick that doesn't seem to be there. Note that the observed peak position (O_obs) is not the same as the ground state peak position (O_G). Exchange of course moves our peaks around. Experimentally you'll see your peak, and work out where to put the carrier using this as a reference (eg, 100Hz north of peak BLAH). So the apparent measured offset from the data is O_obs not O_G (which I think you assume here). In the analysis, you can account for this simply by subtracting the exchange induced shift from the observed resonance position (taking care to get the sign right). For doing things like determining signs using R1rho eg: J. Biol. NMR (2012) 53(1): 1 You very much need this for example, if you have small deltaOmegas, and/or small offsets and you want to get things right. Again, if you adjust the offset used by the equations by the exchange induced shift, and use this value in the formulas, you'll get an answer that best reflects the data coming off the spectrometer. ################# CATIA is useful for the handling of CPMG off-resonace effects, but it is limited to the models it supports. It cannot handle MMQ data (this is a shortcut for the combination of SQ, ZQ, DQ, and MQ data for both the proton and heteronumcleus). ################# Depends on the version. Mine can do MQ data. You'll notice that in the modern structures from the Kay group almost all use SQ data. This is much easier to handle. Dimitri still likes getting MQ data, but I think he's in the minority in that. ################# CATIA also does not handle R1rho data or models. Anyway, relax has a user function called relax_disp.catia_input which can simplify the life of users by creating the required CATIA input files. There is even a relax_disp.catia_execute user function to allow CATIA to be run from within relax. ################# That's actually a great feature I think. Good stuff! How are you dealing with e.g. selecting the right cpmg sequence and basis sets in the input scripts generated by your code? ################# If a relax_disp.catia_extract user function is added, then CATIA could be used as a replacement optimisation engine in relax and the user will only need to have an executable CATIA binary in their system path. A similar set of user functions exist for Art Palmer's CPMGFit, NESSY and ShereKhan. For relax, the idea is to add the off-resonance support to a few of the numeric models (not all as the Tollinger & Skrynnikov Maple expansion cannot support it). This is in the todo list (http://www.nmr-relax.com/manual/do_dispersion_features_yet_be_implemented.html). As no other dispersion software supports the scalar coupling and spin flips, as far as I am aware, there are no plans or pressure to add this. ################# As detailed in my last email, neglecting this stuff will give you wrong answers. These things have been standard in Flemming's CATIA since its inception. This software was used for the excited state structures you might have seen from the Kay lab recent that have encouraged a great many people to try CPMG. So if people want to emulate that, probably the responsible thing to do is to encourage them to do the analysis rigorously. Best, Andy. ################# _______________________________________________________ Reply to this item at: <http://gna.org/support/?3155> _______________________________________________ Message sent via/by Gna! http://gna.org/