mailRe: Using Model-free models


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

Header


Content

Posted by Mahdi, Sam on November 11, 2016 - 19:43:
Hi Edward,

So there is no point in running model-free unless you have data at 2 field
strengths? I also had a slight side question. I've read your papers on the
diffusion seeded paradigm, and dynamic models 1 and 2. I understand the
importance of the diffusion tensor value, and understand how the d'Auvergne
protocol fixes that. My question is, does the diffusion tensor help the
model selection then? I've run the new protocol on a protein that had data
at 2 different frequencies. I then found out what model it picked for each
residue. Then I ran the model free models with the estimated diffusion
tensor, and selected the model I wanted it to run, to see whether or not I
would obtain a similar value to the d'Auvergne protocol run for those
residues, which it did (i.e. for residues that had S^2 from m4 in
d'Auvergne protocol, the S^2 from my m4 single model free run gave almost
the same values for those residues). From that I assumed, model free models
data would give similar values to the d'Auvergne protocol, if the correct
model was selected; however, I wasn't able to get any model selection which
is why I sent the initial email. That's why my question is, is the
diffusion tensor crucial then for selecting the proper model?

Sincerely,
Sam

On Fri, Nov 11, 2016 at 1:21 AM, Edward d'Auvergne <edward@xxxxxxxxxxxxx>
wrote:

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 Tue Nov 15 14:40:11 2016