31 #include <basic/options/option.hh>
32 #include <basic/options/keys/OptionKeys.hh>
33 #include <basic/options/keys/optimization.OptionKeys.gen.hh>
36 #include <basic/Tracer.hh>
37 #include <utility/tag/Tag.hh>
39 #include <utility/vector0.hh>
40 #include <utility/vector1.hh>
47 static basic::Tracer
TR(
"protocols.simple_moves.RotamerTrialsMinMover");
50 namespace simple_moves {
63 ) : protocols::moves::
Mover(), scorefxn_( scorefxn_in ), factory_( NULL )
74 ) : protocols::moves::
Mover(), scorefxn_( scorefxn_in ), task_( NULL ), factory_( factory_in )
83 nonideal_ = basic::options::option[ basic::options::OptionKeys::optimization::scmin_nonideal ]();
84 cartesian_ = basic::options::option[ basic::options::OptionKeys::optimization::scmin_cartesian ]();
108 return "RotamerTrialsMinMover";
127 return task_->clone();
140 assert( tag->getName() ==
"RotamerTrialsMinMover" );
143 if ( new_score_function == 0 ) {
144 TR <<
"Using default score function for RotamerTrialsMinMover." << std::endl;
150 if ( new_task_factory == 0) {
151 TR <<
"Using default Task Operations for RotamerTrialsMinMover." << std::endl;
156 if (tag->hasOption(
"nonideal" )) {
157 nonideal_ = tag->getOption<
bool>(
"nonideal" );
159 if (tag->hasOption(
"cartesian" )) {
160 cartesian_ = tag->getOption<
bool>(
"cartesian" );
182 os <<
"Score function: " << mover.
scorefxn()->get_name() << std::endl;
184 else { os <<
"Score function: none" << std::endl; }
204 return "RotamerTrialsMinMover";
221 ) : protocols::simple_moves::
RotamerTrialsMinMover(scorefxn_in, task_in), mc_( mc_in ), energycut_( energycut_in )
233 ) : protocols::simple_moves::
RotamerTrialsMinMover(scorefxn_in, factory_in), mc_( mc_in ), energycut_( energycut_in )
256 return "EnergyCutRotamerTrialsMinMover";
268 using namespace core;
275 for (
int i=1, i_end = pose.
total_residue(); i<= i_end; ++i ) {
278 core::Real const deltaE ( resE - lowest_resE );