Back to TaskOperations page.
JumpSelectors select a subset of Jumps from the FoldTree of a Pose. Their apply() method takes a Pose and returns a JumpSubset (a utility::vector1< bool >). This vector1 will be as large as there are jumps in the input Pose, and its ith entry will be "true" if jump i has been selected.
The most common way of using a JumpSelector is with a MoveMapFactory where you can construct a MoveMap that allows some jumps to minimize while keeping other jumps fixed. They can also be used to select residues, e.g. with the JumpDownstreamSelector or the JumpUpstreamSelector (coming soon).
JumpSelectors can be declared in their own block, outside of the TaskOperation block. For example:
Some JumpSelectors can nest other JumpSelectors in their definition; e.g.
<JUMP_SELECTORS> <JumpIndex name="jump1" jump="1"/> <Interchain name="interchain"/> </JUMP_SELECTORS>
In this case, the documented structure of the Or JumpSelector will be stated as
<JUMP_SELECTORS> <Or name="interchain_and_jump1"> <JumpIndex jump="1"/> <Interchain/> </Or> </JUMP_SELECTORS>
With the <(Selector)> subtag designating that any JumpSelector can be nested inside it, including an Or selector (if you so desired).
<Or name=(%string)> <(Selector)/> </Or>
<Not name="(&string)" selector="(&string)">
<Not name="(&string)"> <(Selector) .../> </Not>
any JumpSelector can be defined as a subtag of the Not selector. You cannot, however, pass the subselector by name except by using the "selector" option.
<Not name="all_but_jump2"> <JumpIndex jump="2"/> </Not>
<And name="(&string)" selectors="(&string)"> <(Selector1)/> <(Selector2)/> ... </And>
<Or name="(&string)" selectors="(&string)"> <(Selector1)/> <(Selector2)/> ... </Or>