RestrictToRepackingRLT and PreventRepackingRLT

3 posts / 0 new
RestrictToRepackingRLT and PreventRepackingRLT
#1

I am teaching myself rosetta scripts. I followed the tutorial https://www.rosettacommons.org/demos/latest/tutorials/scripting_with_rosettascripts/scripting_with_rosettascripts#altering-the-pose-movers_packing_repacking-sidechains

One of the interesting thing is

	<ReadResfile name="core_resfile" filename="core_resfile.txt" selector="corelayer" />
<OperateOnResidueSubset name="restrict_boundary_to_repack" selector="boundarylayer" >
<RestrictToRepackingRLT />
</OperateOnResidueSubset>
<OperateOnResidueSubset name="prevent_surface_from_repackin" selector="surfacelayer" >
<PreventRepackingRLT />
</OperateOnResidueSubset>


if I replace this paragraph to

where restrict_repack.txt has the content

NATAA
start

restrict_natro.txt has the content

NATRO
start

.

Then I saw this line in the output log

" core.pack.pack_rotamers: built 4406 rotamers at 29 positions." instead of  "core.pack.pack_rotamers: built 4605 rotamers at 29 positions." if I am using "RestrictToRepackingRLT" and "PreventRepackingRLT".

I think RestrictToRepackingRLT should be identical to "NATAA", and "PreventRepackingRLT" should be identical to "NATRO".

Many thanks!

Category:
Post Situation:
Mon, 2018-03-05 11:19
coomteng@gmail.com

Are these runs *exactly* identical except for those TaskOperation lines? Because the exact number of rotamers being built at a particular position depends on the context of the protein -- there's things like backbone clash checks which will remove rotamers if they have little to no chance of being reasonably included. Slightly different protein conformations can cause the clash check to succeed/fail.

There's also the consideration if those operations aren't the very first thing in the protocol, then previous steps may slightly change the structure resulting in slightly different numbers of rotamers in various cases.

But your intuition is correct - those two ways of specifying behavior should be equivalent when run on equivalent structures.  The preferred method is  the OperateOnResidueSubset method, though. Primarily because it doesn't involve the extra files, but mainly because it more directly specifies your intent ("don't repack these residues" rather than "apply this resfile to these residues -- oh, and by the way, the resfile is saying not to repack them".)

Mon, 2018-03-05 16:12
rmoretti

Thank you rmoretti for clarification.

Tue, 2018-03-06 02:31
coomteng@gmail.com