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