# Example for: restraints.add(), restraints.unpick() # This will enforce cis conformation for Pro-56. # Make a model and stereochemical restraints: from modeller import * from modeller.scripts import complete_pdb, cispeptide log.level(output=1, notes=1, warnings=1, errors=1, memory=0) env = Environ() env.io.atom_files_directory = ['../atom_files'] env.libs.topology.read(file='$(LIB)/top_heav.lib') env.libs.parameters.read(file='$(LIB)/par.lib') code = '1fas' mdl = complete_pdb(env, code) rsr = mdl.restraints atmsel = Selection(mdl) rsr.make(atmsel, restraint_type='stereo', spline_on_site=False) # Change the Pro-56 restraint from trans to cis: a = mdl.chains[0].atoms cispeptide(rsr, atom_ids1=(a['O:56'], a['C:56'], a['N:57'], a['CA:57']), atom_ids2=(a['CA:56'], a['C:56'], a['N:57'], a['CA:57'])) # Constrain the distance between alpha carbons in residues 5 and 15 to # be less than 10 angstroms: rsr.add(forms.UpperBound(group=physical.xy_distance, feature=features.Distance(a['CA:5'], a['CA:15']), mean=10., stdev=0.1)) rsr.write(file='1fas.rsr') atmsel.energy()