30 #include <basic/options/option.hh>
31 #include <basic/options/keys/fold_and_dock.OptionKeys.gen.hh>
38 #include <basic/Tracer.hh>
40 #include <utility/vector1.hh>
44 namespace symmetric_docking {
46 static basic::Tracer
TR(
"protocols.moves.symmetry.SymFoldandDockRbTrialMover");
49 Mover(
"SymFoldandDockRbTrialMover" ),
50 smooth_move_(false), rot_mag_(8.0), trans_mag_(3.0), rigid_body_cycles_(50), mc_filter_(true)
58 Mover(
"SymFoldandDockRbTrialMover" ),
59 scorefxn_(scorefxn), smooth_move_(false), rot_mag_(8.0), trans_mag_(3.0), rigid_body_cycles_(50), mc_filter_(true)
66 Mover(
"SymFoldandDockRbTrialMover" ),
67 scorefxn_(scorefxn), smooth_move_(smooth_move), rot_mag_(8.0), trans_mag_(3.0), rigid_body_cycles_(50), mc_filter_(true)
76 Mover(
"SymFoldandDockRbTrialMover" ),
77 scorefxn_( scorefxn), smooth_move_(smooth_move), rot_mag_(rot_mag), trans_mag_(trans_mag)
86 using namespace core::conformation::symmetry;
87 using namespace basic::options;
90 dynamic_cast<SymmetricConformation & > ( pose.
conformation()) );
92 std::map< Size, SymDof > dofs ( symm_conf.
Symmetry_Info()->get_dofs() );
94 TR.Debug <<
"Rb move applied..." << std::endl;
101 if ( option[ OptionKeys::fold_and_dock::trans_mag_smooth ].user() ) {
102 trans_mag_smooth = option[ OptionKeys::fold_and_dock::trans_mag_smooth ];
104 if ( option[ OptionKeys::fold_and_dock::rot_mag_smooth ].user() ) {
105 rot_mag_smooth = option[ OptionKeys::fold_and_dock::rot_mag_smooth ];
110 if ( option[ OptionKeys::fold_and_dock::rb_rot_magnitude ].user() )
112 rot_mag_ = ( option[ OptionKeys::fold_and_dock::rb_rot_magnitude ] );
116 if ( option[ OptionKeys::fold_and_dock::rb_trans_magnitude ].user() )
118 trans_mag_ = ( option[ OptionKeys::fold_and_dock::rb_trans_magnitude ] );
125 if ( option[ OptionKeys::fold_and_dock::rigid_body_cycles ].user() )
130 if ( option[ OptionKeys::fold_and_dock::rigid_body_disable_mc ].user() )
142 if ( option[ OptionKeys::fold_and_dock::rotate_anchor_to_x ].user() ) {
147 rb_perturb.apply( pose );
148 if (
mc_filter_ ) monteCarlo_->boltzmann( pose );
155 return "SymFoldandDockRbTrialMover";