26 #include <basic/options/option.hh>
27 #include <basic/options/keys/OptionKeys.hh>
28 #include <basic/options/keys/loops.OptionKeys.gen.hh>
30 #include <basic/Tracer.hh>
42 #include <utility/exit.hh>
46 #include <utility/vector0.hh>
47 #include <utility/vector1.hh>
52 using namespace protocols::flexpep_docking;
54 static basic::Tracer
TR(
"protocols.flexPepDockingLowRes");
70 Size const rb_jump_in )
75 using namespace basic::options;
85 loop_relax_mover_->refine(
"no");
86 loop_relax_mover_->relax(
"no");
87 if( option[ OptionKeys::loops::frag_files ].user() )
93 loop_relax_mover_->frag_libs( frag_libs );
108 double temperature = 0.8;
112 double min_func_tol = 0.1;
126 TR.Debug <<
"Switching to centroid" << std::endl;
129 to_centroid_mover.
apply(pose);
144 recover_sidechains( referencePose );
145 recover_sidechains.
apply( pose );
154 double& acceptance_rate )
156 using namespace protocols::moves;
160 small_mover->angle_max(
'L',flags_.smove_angle_range);
163 shear_mover->angle_max(
'L',flags_.smove_angle_range);
168 cyclic_tor_moves->
add_mover(small_mover);
169 cyclic_tor_moves->add_mover(shear_mover);
176 small_mover->apply(pose);
177 shear_mover->apply(pose);
179 for(
int i=1; i<=cycles; ++i ) {
180 mc_trial->apply( pose );
183 pose = mc_->lowest_score_pose();
185 acceptance_rate = mc_trial->acceptance_rate();
194 using namespace protocols::moves;
196 if(flags_.peptide_nres() < 5)
199 Size first_res = flags_.peptide_first_res() + 1;
200 Size last_res = flags_.peptide_last_res() - 1;
202 loops->add_loop(first_res, last_res);
203 for(
Size i = first_res; i <= last_res ; i++)
204 runtime_assert( movemap_->get_bb(i) );
205 loop_relax_mover_->loops( loops );
206 loop_relax_mover_->apply( pose );
218 const float trans_magnitude,
219 const float rot_magnitude,
220 double& acceptance_rate
223 using namespace protocols::moves;
228 rb_jump_, rot_magnitude, trans_magnitude );
233 for(
int i = 1; i <= cycles ; i++)
235 mc_trial->apply(pose);
239 pose = mc_->lowest_score_pose();
241 acceptance_rate = mc_trial->acceptance_rate();
249 using namespace core;
253 int inner_cycles_rb = 50;
254 int inner_cycles_torsions = 50;
255 double trans_mag = 0.5;
257 double rb_acceptance, torsions_acceptance;
263 for (
int i=1; i<=outer_cycles; ++i) {
266 ( pose , inner_cycles_rb, trans_mag, rot_mag, rb_acceptance);
271 ( pose , inner_cycles_torsions, torsions_acceptance);
285 return "FlexPepDockingLowRes";