Gregoire Depret wrote: > To avoid that kind of kinks I want to treat the helices as rigid bodies. > First I tried to add rigid bodies in the same script > > a = mymodel(env, > alnfile = 'align.pir', # alignment filename > knowns = '2OXS', # codes of the templates > sequence = 'mytemplate ') # code of the target > > r = rigid_body(a.residue_range('180:B', '200:B')) > s = rigid_body(a.residue_range('890:C', '900:C')) > a.restraints.rigid_bodies.append(r) > a.restraints.rigid_bodies.append(s) > > But in this case, MODELLER doesn't recognize the residue range, and raises > the error "No such Residues 180:B". I have checked in previous models; the > residues are there.
You can't make restraints before you call a.make(), because the model coordinates don't exist at that point. To add any restraints (including rigid bodies), define the special_restraints routine: http://salilab.org/modeller/manual/node26.html
Ben Webb, Modeller Caretaker