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