37 #include <basic/Tracer.hh>
39 #include <utility/exit.hh>
41 #include <utility/tag/Tag.hh>
43 #include <utility/vector0.hh>
44 #include <utility/vector1.hh>
54 static basic::Tracer
TR(
"protocols.simple_moves.TaskAwareMinMover" );
57 namespace simple_moves {
73 return "TaskAwareMinMover";
77 : protocols::moves::
Mover(
"TaskAwareMinMover"),
88 ) : protocols::moves::
Mover(
"TaskAwareMinMover"),
89 minmover_(minmover_in),
121 Size const nres( task->total_residue() );
123 mm->set_jump(
jump_ );
124 for (
Size i(1); i <= nres; ++i ) {
125 if ( task->design_residue( i ) ) {
129 if (
bb_ ) mm->set_bb( i,
bb_ );
131 else if( task->pack_residue( i ) ) {
166 if ( tag->getName() !=
"TaskAwareMinMover" ) {
167 TR <<
" received incompatible Tag " << tag << std::endl;
171 if ( tag->hasOption(
"chi") )
chi_ = tag->getOption<
bool>(
"chi");
172 if ( tag->hasOption(
"bb") )
bb_ = tag->getOption<
bool>(
"bb");
173 if( tag->hasOption(
"jump" ) ){
175 if( jump !=
"0" && jump !=
"1" )
176 utility_exit_with_message(
"TaskAwareMinMover only knows how to interpret jump=1(all jumps true) or jump=0 (false). I got jump = "+jump );
178 jump_ = tag->getOption<
bool >(
"jump", false );
181 minmover_->parse_opts( tag, datamap, filters, movers, pose );
187 utility::lua::LuaObject
const & score_fxns,
188 utility::lua::LuaObject
const & tasks,
191 chi_ = def[
"chi"].to<
bool>();
193 bb_ = def[
"bb"].to<
bool>();
194 jump_ = def[
"jump"] ? def[
"jump"].to<
bool>() :
false;
197 minmover_->parse_def_opts( def, score_fxns, tasks, cache );
200 if ( new_task_factory == 0)
return;
203 if( def[
"scorefxn"] ) {
206 minmover_->score_function( score_fxns[
"score12"].to<core::scoring::ScoreFunctionSP>()->
clone() );
220 using namespace core::pack::task;
222 if ( new_task_factory == 0)
return;