Hi Edward. Amazingly, the clustering analysis finds k_AB = 2.30 for the residues.
So I am happy for now. :-) I don't think the median would be the right choice. I found that the extreme high values of kAB correlates to extreme small values of dw. So it seems that the model has been "maximum streched" to minimize chi-square. Adding more data from recording on more magnet fields, would probably prevent this. And it seems the global fitting restrains the fitting better. Best Troels Troels Emtekær Linnet 2013/10/8 Edward d'Auvergne <[email protected]>: > Hi, > > The problem you see is that of failed models. I'm guessing that > residues 4, 5, 6, 7, and 9 are reasonable and 3 and 8 are not. Have > you looked closely at the data? Is it of high quality? There are two > things which can be done here. The first is the most basic - perform > an analysis deselecting the spin systems with 'bad' data or that have > failed. This is what would normally be done by a user. The > model_eliminate user function performs this for the model-free and > other analyses, but no dispersion rules are set up for this. I also > do not think that we can have automatic rules for determining this as > these high kex values might be reasonable in another molecular system. > > The second option is to modify the parameter averaging in the > clustering. This is in the > specific_analyses.relax_disp.parameters.copy() function. You will see > here that the code averages the parameters. Maybe a better measure > would be to use the median rather than mean. This should handle > severe outliers caused by failed models much better. The > numpy.median() function could be used for this. Instead of summing > the parameters, lists could be created and then the list sent to > numpy.median(). For example initialise kex as [], use the append > method kex.append(spin_from.kex), and then store the value as > spin_to.kex = numpy.median(kex). For example: > > relax> import numpy > relax> kex = [1060772.86091342, 3.20195659408987, 2.15902319384803, > 2.7190458578948, 2.37325031348072, 828438.809437978, 2.93391757645135] > relax> numpy.median(kex) > 2.9339175764513499 > relax> > > What do you think? Would this solve the problems you see? > > Cheers, > > Edward > > > On 8 October 2013 14:22, Troels Emtekær Linnet <[email protected]> wrote: >> Hi Edward. >> >> I would like to hear, if you could give some hints how you would >> handle a clustering analysis situation the best way. >> >> It is related to this entry, which I am modifying. >> http://wiki.nmr-relax.com/Tutorial_for_Relaxation_dispersion_analysis_cpmg_fixed_time_recorded_on_varian_as_fid_interleaved#Execute_a_clustering_analysis >> >> I would like to do the clustering analysis for the model: TSMFK01 >> >> When I do the clustering analysis, I am pointing to a previous result >> directory. >> I am clustering those residues, which is not the model "No Rex". >> >> relax will read the file TSMFK01/kAB.out file with the previous results. >> I will take the averaged kAB values for the residues specified in the >> cluster. >> >> ------------- >> # Parameter description: The exchange rate from state A to state B. >> # >> # mol_name res_num res_name spin_num spin_name value >> error >> None 3 A 1 N >> 1060772.86091342 None >> None 4 E 2 N >> 3.20195659408987 None >> None 5 F 3 N >> 2.15902319384803 None >> None 6 D 4 N >> 2.7190458578948 None >> None 7 K 5 N >> 2.37325031348072 None >> None 8 A 6 N >> 828438.809437978 None >> None 9 A 7 N >> 2.93391757645135 None >> ... >> -------------- >> >> The problem here is, that it seems that the fitting is going "crazy" >> for some residues. >> And the averaged starting value will be: >> Averaged k_AB value: 83471.18...... >> >> The expected value would be somewhere: kAB = 2-10 >> >> What would be the best solution for this problem? >> 1) Modify the source code for the TSMFK01 model, so results are within >> expected range. >> 2) Manually modify the TSMFK01/kAB.out and write k_AB=5 >> 3) Skipping the pointing to a previous run directory, loop over the >> spins and setting kAB=5 before doing a minimization? >> >> >> ----------------- >> Output from an auto-analysis >> ------------------------- >> >> ----------------------- >> - The 'TSMFK01' model - >> ----------------------- >> relax> pipe.copy(pipe_from='base pipe', pipe_to='TSMFK01', >> bundle_to='relax_disp') >> relax> pipe.switch(pipe_name='TSMFK01') >> relax> relax_disp.select_model(model='TSMFK01') >> The Tollinger et al. (2001) 2-site very-slow exchange model, range of >> microsecond to second time scale. >> >> relax> value.copy(pipe_from='R2eff', pipe_to='TSMFK01', param='r2eff') >> relax> pipe.create(pipe_name='pre', pipe_type='relax_disp', bundle=None) >> >> relax> results.read(file='results', >> dir='/net/tomat/home/tlinnet/kte/acbp/acbp_cpmg_disp_04MGuHCl_40C_041223_RELAX.fid/relax_reprocess/model_sel_analyt/TSMFK01') >> Opening the file >> '/net/tomat/home/tlinnet/kte/acbp/acbp_cpmg_disp_04MGuHCl_40C_041223_RELAX.fid/relax_reprocess/model_sel_analyt/TSMFK01/results.bz2' >> for reading. >> >> relax> relax_disp.parameter_copy(pipe_from='pre', pipe_to='TSMFK01') >> Copying parameters for the spin block [':3@N', ':4@N', ':5@N', ':6@N', >> ':7@N', ':9@N', ':10@N', ':11@N', ':12@N', ':13@N', ':14@N', ':15@N', >> ':16@N', ':17@N', ':18@N', ':20@N', ':21@N', ':22@N', ':23@N', >> ':24@N', ':25@N', ':26@N', ':27@N', ':28@N', ':29@N', ':30@N', >> ':31@N', ':32@N', ':33@N', ':34@N', ':35@N', ':36@N', ':37@N', >> ':38@N', ':39@N', ':40@N', ':41@N', ':43@N', ':45@N', ':46@N', >> ':47@N', ':48@N', ':49@N', ':50@N', ':52@N', ':53@N', ':54@N', >> ':56@N', ':57@N', ':58@N', ':59@N', ':60@N', ':61@N', ':62@N', >> ':63@N', ':64@N', ':65@N', ':66@N', ':67@N', ':68@N', ':69@N', >> ':70@N', ':71@N', ':72@N', ':73@N', ':74@N', ':75@N', ':77@N', >> ':78@N', ':80@N', ':81@N', ':82@N', ':83@N', ':84@N', ':85@N', >> ':86@N'] >> -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- >> >> Averaged k_AB value: 83471.182642624335131 >> >> relax> pipe.switch(pipe_name='TSMFK01') >> relax> pipe.delete(pipe_name='pre') >> relax> minimise(min_algor='simplex', line_search=None, >> hessian_mod=None, hessian_type=None, func_tol=1e-25, grad_tol=None, >> max_iter=10000000, constraints=True, scaling=True, verbosity=1) >> >> >> >> >> Best >> Troels >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> Troels Emtekær Linnet >> >> _______________________________________________ >> relax (http://www.nmr-relax.com) >> >> This is the relax-devel mailing list >> [email protected] >> >> 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 _______________________________________________ relax (http://www.nmr-relax.com) This is the relax-devel mailing list [email protected] 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

