[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[modeller_usage] restraints loosed after loop refinement



Dear All,
I have a problem with restraints after loop refeinement, in particular the distances between some atoms do not respect the restraint values set up. These values are respected after model building (without a slow MD) but not after loop refinements.
I didn't use any refinement of imput model.

I show the used scripts:
This is for automodel:
 
from modeller import *
from modeller.automodel import *    # Load the automodel class

log.verbose()
env = environ()

env.io.atom_files_directory = ['.', '../atom_files']

class MyModel(automodel):
    def special_restraints(self, aln):
        rsr = self.restraints
        at = self.atoms

        rsr.add(forms.gaussian(group=physical.xy_distance,
                               feature=features.distance(at['NZ:114'],
                                                         at['OD1:288']),
                               mean=2.6, stdev=0.1))

        rsr.add(forms.gaussian(group=physical.xy_distance,
                               feature=features.distance(at['NE:136'],
                                                         at['OD1:260']),
                               mean=2.6, stdev=0.3))

a = MyModel (env, alnfile='allinea.pir',
              knowns='AB, BC', sequence='CD')
a.starting_model = 1
a.ending_model   = 1

a.md_level = refine.very_fast

a.make()



This is for loop refinement:

log.verbose()
env = environ()

a = loopmodel(env,
              alnfile  = 'allinea.pir',     # alignment filename
              knowns   = ''AB, BC',   # codes of the templates
              sequence = 'CD')              # code of the target)
a.starting_model = 1                 # index of the first model
a.ending_model   = 1                 # index of the last model
                                    # (determines how many models to calculate)a.
md_level = None                   # No refinement of model

a.loop.starting_model = 1           # First loop model
a.loop.ending_model   = 1           # Last loop model

a.loop.md_level       = refine.fast # Loop model refinement level

a.make()

Thank you very much in advance

Mario