Hi Peixiang, You should find the answers to most of your questions in the relax manual. Please see below:
Thanks for you reply. I used the script mode in linux. I tried with 'r1rho_on_res_m61.py', but I think in the script it has a mistake. in line27 ds.fixed = True, I think it should be False, because this experiment has different time period, they do not need the ref. I changed to False, the M61 model still give right result.
Anything starting with 'ds' in the test suite scripts can be ignored. These are internal data structures used to share scripts between different tests in the test suite - they are not to be used by normal users. You should be very careful with the scripts in test_suite/system_tests/scripts/, as these can be full of such developer-only code. If these are tripping you up and the sample_scripts are not sufficient, you might prefer to use the graphical user interface (GUI). This makes the dispersion analysis very simple.
But I still have some other questions. 1. How did you declare replicates in such Variable relaxation period experiments? I saw in the example r1rho_on_res_m61.py, you read all the data into a big Matrix data and did not declare the replicate. But for the fixed time period you declare by the spectrum ID. Did you have a solution for this?
relax is fully flexible. You simply use the spectrum.replicated user function - then relax will take care of the rest. See the manual (http://www.nmr-relax.com/manual/Dispersion_script_mode_loading_data.html and http://www.nmr-relax.com/manual/Dispersion_GUI_mode_loading_data.html). Please note that you really must upgrade to the recently release relax 3.2.0 as it fixes a severe bug in the replicated spectra error analysis for the relaxation dispersion analysis in relax: http://www.nmr-relax.com/download.html, https://mail.gna.org/public/relax-announce/2014-05/msg00000.html, https://freecode.com/projects/nmr-relax/releases/363882, https://gna.org/forum/forum.php?forum_id=2461. I can see that you are not signed up for the relax-announce mailing list, so you probably missed the announcement. It is worth signing up to this list at https://mail.gna.org/listinfo/relax-announce/. This email list receives around 10 emails per year, so it is a very low traffic list.
2. I want to test NS R1rho 2-site, so I simply add it into the MODELS in 'r1rho_on_res_m61.py'. It seems does not work. first, they give the warning when it comes to NS R1rho 2-site, (grid_inc =8 ) ------------------------------------------------------------------------------------------------------------------------------ Searching through 32768 grid nodes. lib/dispersion/ns_r1rho_2site.py:118: RuntimeWarning: divide by zero encountered in double_scalars theta = atan(spin_lock_fields[i]/dA) lib/dispersion/ns_r1rho_2site.py:132: RuntimeWarning: invalid value encountered in double_scalars back_calc[i]= -inv_relax_time * log(MA) -----------------------------------------------------------------------------------------------------------------------------
We are working on removing these warnings at the moment. It is safe to ignore them.
I think the grid search is too heavy for the NS model, do you have a solution to constrain it?
A grid_inc of 8 will be very much insufficient! For any NMR theory. I suggest you use the dispersion auto-analysis I have developed and talked about in the publication (http://dx.doi.org/10.1093/bioinformatics/btu166). The trick with the auto-analysis is to use the result of the analytic model as the starting point for optimisation of the numeric model, so that the grid search is bypassed. This is described in the paper and extensively in the relax manual. In the auto-analysis, for the numeric R1rho model, Art Palmer's analytic model MP05 (http://wiki.nmr-relax.com/MP05) is used.
Or for example, if I want to limit grid search only for kex and pA, but not for others, how can I declare that?
I'm not sure what you mean. Do you mean only perform a grid search over certain parameters and not others? Such tricks should only be used if you have extensive knowledge of the relaxation dispersion phenomenon and you know exactly what the consequences of this will be. If so, you will know what the user function relax_disp.set_grid_r20_from_min_r2eff that Troels Linnet added to relax can do for you.
For RuntimeWarning: divide by zero encountered in double_scalars, do you have suggestions for this?
Ignore them.
The final results for 'NS R1rho 2-site' did not fit at all, so the data for M61 can only be fit with M61 model but not other models?
The M61 model, according to the relax manual (http://www.nmr-relax.com/manual/M61_2_site_fast_exchange_R1_model.html), is for on-resonance data. The 'NS R1rho 2-site' is for off-resonance data. That will probably explain what you see. I hope these explanations help. You should look at the relaxation dispersion chapter of the relax manual though, as some of your questions are extensively covered in there. Regards, Edward