[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [modeller_usage] modeller 9.2: spaghetti effect with multipletemplates



Raik Gruenberg wrote:
I double-checked things this morning and I am indeed getting very different results from the two modeller versions running on the same machine, using the same alignment, structures etc. I am going to send you the complete input and the different results in a separate e-mail.
As far as I can see from your files, your initial model (.ini file) is 
very different between Modeller 8 and 9. The restraints file (.rsr) is, 
however, almost identical (small differences in the last few restraints 
are probably due to rounding during the conversion of these restraints 
to cubic splines). So I'm fairly confident that your odd Modeller 9 
results are simply due to the different initial model.
The difference is simple: Modeller 8v2 uses the superposed templates to 
construct the initial model, while Modeller 9v1 uses the original 
template orientations. In your case, since your templates are very 
different, Modeller 9 is giving you a bad initial model and the 
optimizer simply isn't able to recover.
The 8v2 behavior is clearly superior in most cases, and thus this will 
be restored for the 9v2 release. There is a workaround for 9v1 TOP 
scripts at http://salilab.org/modeller/wiki/Patches 
(superpose-templates.patch) which you can use in the meantime. (In this 
particular case the Python interface is not affected by the bug, so no 
workaround is necessary.)
Is this being generated by the Biskit framework? If so, why does it generate deprecated TOP files when Python scripts give you more flexibility?
:-) Well, we implemented the homology modeling module of Biskit already back in 2004 starting with Modeller 6 (!) if I remember right. We just never really advertised it. I would say, it testifies to your good software development that the same wrapper is still working 3 versions later.
We do have testcases for the TOP wrappers, but they are deprecated, and 
don't get quite as much attention as the Python wrappers. New features 
are also only supported by the Python wrappers.
But you have a point there. We should switch the default template to the current standard also to allow better customization.
I suggest that if you do that you query modeller.info.version_info so 
that your script requires Modeller 9. (Parts of the Python interface, 
particularly for atom selections, changed between Modeller 8 and 9; 
alternatively, you could implement different Python code for the two 
versions and use version_info to switch between them at runtime.)
Besides, and this really leads off-topic now, we also are not actually mixing "your python" with "our python".
Looks like you are writing out a script file and then spawning a 
Modeller process, rather than loading in the Modeller Python module 
directly. Either approach should work fine - the latter just gives you a 
bit more fine-grained control if you need it (e.g. proper catching and 
processing of exceptions).
	Ben Webb, Modeller Caretaker
--
modeller-care@salilab.org             http://www.salilab.org/modeller/
Modeller mail list: http://salilab.org/mailman/listinfo/modeller_usage