Hi, I was trying to make a restriction to generate a covalent bond between NZ atom from Lisine with C4 atom of PLP cofator. I search Manual and modeler-List to find some clues about how to do, but USER restriction appears to be not supported by 9.13 version:
[flavios@localhost AlaninaRacemase-Saureus-T9]$ mod9.13 model-mult-simmetry-restr.py & Could not find platform independent libraries <prefix> Could not find platform dependent libraries <exec_prefix> Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>] 'import site' failed; use -v for traceback Traceback (most recent call last): File "model-mult-simmetry-restr.py", line 35, in ? a.make() File "/usr/lib/modeller9.13/modlib/modeller/automodel/automodel.py", line 103, in make self.rd_restraints() File "/usr/lib/modeller9.13/modlib/modeller/automodel/automodel.py", line 191, in rd_restraints self.restraints.append(file=self.csrfile) File "/usr/lib/modeller9.13/modlib/modeller/restraints.py", line 77, in append return _modeller.mod_restraints_read(self.__mdl.modpt, fh.file_pointer) _modeller.ModellerError: rdcsrs__703E> USER restraints format is no longer supported.
My script contains model-mult-simmetry-restr.py contains:
# Homology modeling from modeller import * # Load standard Modeller classes from modeller.automodel import * # Load the automodel class
log.verbose() # request verbose output env = environ() # create a new MODELLER environment to build this model in
# directories for input atom files env.io.atom_files_directory = ['.', '../atom_files']
# Read in HETATM records from template PDBs env.io.hetatm = True env.io.water = True
class MyModel(automodel): def special_restraints(self, aln): rsr = self.restraints at = self.atoms # Constrain the A, 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))
def user_after_single_model(self): # Report on symmetry violations greater than 1A after building # each model: self.restraints.symmetry.report(1.0)
a=MyModel(env, alnfile='AlRacem-mult.ali', knowns=('4A3Q', '1BD0'), sequence='AlRacem', csrfile='my.rsr', assess_methods=(assess.DOPE, assess.GA341)) a.starting_model = 1 a.ending_model = 1 a.make()
# Get a list of all successfully built models from a.outputs ok_models = filter(lambda x: x['failure'] is None, a.outputs) # Rank the models by DOPE score key = 'DOPE score' ok_models.sort(lambda a,b: cmp(a[key], b[key])) # Get top model m = ok_models[0]
print "Top model 1: %s (DOPE score %.3f)" % (m['name'], m[key]) m = ok_models[1]
print "Top model 2: %s (DOPE score %.3f)" % (m['name'], m[key]) m = ok_models[2]
print "Top model 3: %s (DOPE score %.3f)" % (m['name'], m[key]) m = ok_models[3]
print "Top model 4: %s (DOPE score %.3f)" % (m['name'], m[key]) m = ok_models[4]
print "Top model 5: %s (DOPE score %.3f)" % (m['name'], m[key])
my.rsr file contains:
MODELLER5 VERSION: USER FORMAT R 3 1 1 1 2 2 0 1.5000 0.2000 NZ:38:A C4:382:A R 3 1 1 1 2 2 0 1.5000 0.2000 NZ:424:B C4:768:B
I appreciate any help.
Best regards,
Flavio ------------------------------------- Flavio Augusto Vicente Seixas Laboratory of Structural Biochemistry Department of Biochemistry Universidade Estadual de Maringá, PR, Brazil http://www.uem.br