Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 14 additions & 35 deletions source/src/protocols/backrub/BackrubProtocol.cc
Original file line number Diff line number Diff line change
Expand Up @@ -101,39 +101,7 @@ BackrubProtocol::BackrubProtocol():
read_cmd_line_options();
}

BackrubProtocol::BackrubProtocol(BackrubProtocol const & bp):
Mover(bp),
scorefxn_(bp.scorefxn_),
main_task_factory_(bp.main_task_factory_),
backrubmover_(bp.backrubmover_),
smallmover_(bp.smallmover_),
sidechainmover_(bp.sidechainmover_),
packrotamersmover_(bp.packrotamersmover_),
recover_low_(bp.recover_low_),
trajectory_apply_mover_(bp.trajectory_apply_mover_),
pivots_residue_selector_(bp.pivots_residue_selector_)
{
this->set_options(
bp.pivot_residues_,
bp.pivot_atoms_,
bp.minimize_movemap_,
bp.movemap_smallmover_,
bp.packing_operation_,
bp.min_atoms_,
bp.max_atoms_,
bp.initial_pack_,
bp.mm_bend_weight_,
bp.sm_prob_,
bp.sc_prob_,
bp.sc_prob_uniform_,
bp.sc_prob_withinrot_,
bp.mc_kt_,
bp.ntrials_,
bp.trajectory_,
bp.trajectory_gz_,
bp.trajectory_stride_
);
}
BackrubProtocol::BackrubProtocol(BackrubProtocol const & ) = default;

BackrubProtocol::~BackrubProtocol()= default;

Expand Down Expand Up @@ -266,6 +234,11 @@ BackrubProtocol::set_scorefunction(core::scoring::ScoreFunctionCOP scorefxn){
scorefxn_ = scorefxn->clone();
}

void
BackrubProtocol::set_dump_poses(bool setting) {
dump_poses_ = setting;
}

protocols::moves::MoverOP
BackrubProtocol::clone() const {
return utility::pointer::make_shared< BackrubProtocol >( *this );
Expand Down Expand Up @@ -374,6 +347,7 @@ BackrubProtocol::parse_my_tag(
if ( tag->hasOption("recover_low") ) {
recover_low_ = tag->getOption<bool>("recover_low");
}
dump_poses_ = tag->getOption<bool>("dump_poses", false); // For XML, default to not dumping the pose

if ( tag->hasOption("task_operations") ) {
main_task_factory_ = protocols::rosetta_scripts::parse_task_operations( tag, data );
Expand Down Expand Up @@ -629,8 +603,10 @@ BackrubProtocol::apply( core::pose::Pose& pose ){
pose = mc.last_accepted_pose();
}

mc.last_accepted_pose().dump_pdb(output_tag + "_last.pdb");
mc.lowest_score_pose().dump_pdb(output_tag + "_low.pdb");
if ( dump_poses_ ) {
mc.last_accepted_pose().dump_pdb(output_tag + "_last.pdb");
mc.lowest_score_pose().dump_pdb(output_tag + "_low.pdb");
}

if ( custom_fold_tree ) {
append_fold_tree_to_file(mc.lowest_score_pose().fold_tree(), output_tag + "_low.pdb"); // this is the lowest scoring from MC trials
Expand Down Expand Up @@ -692,6 +668,9 @@ void BackrubProtocol::provide_xml_schema( utility::tag::XMLSchemaDefinition & xs
attlist + XMLSchemaAttribute(
"recover_low", xsct_rosetta_bool,
"Set the return Pose to be the lowest scoring structure sampled (if false, will be left as last sampled structure)" );
attlist + XMLSchemaAttribute(
"dump_poses", xsct_rosetta_bool,
"Output the results of the MC trajectory to _low.pdb and _last.pdb files in the working directory" );
attlist + XMLSchemaAttribute(
"pivot_residue_selector", xs_string,
"Name of residue selector to use to select pivot residues" );
Expand Down
5 changes: 5 additions & 0 deletions source/src/protocols/backrub/BackrubProtocol.hh
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,10 @@ public:
void
set_taskfactory( core::pack::task::TaskFactoryCOP tf);

/// @brief Control whether the mover dumps the _last and _low intermediate structures.
void
set_dump_poses(bool);

////////////////////////////////////////////////////////////////////////
/// ScoreFunction
///
Expand Down Expand Up @@ -197,6 +201,7 @@ private:
bool trajectory_;
bool trajectory_gz_;
bool recover_low_;
bool dump_poses_ = true; // Historical behavior
core::Size trajectory_stride_;

protocols::moves::MoverOP trajectory_apply_mover_;
Expand Down