Adding MultiplePoseMover and MultipleOutputWrapper (merging branch luki-mbi/rosetta_scripts).
NEWS:
The MultiplePoseMover allows a multi-step "distribute and collect" protocol to be implemented in a single RosettaScript. First, it collects all poses from the previous mover in the protocol. Next, poses are selected from the complete set using Pose Selectors, some of which use Pose Property Reporters. The sub-protocol, if any, is then run on all selected poses. Poses for which the protocol succeeds are output to another mover for further processing, or to the Job Distributor for output to persistent storage.
This mover can also be used to "branch out" without any selection criteria (i.e. generate many diversified poses) or purely as a selector to trim down the set of poses based on some criteria.
MultipleOutputWrapper is a simple wrapper that will execute the mover or ROSETTASCRIPTS protocol it wraps to generate additional output poses from the original pose.
This commit disabled RosettaScripts resume support, since it's interfering and needs a better implementation.
Unit test status: Pass
All test pass except SpanFileIOTests, which fails to run on my machine (Linux, gcc 4.8.2) with:
core.test: src/ObjexxFCL/DynamicIndexRange.hh:103: ObjexxFCL::DynamicIndexRange::DynamicIndexRange(int): Assertion `legal_static()' failed.
Integration test status: 37 test changes (all cosmetic)
Cosmetic changes are expected in the following tests due to the clean-up of empty protocol reports. Additionally, there's a new message about deprecation of the <dock_design> tag in favor of <ROSETTASCRIPTS>.
Enzrevert_xml
add_job_pair_data
dock_with_hotspot_place_simultaneously
favor_native_residue
grid_scores_features
hotspot_graft
hts_io
hybridization
inverse_rotamer_remodel
kinemage_grid_output
ligand_dock_grid
ligand_dock_script
ligand_motif_design
ligand_water_docking
loop_creation
make_symmdef_file
nonideal_rtmin
place_simultaneously
posttranslationalmod_io
ppk
rosetta_scripts_setup
rotamer_probability
rs_flexbbmoves
rs_loophash
score12_docking
score_only_silence
splice_in
splice_out
splice_seq_constraint
startfrom_file
symmetry_data_resource
The JD2 now outputs additional poses generated by a mover, thus the following test now produces multiple PDBs:
rs_loophash
The pose tag is now at the end of the PDB file name (for clarity), hence some output file name changes in:
AnchoredDesign
antibody_designer
broker_membrane
docking_prepack
jd2test
surface_docking