22 #include <basic/Tracer.hh>
23 #include <basic/options/option.hh>
24 #include <basic/options/keys/in.OptionKeys.gen.hh>
82 static basic::Tracer
TR(
"protocols.antibody2.H3RefineCCD");
95 H3RefineCCD::H3RefineCCD( ) : Mover() {}
211 return "H3RefineCCD";
231 (*highres_scorefxn_) (pose);
242 allow_bb_move[ ii ] =
true;
255 flank_allow_bb_move[i] =
true;
270 using namespace protocols;
271 using namespace protocols::simple_moves;
272 using namespace protocols::loops;
273 using namespace protocols::moves;
274 using namespace protocols::toolbox::task_operations;
275 using namespace pack;
276 using namespace pack::task;
277 using namespace pack::task::operation;
305 ( *highres_scorefxn_ )( pose );
315 small_mover->angle_max(
'H', 2.0 );
316 small_mover->angle_max(
'E', 5.0 );
317 small_mover->angle_max(
'L', 6.0 );
319 shear_mover->angle_max(
'H', 2.0 );
320 shear_mover->angle_max(
'E', 5.0 );
321 shear_mover->angle_max(
'L', 6.0 );
358 using namespace protocols::simple_moves;
359 using namespace protocols::moves;
360 using namespace protocols::toolbox::task_operations;
361 using namespace pack::task;
362 using namespace pack::task::operation;
366 if ( !pose.
is_fullatom() ){utility_exit_with_message(
"Fullatom poses only");}
368 TR <<
" Relaxing Fullatom CDR H3 loop" << std::endl;
374 bool closed_cutpoints(
false );
377 TR <<
" Refining CDR H3 loop in HighRes. close_trial_cycle="<<cycle << std::endl;
386 ( *highres_scorefxn_ )( pose );
389 pack_rottrial->apply( pose );
397 bool relaxed_H3_found_ever(
false );
404 mc_->recover_low( pose );
409 mc_->set_temperature( temperature*=
gamma_ );
416 ( *highres_scorefxn_ )( pose );
418 pack_rottrial->task_factory(
tf_);
419 pack_rottrial->apply( pose );
421 bool relaxed_H3_found_current(
false);
427 if( !relaxed_H3_found_ever && !relaxed_H3_found_current) {
428 mc_->boltzmann( pose );
430 else if( !relaxed_H3_found_ever && relaxed_H3_found_current ) {
431 relaxed_H3_found_ever =
true;
434 else if( relaxed_H3_found_ever && !relaxed_H3_found_current ) {
438 else if( relaxed_H3_found_ever && relaxed_H3_found_current ){
439 mc_->boltzmann( pose );
444 bool relaxed_H3_found_current(
false);
446 if( !relaxed_H3_found_ever && !relaxed_H3_found_current) {
447 mc_->boltzmann( pose );
449 else if( !relaxed_H3_found_ever && relaxed_H3_found_current ) {
450 relaxed_H3_found_ever =
true;
453 else if( relaxed_H3_found_ever && !relaxed_H3_found_current ) {
454 mc_->recover_low( pose );
456 else if( relaxed_H3_found_ever && relaxed_H3_found_current ){
457 mc_->boltzmann( pose );
461 mc_->boltzmann( pose );
469 ( *highres_scorefxn_ )( pose );
473 mc_->boltzmann( pose );
479 mc_->recover_low( pose );
492 TR <<
"Finished Relaxing CDR H3 Loop" << std::endl;