Introducing HETATM ligands into models based on multiple templates
Hello, 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
Violetta Kivovich MD/PhD Candidate G4 vzk102@psu.edu
On 07/20/2009 05:25 PM, Violetta Kivovich wrote: > 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?
If I understand you correctly you have an alignment that looks like
template1 AAAAAAAAA..---------- template2 -----------BBBBBBBBBB model aaaaaaaaa..bbbbbbbbbb
This won't work because Modeller assumes that an amino acid chain corresponds to the primary sequence in the alignment, and ligands break the chain. So you'll end up with a chain break at the end of 'aaa'.
A fix for the alignment above would be something like
template1 AAAAAAAAA----------.. template2 ---------BBBBBBBBBB-- model aaaaaaaaabbbbbbbbbb..
Modeller does not care where gaps are placed in your template sequences, as long as the residues come in the same order as in the PDB file, so this is essentially the same alignment.
If your ligands are placed very awkwardly in the PDB file, you could certainly edit the PDB file in a text editor to reorder them or remove ligands you don't want, rather than editing your alignment.
You also imply that all of your templates contain ligands. In most cases it only makes sense for each ligand in the model to be aligned with precisely one template ligand, since Modeller will just copy the coordinates from the template. Modeller will allow you to align a model ligand with ligands in multiple templates, but what you'll end up with is a ligand containing uniquely-named atoms from all of the templates, which is usually not what you want.
> here is the script i am using for introducing HETATM ligands into the model
Your script looks fine to me. As you have probably already seen, the only change needed to include ligands is to turn on env.io.hetatm, which you have done already in your script. All of the hard work is done by the alignment.
Ben Webb, Modeller Caretaker
participants (2)
-
Modeller Caretaker
-
Violetta Kivovich