I am building a protein model using a script that has been cited
several times.
http://salilab.org/modeller/wiki/Mutate%20model
I started to work on it using Modeller9v2 on a Windows XP machine.
After some tries, I noted that I can use the script with the next
command for example:
mod9v7 mutar.py 1dxt 85 TYR A
However, I needed to delete lines 2 and 165 of the script because the
"import os" command is not recognized by the python version that is
included with modeller.
If you have Python 2 installed on your machine (anything from Python 2.3
to 2.6) then you can run that same script without needing to modify it -
just use 'C:\python26\python.exe' (or whatever your Python binary is
called) rather than 'mod9v7'.
The script seems to work and autogenerates a log file and the mutant
model of course. I am working with a model of hemoglobin (1DXT).
However, after looking the log file there some messages that are
intriging for me:
a) Some atoms were not found in params file:
generat_607W> Cannot find params in params file: CHARMM atoms : NPH
FE NP1 CPA IUPAC atoms : NA FE NB C1B Atom indices : 4406
4405 4407 4414 Residues : HEME HEME HEME HEME
As this is hemoglobin model HEME groups are important
Modeller does not have all of the parameters to model HEME. But this
shouldn't matter here, since unless you are trying to mutate the HEME
itself (unwise!) the residue position won't be optimized anyway.
b) Serious non-bounded atoms contacts at the end of the script
You will have to look at the atoms it lists to see if those clashes
concern you. Most likely they are not in the residue you are mutating
anyway (since the other residues don't move, any bad contacts in your
input model will remain in the output).
c) The modelling was produced in few seconds. Can the model produced
by this script be optimized even more? (even if the script takes more
running time)
Sure, you can edit the script and run longer or more optimization
cycles. For example, you can increase max_iterations for conjugate
gradients (line 28, 32) or add more iterations or temperature steps for
the annealing stage (lines 41-43).
Also I am interested in create a mutant model but without optimize
it. Then I want to compare the energy of the mutant model before and
after the optimization.
That's already done in the script - there are two calls to energy(), one
before the optimization (line 147) and one after (line 159). So you have
the two energy values in your logfile already.
How can I produce the mutant model without the optimization?
If you want a PDB file of the unoptimized model, simply add another call
to mdl1.write() - see line 162 for the write out of the optimized model
- simply add a similar call around line 148.