from modeller.automodel import *
class mymodel(automodel):
    def special_restraints(self, aln):
        rsr = self.restraints
        for ids in (('N:59:A', 'O7B:128:B'),
                    ('O:107:A', 'N2B:128:B'),
                    ('N:109:A', 'O6C:128:B')):
                    atoms = [self.atoms[i] for i in ids]
                    rsr.add(forms.upper_bound(group=physical.upper_distance,
                      feature=features.distance(*atoms), mean=3.5, stdev=0.1)) 
env = environ()
env.io.hetatm = True
a = mymodel(env, alnfile='vyr2.pir', knowns=('1LMP'), sequence='SEQ')
a.starting_model = 1
a.ending_model = 5
a.make()
