Dear all,
I am trying to construct a model with a ligand, a zinc ion, but I failed.
Firstly, I did the alignment with align.py:
from modeller import *
env = environ() aln = alignment(env) mdl = model(env, file='1ze9', model_segment=('FIRST:A','LAST:A')) aln.append_model(mdl, align_codes='1ze9A', atom_files='1EZ9.pdb') aln.append(file='ABCD.ali', align_codes='ABCD') aln.align2d() aln.write(file='ABCD-1ze9.ali', alignment_format='PIR') aln.write(file='ABCD-1ze9.pap', alignment_format='PAP') align2d.py (END)
It finished successfully, and I got the aligned ali and pap files:
ABCD-1ze9.ali:
>P1;1ze9A structureX:1ZE9.pdb: 1 :A:+16 :A:::-1.00:-1.00 DAEFRHDSGYEVHHQK-*
>P1;ABCD sequence:ABCD: : : : ::: 0.00: 0.00 DAEFRHDSGYEVHHQK.*
ABCD-1ze9.pap
_aln.pos 10 1ze9A DAEFRHDSGYEVHHQK- ABCD DAEFRHDSGYEVHHQK. _consrvd * * *** * ** ** ******
The template is a 16-residue peptide coordinate with a zinc ion, which is residue 17 in the same chain A. The sequence of the unknown structure is the same as the template's. This is a test of how to construct a model with a ligand.
And then I tried to construct the model using model-single.py, which is the same as the one in the manual:
from modeller import * from modeller.automodel import *
log.verbose() env = environ() env.io.atom_files_directory = ['./:../atom_files']
# Read in HETATM records from template PDBs env.io.hetatm = True
a = automodel(env, alnfile='ABCD-1ze9.ali', knowns='1ze9A', sequence='ABCD', assess_methods=(assess.DOPE, assess.GA341)) a.starting_model = 1 a.ending_model = 5 a.make()
However, I failed to get the model, I get some error like this:
File "model-single.py", line 16, in ? a.make() File "/usr/lib/modeller9.11/modlib/modeller/automodel/automodel.py", line 96, in make self.homcsr(exit_stage) File "/usr/lib/modeller9.11/modlib/modeller/automodel/automodel.py", line 423, in homcsr self.check_alignment(aln) File "/usr/lib/modeller9.11/modlib/modeller/automodel/automodel.py", line 405, in check_alignment aln.check() File "/usr/lib/modeller9.11/modlib/modeller/alignment.py", line 197, in check self.check_structure_structure(io=io) File "/usr/lib/modeller9.11/modlib/modeller/alignment.py", line 206, in check_structure_structure return f(self.modpt, io.modpt, self.env.libs.modpt, eqvdst) _modeller.ModellerError: read_te_290E> Number of residues in the alignment and pdb files are different: 16 17 For alignment entry: 1 1ze9A
Right now, I guess that the error is coming from the alignment, but I did not find how the alignment was done in the tutorial. So could someone tell me how to solve this problem? Any suggestions would be highly appreciated.
All the best, Qinghua