20 #include <basic/options/option.hh>
21 #include <basic/options/keys/OptionKeys.hh>
43 #include <ObjexxFCL/string.functions.hh>
51 #include <basic/options/keys/docking.OptionKeys.gen.hh>
53 #include <numeric/trig.functions.hh>
54 #include <numeric/xyzMatrix.fwd.hh>
56 #include <basic/Tracer.hh>
59 #include <utility/vector0.hh>
60 #include <utility/vector1.hh>
66 static basic::Tracer
TR(
"protocols.symetric_docking.SymDockingLowRes");
75 namespace symmetric_docking {
78 SymDockingLowRes::SymDockingLowRes(
80 ) : Mover(), scorefxn_(scorefxn_in)
94 using namespace basic::options;
100 inner_cycles_ = option[ OptionKeys::docking::docking_centroid_inner_cycles ]();
101 outer_cycles_ = option[ OptionKeys::docking::docking_centroid_outer_cycles ]();
103 if ( option[ OptionKeys::docking::dock_mcm_trans_magnitude ].user() ) {
104 trans_magnitude_ = option[ OptionKeys::docking::dock_mcm_trans_magnitude ]();
109 if ( option[ OptionKeys::docking::dock_mcm_rot_magnitude ].user() ) {
110 rot_magnitude_ = option[ OptionKeys::docking::dock_mcm_rot_magnitude ]();
138 using namespace core::conformation::symmetry;
148 using namespace moves;
149 using namespace conformation::symmetry;
153 dynamic_cast<SymmetricConformation & > ( pose.
conformation()) );
155 std::map< Size, SymDof > dofs ( symm_conf.
Symmetry_Info()->get_dofs() );
162 if( basic::options::option[basic::options::OptionKeys::docking::multibody].user() ){
163 utility::vector1<int> mbjumps = basic::options::option[basic::options::OptionKeys::docking::multibody]();
165 if( mbjumps.size()==0 || std::find(mbjumps.begin(),mbjumps.end(),ij)!=mbjumps.end() ){
166 TR <<
"add subunit jump mover " << ij << std::endl;
192 using namespace scoring;
194 TR <<
"in DockingLowRes.apply\n";
198 TR <<
"::::::::::::::::::Centroid Rigid Body Adaptive:::::::::::::::::::\n";
211 mc_->recover_low( pose );
218 return "SymDockingLowRes";
244 using namespace moves;
259 rb_cycle->apply( pose );
261 pose =
mc_->lowest_score_pose();