from modeller.automodel import *
class mymodel(automodel):
    def special_restraints(self, aln):
        rsr = self.restraints ##нужно использовать стандартные валентные углы в полипептидной цепи
        for ids in (('OD1:98:A', 'O6A:131:A'),
                    ('N:65:A', 'O7B:132:A'),
                    ('OD2:73:A', 'O1C:133:A')):
                    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)) 
					  ##дополнительно нужно сохранять взаимное расположение определенных (строчки 5-7) пар атомов (3.5 ангстрема)
env = environ()
env.io.hetatm = True ##ковалентные связи в гетероатомах нужно вычислять по расстояниям между атомами
a = mymodel(env, alnfile='test1.ali', knowns=('1lmp'), sequence='seq') 
##имя файла с выравниванием и имена последовательностей образца и моделируемого белка, имя файла со структурой содержится в выравнивании)
a.starting_model = 1
a.ending_model = 5 ##число и номера моделей, которые нужно построить
a.make() ##пора строить модель