using Modeller for building models using contacts and secondary structures
Hello,
I used Modeller to reconstruct around a 100 proteins with true residue-residue contacts and secondary structure information. I could reconstruct only a few proteins with high accuracy. Below is a sample script I used for Modelling. I did not use any templates. (I found that Modeller satisfies more contact restraints when I provided a template with just one residue's coordinates instead of an extended structure as a template.) I wonder why Modeller could not satisfy true contact restraints. Is there any specific way to reconstruct proteins using true residue contacts?
My PY files and PIR files look like this:
from modeller import * from modeller.automodel import * log.verbose() env = environ() env.io.atom_files_directory = ['.'] class MyModel(automodel): def special_restraints(self, aln): rsr = self.restraints at = self.atoms # Helices and Strands rsr.add(secondary_structure.strand(self.residue_range('3:', '11:'))) rsr.add(secondary_structure.strand(self.residue_range('16:', '26:'))) rsr.add(secondary_structure.alpha(self.residue_range('126:', '140:'))) # Contacts: rsr.add(forms.upper_bound(group=physical.xy_distance,feature=features.distance(at['CA:9'], at['CA:18']),mean=8.0, stdev=0.1)) rsr.add(forms.upper_bound(group=physical.xy_distance,feature=features.distance(at['CB:3'], at['CB:24']),mean=8.0, stdev=0.1)) rsr.add(forms.upper_bound(group=physical.xy_distance,feature=features.distance(at['CB:5'], at['CB:22']),mean=8.0, stdev=0.1)) rsr.add(forms.upper_bound(group=physical.xy_distance,feature=features.distance(at['CB:122'], at['CB:132']),mean=8.0, stdev=0.1)) a = MyModel(env, alnfile = '1f21.pir', # alignment filename knowns = 'empty', # codes of the templates sequence = '1f21') # code of the target a.starting_model= 1 a.ending_model = 20 a.make()
C; >P1;empty structureX:empty: 1: : 152: : : :1.0: K-------------------------------------------------------------------------------------------------------------------------------------------------------*
C; >P1;1f21 : : : : : : : : : KQVEIFTDGSALGNPGPGGYGAILRYRGREKTFSAGYTRTTNNRMELMAAIVALEALKEHAEVILSTDSQYVRQGITQWIHNWKKRGWKTADKKPVKNVDLWQRLDAALGQHQIKWEWVKGHAGHPENERADELARAAAMNPTLEDTGYQVE*
Badri Adhikari University of Missouri ?
?Hello,
I used Modeller to reconstruct around a 100 proteins with true residue-residue contacts and secondary structure information. I could reconstruct only a few proteins with high accuracy. Below is a sample script I used for Modelling. I did not use any templates. (I found that Modeller satisfies more contact restraints when I provided a template with just one residue's coordinates instead of an extended structure as a template.) I wonder why Modeller could not satisfy true contact restraints. Is there any specific way to reconstruct proteins using true residue contacts?
My PY files and PIR files look like this:
from modeller import * from modeller.automodel import * log.verbose() env = environ() env.io.atom_files_directory = ['.'] class MyModel(automodel): def special_restraints(self, aln): rsr = self.restraints at = self.atoms # Helices and Strands rsr.add(secondary_structure.strand(self.residue_range('3:', '11:'))) rsr.add(secondary_structure.strand(self.residue_range('16:', '26:'))) rsr.add(secondary_structure.alpha(self.residue_range('126:', '140:'))) # Contacts: rsr.add(forms.upper_bound(group=physical.xy_distance,feature=features.distance(at['CA:9'], at['CA:18']),mean=8.0, stdev=0.1)) rsr.add(forms.upper_bound(group=physical.xy_distance,feature=features.distance(at['CB:3'], at['CB:24']),mean=8.0, stdev=0.1)) rsr.add(forms.upper_bound(group=physical.xy_distance,feature=features.distance(at['CB:5'], at['CB:22']),mean=8.0, stdev=0.1)) rsr.add(forms.upper_bound(group=physical.xy_distance,feature=features.distance(at['CB:122'], at['CB:132']),mean=8.0, stdev=0.1)) a = MyModel(env, alnfile = '1f21.pir', # alignment filename knowns = 'empty', # codes of the templates sequence = '1f21') # code of the target a.starting_model= 1 a.ending_model = 20 a.make()
C; >P1;empty structureX:empty: 1: : 152: : : :1.0: K-------------------------------------------------------------------------------------------------------------------------------------------------------*
C; >P1;1f21 : : : : : : : : : KQVEIFTDGSALGNPGPGGYGAILRYRGREKTFSAGYTRTTNNRMELMAAIVALEALKEHAEVILSTDSQYVRQGITQWIHNWKKRGWKTADKKPVKNVDLWQRLDAALGQHQIKWEWVKGHAGHPENERADELARAAAMNPTLEDTGYQVE*
Badri Adhikari University of Missouri ?
On 12/27/14 7:35 PM, Adhikari, Badri (MU-Student) wrote: > I used Modeller to reconstruct around a 100 proteins with true > residue-residue contacts and secondary structure information. I could > reconstruct only a few proteins with high accuracy. Below is a sample > script I used for Modelling. I did not use any templates. (I found that > Modeller satisfies more contact restraints when I provided a template > with just one residue’s coordinates instead of an extended structure as > a template.) I wonder why Modeller could not satisfy true contact > restraints. Is there any specific way to reconstruct proteins using true > residue contacts?
You need a lot of these contacts to model a protein. Look at the restraint file from a typical Modeller run - it includes a large number of atom-atom distances with a wide span of residue ranges. I'm assuming you have more than 4 CA/CB contacts, but you probably don't have enough.
In addition, secondary structure restraints are pretty weak (they're more of a "suggestion") and are unlikely to force the protein to adopt that secondary structure unless it's pretty close to start with.
Ben Webb, Modeller Caretaker
participants (2)
-
Adhikari, Badri (MU-Student)
-
Modeller Caretaker