23 #include <basic/options/option.hh>
24 #include <basic/options/keys/OptionKeys.hh>
46 #include <utility/tag/Tag.hh>
47 #include <utility/tools/make_vector1.hh>
50 #include <ObjexxFCL/string.functions.hh>
51 #include <ObjexxFCL/format.hh>
59 #include <basic/Tracer.hh>
62 #include <basic/options/option_macros.hh>
63 #include <basic/options/keys/run.OptionKeys.gen.hh>
64 #include <basic/options/keys/rigid.OptionKeys.gen.hh>
65 #include <basic/options/keys/docking.OptionKeys.gen.hh>
66 #include <basic/options/keys/score.OptionKeys.gen.hh>
67 #include <basic/options/keys/constraints.OptionKeys.gen.hh>
78 using namespace basic::options;
79 using namespace OptionKeys;
85 OPT( docking::partners );
87 OPT( constraints::cst_file );
89 OPT( run::n_replica );
90 OPT( rigid::translation );
91 OPT( rigid::rotation );
94 static basic::Tracer
tr(
"protocols.docking.TemperedDocking");
104 init( utility::tools::make_vector1<core::SSize>(1), NULL, NULL);
142 if (
this == &rhs)
return *
this;
177 tr.Info <<
"Setting docking foldtree" << std::endl;
178 tr.Info <<
"old fold tree: " << pose.
fold_tree() << std::endl;
180 tr.Info <<
"new fold tree: " << pose.
fold_tree() << std::endl;
225 tr.Info <<
"setting up the constraint set mover" << std::endl;
294 using namespace ObjexxFCL::fmt;
298 out <<
"////////////////////////////////////////////////////////////////////////////////" << std::endl;
299 out << line_marker <<
A( 47,
"Rosetta 3 Docking Protocol" ) << space( 27 ) << line_marker << std::endl;
300 out << line_marker << space( 74 ) << line_marker << std::endl;
302 out << line_marker <<
" Dockable Jumps: ";
316 core::Size remaining_spaces = 80 - spaces_so_far;
317 if ( remaining_spaces > 0 ) out << space( 80 - spaces_so_far );
318 out << line_marker << std::endl;
321 out <<
"////////////////////////////////////////////////////////////////////////////////" << std::endl;
331 using namespace core::scoring;
363 sampler_->set_monte_carlo( mc_object );
391 using namespace basic::options;
394 if ( option[ OptionKeys::run::n_cycles ].user() ) {
395 n_cycles_ = option[ OptionKeys::run::n_cycles ]();
399 if( option[ OptionKeys::docking::multibody ].user() ) {
405 if( option[ OptionKeys::docking::sc_min ].user() ) {
406 sc_min_ = option[ OptionKeys::docking::sc_min ]();
410 if( option[ OptionKeys::docking::partners ].user() ) {
411 set_partners(option[ OptionKeys::docking::partners ]());
420 option[ OptionKeys::score::patch ]()
432 if ( option[ OptionKeys::run::n_replica ]() > 1 ) {
444 using namespace core::scoring;
446 if( tag->hasOption(
"docking_score_low" ) ){
451 if( tag->hasOption(
"docking_score_high" ) ){
457 if( tag->hasOption(
"partners" ) ){
481 return "TemperedDocking";