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

Reply via email to