[modeller_usage] Sidechains Refinement and Symmetry definition
To:
Subject: [modeller_usage] Sidechains Refinement and Symmetry definition
From: Giampaolo <>
Date: Tue, 22 Mar 2011 19:33:37 +0100
Dear Modeller Caretaker,
I'm studying an homotetramer and i want to identify new sidechain
orientations on a specific helix segment without any more changes in the
protein structure of my initial pdb. So i tried the loopmodel routine:
###################################################################
from modeller import *
from modeller.automodel import * # Load the automodel class
log.verbose()
env = environ()
env.io.atom_files_directory = ['.']
class MyLoop(loopmodel):
def select_loop_atoms(self):
return selection(self.residue_range('232:A', '268:A'),
self.residue_range('232:B', '268:B'),
self.residue_range('232:C', '268:C'),
self.residue_range('232:D','268:D')).only_sidechain()
m = MyLoop(env,
inimodel = 'herg_merged.pdb', # initial model
sequence = 'herg_trg') # target
m.loop.starting_model= 1 # index of the first model
m.loop.ending_model = 50 # index of the last model
m.loop.md_level = refine.very_fast
m.make() # do refinement
###########################################################
Therefore, I obtained 50 models with different sidechain-orientations
over the specified segments.
My question is the following:
?- Is it possible to preserve the symmetry of the sidechains over all
the subunits? or...to perform a total symmetry of the models by a
post-processing step of refinement?
Furthermore, I tried also to define special symmetry restraints, but all
the 50 models resulted equals between them... it seems that nothing
happens:
############################################
def special_restraints(self, aln):
s1 = selection(self.chains['A'])
s2 = selection(self.chains['B'])
s3 = selection(self.chains['C'])
s4 = selection(self.chains['D'])
self.restraints.symmetry.append(symmetry(s1, s2, 1.0))
self.restraints.symmetry.append(symmetry(s1, s3, 1.0))
self.restraints.symmetry.append(symmetry(s1, s4, 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)
#################################################
Thank's in advance for your time and consideration
My regards,
Giampaolo