Dear modellers,
I am novice in field of modeling.
I am doing model of homodimeric protein. I have two parts and from both of them I have template structure. Between them there is linker which is based on homologous proteins and 2D prediction helix. I want to my model that helix and symmetric homodimer.
1) If I do first model with helix and then symmetric homodimeric model - I loose helix. 2) If I do first symmetric model and them restraint helix - I loose a bit symmetry.
Is it possible to do these to restraints in one run? Or how I can handle this problem?
My .py file (#? - marks for helix in previous run) # Homology modeling by the automodel class # # Demonstrates how to build multi-chain models, and symmetry restraints # from modeller import * from modeller.automodel import * # Load the automodel class
log.verbose()
# Override the 'special_restraints' and 'user_after_single_model' methods: class MyModel(automodel): def special_restraints(self, aln): # Constrain the A and B chains to be identical (but only restrain # the C-alpha atoms, to reduce the number of interatomic distances # that need to be calculated): s1 = selection(self.chains['A']).only_atom_types('CA') s2 = selection(self.chains['B']).only_atom_types('CA') self.restraints.symmetry.append(symmetry(s1, s2, 1.0)) def user_after_single_model(self): # Report on symmetry violations greater than 1A after building # each model: self.restraints.symmetry.report(1.0) #? rsr = self.restraints #? at = self.atoms # Add some restraints from a file: # rsr.append(file='my_rsrs1.rsr') # Residues 296-305 should be an alpha helix: #? rsr.add(secondary_structure.alpha(self.residue_range('296:A', '305:A'))) #? rsr.add(secondary_structure.alpha(self.residue_range('845:B', '854:B')))
env = environ() env.io.hetatm = True # directories for input atom files env.io.atom_files_directory = ['.', '../atom_files']
# Be sure to use 'MyModel' rather than 'automodel' here! a = MyModel(env, alnfile = 'cpC.ali' , # alignment filename knowns = ('cpCB', 'HXW'), # codes of the templates sequence = 'Pase', # code of the target inifile = 'CBPP.pdb') # use 'my' initial structure a.starting_model= 1 # index of the first model a.ending_model = 3 # index of the last model # (determines how many models to calculate) a.make() # do homology modeling
Thank you already beforehand, hopefully this is easy case for you specialists. Heidi