Unpick restraints and partial optimization.
Dear Modeller users, I am trying to unselect some restraints of the restraint file coming from my homology model in order to perform some optimization. Following the recommandations, I have tried the unpick method like this.
mdl = complete_pdb(env, 'homo_model.pdb') mdl.restraints.append(file='./original_restraints.rsr') mdl.rename_segments(segment_ids=('A', 'A', 'B'), renumber_residues=(32, 98, 693)) allrest = selection(mdl) mdl.restraints.pick(allrest) mdl.restraints.unpick(mdl.residue_range('706:B', '736:B')) mdl.restraints.condense()
I get the following logfile
runcmd______> restraints.append(file='./original_restraints.rsr') runcmd______> model.rename_segments(segment_ids=('A', 'A', 'B'), renumber_residues=(32, 98, 693)) runcmd______> restraints.pick((def)residue_span_range=(0, 99999), (def)restraint_sel_atoms=1, (def)restraints_filter={'default':-999 .000000}) runcmd______> restraints.unpick() unpick__441_> Number of restraints unselected: 0 condens_443_> Restraints marked for deletion were removed. Total number of restraints before, now: 101301 101301
None of the restraints were removed. Since I renumber my model I have tried the restraint.reindex command but I didn't make it through either. I know I can edit my restraint file and remove the unwanted restraints but I can't find my residues back in the homology generated restraint file, I only read atom index.
Another question. I want to perform an optimization on some parts of my model only. I have tried to add residue ranges to a selection and then optimize this selection, but in this case modeller don't take into account the unselected parts of my model and I get overlapping helices. I understand why It is happpening nevertheless is there still a way to achieve partial optimization without overlapping ? Many thanks for your answers.
Gregoire Depret wrote: > Dear Modeller users, > I am trying to unselect some restraints of the restraint file coming from my > homology model in order to perform some optimization. > Following the recommandations, I have tried the unpick method like this. > > mdl = complete_pdb(env, 'homo_model.pdb') > mdl.restraints.append(file='./original_restraints.rsr') > mdl.rename_segments(segment_ids=('A', 'A', 'B'), > renumber_residues=(32, 98, 693)) > allrest = selection(mdl) > mdl.restraints.pick(allrest) > mdl.restraints.unpick(mdl.residue_range('706:B', '736:B')) > mdl.restraints.condense()
restraints.unpick() only unselects restraints that have _all_ of their atoms in the range you pass in. So, for example, a distance restraint between residues 706:B and 707:B would be unpicked in your case, but not one between 705:B and 706:B, since some of the atoms (those in the 705:B residue) were not passed in.
If you're sure that's not what's going on in your case, send me your input PDB and .rsr file, and I'll take a look.
> None of the restraints were removed. Since I renumber my model I have tried > the restraint.reindex command but I didn't make it through either.
reindex() isn't necessary here, since you only changed the residue labels - not the atom indices themselves, which are what restraints act on. reindex() is only necessary in special cases where you change the actual atom indices (for example, if you switch from an all-atom representation to C-alpha only).
> Another question. I want to perform an optimization on some parts of my model > only. I have tried to add residue ranges to a selection and then optimize > this selection, but in this case modeller don't take into account the > unselected parts of my model and I get overlapping helices. I understand why > It is happpening nevertheless is there still a way to achieve partial > optimization without overlapping ?
Make sure that you have env.edat.nonbonded_sel_atoms set to 1, so that your selection interacts energetically with the unselected region. (See http://salilab.org/modeller/9v1/manual/node22.html for an example.) You probably also want stereochemical restraints and nonbonded VDW interactions turned on to prevent these overlaps. You could try also selecting a few residues either side of your region of interest, to allow some flexibility in your linker regions. If you don't want these to move too much, you could always impose some position or distance restraints on those residues.
Ben Webb, Modeller Caretaker
participants (2)
-
Gregoire Depret
-
Modeller Caretaker