Re: Is it possible to analyse CPMG experiments with relax?
Hi Troels, Welcome to the relax mailing lists. For now the answer to your question is, unfortunately, no - relax does not officially support relaxation dispersion. The analysis you are running is simple two parameter exponential curve-fitting (http://www.nmr-relax.com/manual/Relaxation_curve_fitting.html). This can be used to find the R2eff or R1rho values if you have measured the full exponential curves, but otherwise you cannot perform a dispersion analysis with this. This may not be of use for you at the moment, but note that relax has unofficial and incomplete support for dispersion analyses (both CPMG-type and R1rho-type data sets). As relax is open source, there are many NMR spectroscopists who have added code to relax (for example see http://gna.org/project/memberlist.php?group=relax). An initial implementation of the relaxation dispersion analysis was added to a relax branch back in 2009 by Sebastian Morin (http://thread.gmane.org/gmane.science.nmr.relax.devel/1728). But as this was not completed at the time, it was never merged back into the relax main line (the source code where official relax releases come from). I have recently restored the branch to a partially working state and added a graphical interface for the analysis - mainly for my own purposes (http://svn.gna.org/viewcvs/relax/branches/). So at some point in the near future relax will be able to perform the analyses you are interested in. As relax is open source, if you are interested and adventurous enough you are most welcome to help in the development. Even if you do not know how to code, there are many other things which can be done. For example calculating the partial derivatives of the analytic solutions to obtain the gradients and Hessians so that with relax you can have access to far more powerful optimisation algorithms than any of the other dispersion software has access to. Or to create test data whereby the solution is know, or to collect the input and output test data from published results. If you have the subversion version control software installed, you can obtain the code by typing either: $ svn co svn://svn.gna.org/svn/relax/branches/relax-disp or: $ svn co http://svn.gna.org/svn/relax/branches/relax-disp If you are more interested in quickly performing the analysis, I would point you to Dr. Flemming Hansen's CATIA program: http://www.biochem.ucl.ac.uk/hansen/catia/ (the old page is http://pound.med.utoronto.ca/~flemming/catia/). This performs numerically integration of the Bloch-McConnell equations, so not the optimisation of the analytic solutions of Meiboom, Richard-Carver, etc. It is also only for CPMG-type data rather than R1rho, whereas the relax branch will handle both. I hope this information helps. Regards, Edward On 30 April 2013 18:40, Troels Emtekær Linnet tlin...@gmail.com wrote: Dear relax users. I am looking into different NMR programs to fit relaxation data for CPMG relaxation dispersion experiments and T1rho. Essentially, I am looking for programs for which can fit functions, which for example nessy provide: http://home.gna.org/nessy/reference.html The Meiboom equation or Richard-Carver equation Nessy is very buggy, and I am looking for a replacement. I should be able to: R2eff = -1.0/time_T2*log(Intensity/averageZero) ncyc_arr=[28, 0, 4, 32, 60, 2, 10, 16, 8, 20, 50, 18, 40, 6, 12, 0, 24] time_T2 = 0.06 second nu = ncyc_arr[i]/time_T2 R2cpmg_slow: tau_cpmg = 1.0/(4*nu) R2eff = R2+ka*(1.0-sin(Domega*tau_cpmg)/(Domega*tau_cpmg)) I have followed the tutorial in the homepage manual: Can relax analyse these kinds of experiments? Should i provide the: relax_fit.relax_time(time to be equal tau_cpmg ? I put in time_T2, even though its wrong. I just wanted to try the program. :-) Script for relaxation curve fitting. # Create the 'rx' data pipe. pipe.create('rx', 'relax_fit') ## Load the backbone amide 15N spins from a PDB file. pdbfile=False if pdbfile: structure.read_pdb(pdbfile) structure.load_spins(spin_id='@N') else: molecule.create(mol_name='protein', mol_type='protein') residue.create(res_num=2, res_name='VAL') spin.create(res_num=2, spin_name='N') residue.create(res_num=3, res_name='PHE') spin.create(res_num=3, spin_name='N') residue.create(res_num=4, res_name='GLY') spin.create(res_num=4, spin_name='N') residue.create(res_num=5, res_name='ARG') spin.create(res_num=5, spin_name='N') residue.create(res_num=6, res_name='CYS') and so on ## Loop over the spectra intensities. Relaxation times should be in seconds. readint=True if readint: spectrum.read_intensities(dir='relax', file='proc_list.txt.0int', spectrum_id='0_0.0', int_method='point sum', heteronuc='N', proton='HN', int_col=3) relax_fit.relax_time(time=0.06, spectrum_id='0_0.0') spectrum.read_intensities(dir='relax',
Re: Is it possible to analyse CPMG experiments with relax?
Dear Edward. Thank you for your generous email, which helped a-lot. I am happy to see the active development, and I would be more than happy to join in. I am quite good in python programming, and are confident i revision programs as svn and git. And I have courses in scientific computing, so I think i get along quite good. My reason for my interest, is that I think I should change my working habits, to something more effect full. My work-flow at the moment, is this. 1) CPMG/T1-rho experiment acquisition with NLS, through VnmrJ. 2) Data reconstruction in qMDD. (3) Main peak positioning in CcpNmr Analysis.) 4) Small peak adjustment, control in SPARKY. 5) Point sum integration in with: seriesTabhttp://spin.niddk.nih.gov/NMRPipe/ref/prog/seriestab.htmlwith: -dx 1 -dy 1 6) Integration analysis in gnuplot/IgorPro,Originlab. The use of IgorPro,Originlab have been used because of easy use of the global fitting routine, but pose a problem, since we only have a very few licenses. And I weigh open-source very high. :-) The last weeks, I have fiddling around my workflow to try something like this: 1) CPMG/T1-rho experiment acquisition with NLS, through VnmrJ. 2) Data reconstruction in qMDD. (3) Main peak positioning in CcpNmr Analysis.) 4) Small peak adjustment, control in SPARKY. 5) Point sum integration in nmrglue,http://springer.r.delivery.net/r/r?2.1.Ee.2Tp.1jiDvx.C5t4Ay..H.a%2ace.44Wy.bW89MQ%5f%5fDIJWFRd0and easy visualization of each integrationhttps://github.com/jjhelmus/nmrglue/wiki/Plot-and-integrate-peaks-from-nmrpipe-format-and-sparky-list. Preparation of data for fitting. 6) Global fitting. Either with nessy, relax or with python scipy leastsq. Here I tried to make a nessy databasehttps://github.com/jjhelmus/nmrglue/wiki/Make-a-nessy-database-for-CPMG-eksperiment, but nessy came out very buggy. And I was about to set out for some python scipy fitting after nmrglue. But I had a hard time imagining that NMR software were not already developed for this, and I was very pleased to see the development of relax, which have not come to my attention before. And especially the inclusion of the python interpreter, and possibility to write scripts, is genius. Which is similar to the where the power of pymol is shining through. An optimal workflow would be this. 1) CPMG/T1-rho experiment acquisition with NLS, through VnmrJ. 2) Data reconstruction in qMDD. (3) Main peak positioning in CcpNmr Analysis.) 4) Small peak adjustment, control in SPARKY. 5) Point sum integration in nmrglue, and easy visualization of each integrationhttps://github.com/jjhelmus/nmrglue/wiki/Plot-and-integrate-peaks-from-nmrpipe-format-and-sparky-list. Preparation of data for fitting. 6) nmrgluehttp://springer.r.delivery.net/r/r?2.1.Ee.2Tp.1jiDvx.C5t4Ay..H.a%2ace.44Wy.bW89MQ%5f%5fDIJWFRd0script preparation for relax, execution, save of result. 7) Graphical inspection of result through relax. So, I think I will try out the current state of the relax-disp branch. Are there any others developing on this branch? Best Troels -- Troels Emtekær Linnet PhD student Copenhagen University SBiNLab, 3-0-41 Ole Maaloes Vej 5 2200 Copenhagen N Tlf: +45 353-22083 2013/5/2 Edward d'Auvergne edw...@nmr-relax.com Hi Troels, Welcome to the relax mailing lists. For now the answer to your question is, unfortunately, no - relax does not officially support relaxation dispersion. The analysis you are running is simple two parameter exponential curve-fitting (http://www.nmr-relax.com/manual/Relaxation_curve_fitting.html). This can be used to find the R2eff or R1rho values if you have measured the full exponential curves, but otherwise you cannot perform a dispersion analysis with this. This may not be of use for you at the moment, but note that relax has unofficial and incomplete support for dispersion analyses (both CPMG-type and R1rho-type data sets). As relax is open source, there are many NMR spectroscopists who have added code to relax (for example see http://gna.org/project/memberlist.php?group=relax). An initial implementation of the relaxation dispersion analysis was added to a relax branch back in 2009 by Sebastian Morin (http://thread.gmane.org/gmane.science.nmr.relax.devel/1728). But as this was not completed at the time, it was never merged back into the relax main line (the source code where official relax releases come from). I have recently restored the branch to a partially working state and added a graphical interface for the analysis - mainly for my own purposes (http://svn.gna.org/viewcvs/relax/branches/). So at some point in the near future relax will be able to perform the analyses you are interested in. As relax is open source, if you are interested and adventurous enough you are most welcome to help in the development. Even if you do not know how to code, there are many other things which can be done. For example calculating the partial derivatives of the analytic solutions to obtain the
Re: Is it possible to analyse CPMG experiments with relax?
Hi, Its great that you have an interest and know Python - you are in a perfect position to join as a relax developer! See below for more responses: Thank you for your generous email, which helped a-lot. You're welcome! I am happy to see the active development, and I would be more than happy to join in. I am quite good in python programming, and are confident i revision programs as svn and git. And I have courses in scientific computing, so I think i get along quite good. I would recommend you have a read of the relax open source infrastructure chapter of the relax manual (http://www.nmr-relax.com/manual/Open_source_infrastructure.html) and, more importantly, the development chapter of the relax manual (http://www.nmr-relax.com/manual/relax_development.html). The PDF version of the manual is much easier to read (http://download.gna.org/relax/manual/relax.pdf). These chapters describe in full detail everything you would ever need as a relax developer. Note that relax is a very mature project, so learning how to code in such an environment to avoid breaking the rest of the program will give you quite a different skill set. You might also be interested in learning about the minfx project that relax uses for optimisation (https://gna.org/projects/minfx/). This originated as a relax package as the scipy optimisers all contained fatal bugs back in 2003 (I'm not sure they have been fixed as the original developers were MIA even back then and I think have never returned). But it was spun out into its own software distribution. My reason for my interest, is that I think I should change my working habits, to something more effect full. My work-flow at the moment, is this. 1) CPMG/T1-rho experiment acquisition with NLS, through VnmrJ. I have to warn you here that non-linear sampling is notoriously bad for measuring high precision NMR parameters such as relaxation data. I would recommend avoiding this technique if you can. It is great for low precision data required for assignment, for example, but not so good for the high precision data measurements. 2) Data reconstruction in qMDD. (3) Main peak positioning in CcpNmr Analysis.) 4) Small peak adjustment, control in SPARKY. 5) Point sum integration in with: seriesTab with: -dx 1 -dy 1 6) Integration analysis in gnuplot/IgorPro,Originlab. The use of IgorPro,Originlab have been used because of easy use of the global fitting routine, but pose a problem, since we only have a very few licenses. And I weigh open-source very high. :-) The way I perform this is a bit different in that I use peak heights directly from Sparky. The last weeks, I have fiddling around my workflow to try something like this: 1) CPMG/T1-rho experiment acquisition with NLS, through VnmrJ. 2) Data reconstruction in qMDD. (3) Main peak positioning in CcpNmr Analysis.) 4) Small peak adjustment, control in SPARKY. 5) Point sum integration in nmrglue, and easy visualization of each integration. Preparation of data for fitting. 6) Global fitting. Either with nessy, relax or with python scipy leastsq. Here I tried to make a nessy database, but nessy came out very buggy. And I was about to set out for some python scipy fitting after nmrglue. I am currently the maintainer of the NESSY project, but the types of bugs reported require significant amounts of coding to solve the problems. Unfortunately I don't have the time for this - it could be a few months of work. As for nmrglue (http://code.google.com/p/nmrglue/), this appears quite new and this is the first time I have heard of it. It looks like an interesting project. I wonder if they use 3-point quadratic integration for determining the maximum peak height? But I had a hard time imagining that NMR software were not already developed for this, and I was very pleased to see the development of relax, which have not come to my attention before. And especially the inclusion of the python interpreter, and possibility to write scripts, is genius. Which is similar to the where the power of pymol is shining through. Thanks! I am directing the development of relax to have the maximum amount of flexibility. For the basic users who want quick results, there are the auto-analyses which can be used as blackboxes, giving the user the best practice analysis. These are used in the GUI. For the medium level users, the user functions (which are special Python functions which perform a lot of checking of the user input) allow for advanced scripting. For the advanced users, the relax API can be used to build complete new analyses (http://www.nmr-relax.com/api/). I have been developing relax so that in the future it can be used by NMR users as a replacement for Matlab/Mathematica for numerical operations. The relax library - the 'lib' package - is a large collection of NMR specific functions. For example, have a look at the rotation matrix module 'lib.geometry.rotations'