Hello
I am trying to model a small (22 amino acids) peptide with 3 disulfide bonds using structures of 6 related peptides with Modeller 9.7. The template peptides have 1-3 modified amino acids (pyroglutamate, hydroxyproline, amidated C-termini) and the peptide to be modeled has an amidated cysteine as the C-terminus.
Pyroglu is already in the restyp.lib file, and I added HYP as
HETATM | HYP | O | | #### | hydroxyproline
When I try to align the templates, all of the modified amino acids are missing from the alignments, and since each template has different numbers of modified residues, the reported alignment doesn't even get most of the cysteines aligned.
I tried setting env.io.hetatm= True to see if that made a difference, but then the routine failed with the following track back:
____________________________________________________________________ Traceback (most recent call last): File "salignCTX.py", line 21, in ? mdl = model(env, file=code, model_segment=('FIRST:'+chain, 'LAST:'+chain)) File "/Library/modeller-9v7/modlib/modeller/model.py", line 72, in __init__ self.read(**vars) File "/Library/modeller-9v7/modlib/modeller/model.py", line 115, in read return _modeller.mod_model_read(self.modpt, io.modpt, File "/Library/modeller-9v7/modlib/modeller/io_data.py", line 56, in __get_modpt self.__atom_files_directory) TypeError: in method 'mod_io_data_set', argument 3 of type 'gboolean' ____________________________________________________________________
I'm not sure why env.io.hetatm = 'True' causes this error, since the routine runs fine under the default condition (env.io.hetatm = 'False')
the alignment routine is below (with "env.io.hetatm = 'True' commented out):
_________________________________________________________________ from modeller import *
log.verbose() env = environ() env.io.atom_files_directory = './:../atom_files/' # env.io.hetatm = 'True'
aln = alignment(env)
for (code, chain) in (('1jlo', 'A'), ('1jlp', 'A'), ('1gib', 'A'), ('1tcg', 'A'), ('1r9i','A'),('1q2j','A')): mdl = model(env, file=code, model_segment=('FIRST:'+chain, 'LAST:'+chain)) aln.append_model(mdl, atom_files=code, align_codes=code+chain)
for (weights, write_fit, whole) in (((1., 0., 0., 0., 1., 0.), False, True), ((1., 0.5, 1., 1., 1., 0.), False, True), ((1., 1., 1., 1., 1., 0.), True, False)): aln.salign(rms_cutoff=3.5,normalize_pp_scores=False, rr_file='$(LIB)/as1.sim.mat', overhang=30, gap_penalties_1d=(-100.0, 0.0), gap_penalties_3d=(0.0, 3.0), gap_gap_score=0, gap_residue_score=0, dendrogram_file='M_conotoxins.tree', alignment_type='tree', # If 'progresive', the tree is not # computed and all structures will be # aligned sequentially to the first feature_weights=weights, # For a multiple sequence alignment only # the first feature needs to be non-zero improve_alignment=True, fit=True, write_fit=write_fit, write_whole_pdb=whole, output='ALIGNMENT QUALITY')
aln.write(file='M_conotoxins.pap', alignment_format='PAP') aln.write(file='M_conotoxins.ali', alignment_format='PIR')
aln.salign(rms_cutoff=1.0,normalize_pp_scores=False, rr_file='$(LIB)/as1.sim.mat', overhang=30,
gap_penalties_1d=(-100.0, 0.0), gap_penalties_3d=(0.0, 3.0), gap_gap_score=0, gap_residue_score=0, dendrogram_file='M_conotoxins.tree', alignment_type='progressive', feature_weights=[0]*6, improve_alignment=False, fit=False, write_fit=True, write_whole_pdb=False, output='QUALITY') ____________________________________________________________________
How does one get the modified amino acids to be part of the alignment process? Since the peptides are small, the modified amino acids comprise a significant portion of the total peptide. When one gets to the actual modeling, are these residues also ignored or set to something like the parent amino acid (i.e., proline for HYP)?
Thanks!
Mike White
On 12/16/10 6:04 AM, Mike White wrote: > I am trying to model a small (22 amino acids) peptide with 3 > disulfide bonds using structures of 6 related peptides with Modeller > 9.7. The template peptides have 1-3 modified amino acids > (pyroglutamate, hydroxyproline, amidated C-termini) and the peptide > to be modeled has an amidated cysteine as the C-terminus.
Modeller cannot build models containing modified amino acids, nor can it use structural information from modified amino acids in your templates (the only exception is MSE, which Modeller treats as identical to MET).
Your best option in this case is to edit your template PDB file to convert the modified amino acids to their unmodified equivalents, build models with regular cysteine, and modify the C-terminus of the constructed models.
> I tried setting env.io.hetatm= True to see if that made a difference, > but then the routine failed with the following track back: ... > I'm not sure why env.io.hetatm = 'True' causes this error
True and 'True' are two different things. True is a Python boolean; 'True' is a string. Only the first will work here.
Ben Webb, Modeller Caretaker
participants (2)
-
Mike White
-
Modeller Caretaker