mailRe: Using Model-free models


Others Months | Index by Date | Thread Index
>>   [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Header


Content

Posted by Edward d'Auvergne on November 11, 2016 - 10:21:
On 10 November 2016 at 23:50, Mahdi, Sam <sam.mahdi.846@xxxxxxxxxxx> wrote:
Hello everyone,

I've been attempting to run model free models (due to only have data at one
field strength), but I've come across a problem. I have set up both the
model free models script and the model free model selection, both models
run fine, and I do end up receiving data that does make sense and is good;
however, the script doesn't seem to actually select any models. I.e. if I
put in the m0-m9 in the script, it'll select m9 for every single reside and
only give me Rex data and no S^2. If I run m0-m4 same thing, it'll run
every residue at m4, instead of running through all the models and
selecting the data that fits that model. I know it states that the model is
supposed to loop through every model, then you run the model selection to
select what model fits which data set, but I don't know if my script is set
up incorrectly or what. Here is my script for model-free models:
pipes = ['m0','m1','m2','m3','m4']
for name in pipes:
    pipe.create(name,'mf')
sequence.read('ssNOE_RGS4Agnes',res_num_col=1)
spin.name('N')
spin.element(element='N',spin_id='@N')
spin.isotope('15N',spin_id='@N')
structure.read_pdb('cluster1_12.pdb',read_mol=1)
relax_data.read(ri_id='R1_Agnes',ri_type='R1',frq=599.642*1e6,
file='R1_RGS4Agnes',res_num_col=1,spin_name_col=2,data_col=3,error_col=4)
relax_data.read(ri_id='R2_Agnes',ri_type='R2',frq=599.642*1e6,
file='R2_RGS4Agnes',res_num_col=1,spin_name_col=2,data_col=3,error_col=4)
relax_data.read(ri_id='ssNOE_Agnes',ri_type='NOE',frq=599.642*1e6,
file='ssNOE_RGS4Agnes',res_num_col=1,spin_name_col=2,data_col=3,error_col=4)
diffusion_tensor.init(1e-8,fixed=True)
sequence.attach_protons()
interatom.define(spin_id1='@N',spin_id2='@H',direct_bond=True)
interatom.set_dist(spin_id1='@N',spin_id2='@H',ave_dist=1.02*1e-10)
structure.get_pos('@N')
structure.get_pos('@H')
interatom.unit_vectors()
value.set(-172*1e-6,'csa',spin_id='@N')
model_free.select_model(model=name)
minimise.grid_search(inc=11)
minimise.execute('newton')
results.write(file='results',force=True)
state.save('save',force=True)

Again I only have it at m0-m4 because I wanted to obtain the m4 data, but
even if it is to m9, it'll only run the m9 model (i.e. I will only receive
Rex data because that's whats attributed to m9).  Here is my model
selection script:
pipes = ['m0','m1','m2','m3','m4']
for name in pipes:
    print("\n\n#"+name+"#")
pipe.create(name,'mf')
results.read(file='results.bz2',dir=name)
eliminate()
model_selection(method='AIC',modsel_pipe='aic')
state.save('save',force=True)
results.write(file='results',force=True)

Again, this is only set up to m4 for the same reasons as before. I don't
know whether or not I have something in my script set up, but my final
results file just shows the model that was selected for every residue, is
the last model I have in my pipes (i.e. if m4 is the last model, it'll run
model 4, if m9 is the last one, it'll run m9). In this sence it appears to
be a single model scenario even though I've set up to be for multiple
models. Thank you again in advance.

Hi Sam,

This is perfectly normal!  The key is the line:

diffusion_tensor.init(1e-8,fixed=True)

Here you have fixed the diffusion tensor to spherical tumbling of 10
ns.  Note that >80% of the contribution to relaxation is due to the
global tumbling.  So if you get this global tumbling wrong, it has an
absolute crushing effect on the remaining 20% and the fine model-free
parameter values and model selection dependent on that 20%.  So
obtaining a very good estimate for the molecular Brownian diffusion is
essential, otherwise you should expect catastrophic failures in the
fine internal motions (which is what you are seeing).  This is why in
the last 20 years, that no one will take any published results
seriously if you do not have data at two field strengths.  It is also
why I developed that long protocol for obtaining a highly refined
diffusion tensor together with the internal motions.

You may think that you can obtain a diffusion estimate from another
technique (optical rotation data, hydrodynamics bead modelling, MD
simulation, etc.), however these are either not good enough or plain
wrong, specifically because of the packing interactions and
microviscosity in your NMR tube being poorly, or not at all, modelled.
It is imperative that the diffusion tensor is optimised against the
relaxation data.

Regards,

Edward



Related Messages


Powered by MHonArc, Updated Fri Nov 11 20:00:04 2016