25 #include <basic/Tracer.hh>
26 #include <basic/options/option.hh>
27 #include <basic/options/keys/in.OptionKeys.gen.hh>
36 #include <utility/exit.hh>
45 static basic::Tracer
TR(
"protocols.antibody2.ModelCDRH3");
52 ModelCDRH3::ModelCDRH3() : Mover(){}
81 Mover::type(
"ModelCDRH3" );
144 TR <<
"Applying CDR H3 modeler" << std::endl;
146 using namespace core::pose;
147 using namespace core::scoring;
148 using namespace protocols::moves;
158 Size framework_loop_size = (framework_loop_end - framework_loop_begin) + 1;
160 loops::Loop cdr_h3( framework_loop_begin, framework_loop_end, cutpoint, 0,
true );
164 if( framework_loop_size <= 6 ) {
166 TR<<
"loop_size <= 6, AUTOMATICALLY TURNING OFF THE C_TERMINAL INSERT"<<std::endl;
171 input_loop = trimmed_cdr_h3;
189 to_centroid.
apply( pose_in );
216 pass_loops->add_loop( input_loop );
217 pass_loops->set_extended(
true);
222 if ( !
remodel_mover_ ) { utility_exit_with_message(
"Error: no remodel mover defined!" );}
228 runtime_assert( frag_libs.size() > 0 );
229 for (
Size i = 1; i <= frag_libs.size(); ++i ) {
245 Size unaligned_cdr_loop_begin(0), unaligned_cdr_loop_end(0);
246 std::string const path = basic::options::option[ basic::options::OptionKeys::in::path::path ]()[1];
250 unaligned_cdr_loop_end -= 1 ;
252 if(framework_loop_size > 4){
253 pose_in.
set_psi (framework_loop_begin - 1,
hfr_pose_.
psi( unaligned_cdr_loop_begin - 1 ) );
261 bool closed_cutpoints(
false );
265 while( !closed_cutpoints && cycle <
max_cycle_) {
284 TR <<
"Finished Modeling Centroid CDR H3 loop" << std::endl;
299 to_full_atom.
apply( pose_in );
304 allow_chi_copy[ii] =
false;
308 recover_sidechains.
apply( pose_in );
310 TR <<
"Finished applying CDR H3 modeler" << std::endl;