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