I try to refine a long loop in my protein model by adding several secondary structure restraints and I've confronted the following problem: some restraints do not have any effect unless other ones are removed from the restraint list. In other words, after removing some of the restraints others start working properly. I would like to know the reasons and how can this problem be solved.
from modeller import *
from modeller.automodel import * # Load the automodel class
log.verbose()
env = environ()
# directories for input atom files
env.io.atom_files_directory = [’.’, ’../atom_files’]
class MyModel(automodel):
def special_restraints(self, aln):
rsr = self.restraints
at = self.atoms
# Add some restraints from a file:
# rsr.append(file=’my_rsrs1.rsr’)
# Residues 20 through 30 should be an alpha helix:
rsr.add(secondary_structure.alpha(self.residue_range(’20:’, ’30:’)))
# Two beta-strands:
rsr.add(secondary_structure.strand(self.residue_range(’1:’, ’6:’)))
rsr.add(secondary_structure.strand(self.residue_range(’9:’, ’14:’)))
a = MyModel(env, alnfile = ’alignment.ali’, knowns = ’5fd1’, sequence = ’1fdx’)
a.starting_model= 1
a.ending_model = 1
a.make()