Hi,
Is there a way to see the start value for a variable in a CPMG model fit. ?
Not in the auto-analysis, as there are no starting values.
When using the auto_analysis, : -------- from auto_analyses.relax_disp import Relax_disp Relax_disp(pipe_name=pipe_name, pipe_bundle=pipe_bundle, results_dir=results_directory, models=MODELS, grid_inc=GRID_INC, mc_sim_num=MC_NUM, modsel=MODSEL) -------- I see no options to modify the grid_search ?
Currently the only option is to change the number of grid increments. For the auto-analysis, changing the other options is not such a good idea. For a custom dispersion analysis, you are free to do anything. The auto-analysis is limited to help users who are only interested in a result whereas a custom analysis is unlimited in what can be done. Actually if the user changes the grid increments to be below 7, that could be fatal for the results. The defaults in relax must allow the minimum to be found in absolutely all cases, and the current defaults should do that.
When I grep the logfile, I see each model use a grid_search grid_search(lower=None, upper=None, inc=21, constraints=True, verbosity=1) http://www.nmr-relax.com/api/3.0/pipe_control.minimise-module.html#grid_search Is it possible change the lower and upper bonds for the grid_search, or should one run all the commands manually?
These cannot be changed in the auto-analysis. The reason for this is that relax provides defaults which will work in all cases. To see this, look at the _grid_search_setup() method in the specific_analyses.relax_disp.api module. The user should really not touch these upper and lower bounds as they might cause the minimum to be missed. A power user not using the auto-analysis can play with such things, but definitely not a normal user. However a power user should probably not change these anyway. Note that the constraints will remove half of this grid due to the pA
pB constraint. The other constraints remove other parts of the
grid. But the grid is only used to find a rough starting point for optimisation so that the minimiser can easily find the minimum. This is not a question of local verses global minima, as there is only one minimum for the 2-site models (analytic and numeric). The problem is that if you start too far from the minimum, due to the non-linearity of the parameter space the optimisation algorithm may not be able to reach the minimum. This is why a grid search is almost always used as the starting point for mathematical optimisation. There are other techniques that can be used, but they are similar in concept - you simply need some algorithm pick a rough position close to the minimum. Then you use the optimisation algorithm to refine and find the exact values. So you start with no parameter values, use the grid search to find a rough starting position, then use the simplex optimisation algorithm to refine the parameter values. The rough parameter values after the grid search are of no scientific interest, so these numbers are never output (apart from the printouts from the grid search itself). The values are stored in relax to be used by the subsequent minimise() user function, and then they are overwritten by the higher precision parameters.
I could grep the logfile after an Autoanalysis to see the commands: http://wiki.nmr-relax.com/Grep_log_file and then change the grid search parameters.
What is the purpose of changing these? Are the defaults not good enough?
--- On another note. Would it be possible to write the starting values into the table 10.1 in the relax_disp manual?
No, because there is no such thing as a starting value ;) Regards, Edward