Hi Ben
My script is as follows:
from modeller import *
env = environ()
env.io.atom_files_directory = ['.']
mdl = model(env, file='test1')
# Keep two domains rigid:
r1 = rigid_body(mdl.residue_range('48:A', '124:A'))
r2 = rigid_body(mdl.residue_range('132:A', '205:A'))
r3 = rigid_body(mdl.residue_range('212:A', '304:A'))
mdl.restraints.rigid_bodies.append(r1)
mdl.restraints.rigid_bodies.append(r2)
mdl.restraints.rigid_bodies.append(r3)
# put the restraints on domains
at=mdl.atoms
mdl.restraints.add(forms.gaussian(group=physical.xy_distance,
feature=features.distance(at['CG2:128:A'],
at['OD1:148:A']),
mean=40, stdev=0.1))
mdl.restraints.add(forms.gaussian(group=physical.xy_distance,
feature=features.distance(at['O1:123:A'],
at['O1:185:A']),
mean=43, stdev=0.1))
mdl.restraints.add(forms.gaussian(group=physical.xy_distance,
feature=features.distance(at['O1:123:A'],
at['O1:160:A']),
mean=45, stdev=0.1))
mdl.restraints.add(forms.gaussian(group=physical.xy_distance,
feature=features.distance(at['O1:123:A'],
at['O1:201:A']),
mean=32, stdev=0.1))
mdl.restraints.add(forms.gaussian(group=physical.xy_distance,
feature=features.distance(at['O1:106:A'],
at['O1:185:A']),
mean=25, stdev=0.1))
mdl.restraints.add(forms.gaussian(group=physical.xy_distance,
feature=features.distance(at['O1:106:A'],
at['O1:160:A']),
mean=35, stdev=0.1))
mdl.write(file='test.pdb')
Thanks
Reza