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

[modeller_usage] Introducing HETATM ligands into models based on multiple templates

I am trying to create a model of a protein using 3 different templates. The first template covers about 1/3 of the protein, the second covers the central part of the model protein and the third overlaps with the second with an additional extension to cover the c-terminus of the protein. The templates' crystal structures have incorporated metal ions and other ligands, which i would like to transfer into the model. Unfortunately i cannot seem to make this work using the script for introducing HETATM ligands into the model. I have created the alignment file and added '.' into both the template and into the sequence alignment. The PDB has the HETATM ligands at the end of the sequence, so i have added them at the end of the alignment file, as suggested in the manual. However, since three different templates are being used, only parts of which overlap, introducing '.' at the end of the model sequence does not work, because it does not align with the template. On the other hand adding '.' into the model sequence, the way it would align with the template, disturbs the structure, disrupting the alignment with the other templates and causing a break in the peptide. I tried adding gaps for each ligand in the other templates, but this does not help. I have tried creating part of the model with just one template and  the aligning sequence from my protein of interest. In that situation the ligands are easily added. Is there any remedy to my problem in modeller that i have not considered?

here is the script i am using for introducing HETATM ligands into the model

# Homology modeling with ligand transfer from the template
from modeller import *              # Load standard Modeller classes
from modeller.automodel import *    # Load the automodel class

log.verbose()    # request verbose output
env = environ()  # create a new MODELLER environment to build this model in

# directories for input atom files
env.io.atom_files_directory = ['.', '../atom_files']

# Read in HETATM records from template PDBs
env.io.hetatm = True

a = automodel(env,
              alnfile  = '1-78-40-clmpldr4.ali',  # alignment filename
               knowns=('1M55','1U0J','1SXJ'),              # codes of the templates
              sequence = 'B25')              # code of the target
a.starting_model= 1                 # index of the first model
a.ending_model  = 1                 # index of the last model
                                    # (determines how many models to calculate)
a.make()                            # do the actual homology modeling