28 #include <basic/prof.hh>
29 #include <basic/Tracer.hh>
30 #include <basic/options/option.hh>
31 #include <basic/options/keys/antibody.OptionKeys.gen.hh>
32 #include <basic/options/keys/constraints.OptionKeys.gen.hh>
33 #include <basic/options/keys/in.OptionKeys.gen.hh>
34 #include <basic/options/keys/out.OptionKeys.gen.hh>
35 #include <basic/options/keys/run.OptionKeys.gen.hh>
54 #include <ObjexxFCL/format.hh>
55 #include <ObjexxFCL/string.functions.hh>
56 using namespace ObjexxFCL::fmt;
64 static basic::Tracer
TR(
"protocols.antibody2.GraftCDRLoopsProtocol");
71 GraftCDRLoopsProtocol::GraftCDRLoopsProtocol() : Mover() {
86 Mover::type(
"GraftCDRLoopsProtocol" );
99 TR <<
"Setting up default settings to all FALSE" << std::endl;
121 using namespace basic::options;
123 option.add_relevant( OptionKeys::antibody::camelid );
124 option.add_relevant( OptionKeys::antibody::camelid_constraints );
125 option.add_relevant( OptionKeys::antibody::graft_l1 );
126 option.add_relevant( OptionKeys::antibody::graft_l2 );
127 option.add_relevant( OptionKeys::antibody::graft_l3 );
128 option.add_relevant( OptionKeys::antibody::graft_h1 );
129 option.add_relevant( OptionKeys::antibody::graft_h2 );
130 option.add_relevant( OptionKeys::antibody::graft_h3 );
131 option.add_relevant( OptionKeys::antibody::h3_no_stem_graft );
132 option.add_relevant( OptionKeys::constraints::cst_weight );
133 option.add_relevant( OptionKeys::run::benchmark );
134 option.add_relevant( OptionKeys::in::file::native );
144 using namespace basic::options;
145 using namespace basic::options::OptionKeys;
146 TR <<
"Reading Options" << std::endl;
148 if ( option[ OptionKeys::antibody::graft_l1 ].user() )
149 set_graft_l1( option[ OptionKeys::antibody::graft_l1 ]() );
150 if ( option[ OptionKeys::antibody::graft_l2 ].user() )
151 set_graft_l2( option[ OptionKeys::antibody::graft_l2 ]() );
152 if ( option[ OptionKeys::antibody::graft_l3 ].user() )
153 set_graft_l3( option[ OptionKeys::antibody::graft_l3 ]() );
154 if ( option[ OptionKeys::antibody::graft_h1 ].user() )
155 set_graft_h1( option[ OptionKeys::antibody::graft_h1 ]() );
156 if ( option[ OptionKeys::antibody::graft_h2 ].user() )
157 set_graft_h2( option[ OptionKeys::antibody::graft_h2 ]() );
158 if ( option[ OptionKeys::antibody::graft_h3 ].user() )
159 set_graft_h3( option[ OptionKeys::antibody::graft_h3 ]() );
160 if ( option[ OptionKeys::antibody::h3_no_stem_graft ].user() )
162 if ( option[ OptionKeys::antibody::packonly_after_graft ].user() )
164 if ( option[ OptionKeys::antibody::camelid ].user() )
165 set_camelid( option[ OptionKeys::antibody::camelid ]() );
166 if ( option[ OptionKeys::antibody::camelid_constraints ].user() )
168 if ( option[ OptionKeys::run::benchmark ].user() )
170 if ( option[ OptionKeys::constraints::cst_weight ].user() )
171 set_cst_weight( option[ OptionKeys::constraints::cst_weight ]() );
181 if ( option[ OptionKeys::in::file::native ].user() ) {
235 TR <<
"Danger Will Robinson! Native is an impostor!" << std::endl;
236 TR <<
" 'native_pose' is just a copy of the 'input_pose' " << std::endl;
237 TR <<
" since you didn't sepcifiy the native pdb name"<<std::endl;
256 TR<<
" Checking AntibodyInfo object: "<<std::endl<<*
ab_info_<<std::endl<<std::endl;
257 TR<<
" Checking Ab_TemplateInfo object: "<<std::endl<<*
ab_t_info_<<std::endl<<std::endl;
260 TR <<
"Creating movers for " <<
ab_info_->get_CDR_Name(it) << std::endl;
261 TR <<
" start (chothia): "<<
ab_info_->get_CDR_loop(it).start()<<std::endl;
262 TR <<
" stop (chothia): "<<
ab_info_->get_CDR_loop(it).stop()<<std::endl;
266 graft_one_cdr->enable_benchmark_mode(
benchmark_ );
285 cdrs_min_pack_min -> set_task_factory(
tf_);
287 cdrs_min_pack_min->set_sc_min(
sc_min_);
288 cdrs_min_pack_min->set_sc_min(
rt_min_);
302 using namespace chemical;
304 using namespace scoring;
305 using namespace core::scoring::constraints;
306 using namespace protocols::moves;
309 TR<<
" in the apply function "<<std::endl;
332 for(
Size i = 1; i <= nres; i++ ) {
333 secondary_struct_storage.push_back( frame_pose.
secstruct( i ) );
340 for(
Size i = 1; i <= nres; i++ ) frame_pose.
set_secstruct( i, secondary_struct_storage[ i ] );
345 else native_pose = frame_pose;
363 return "GraftCDRLoopsProtocol";
372 Size H1_Cys(0), H3_Cys(0);
374 if( pose.
residue( pose.
pdb_info()->pdb2pose(
'H',32 ) ).name3() ==
"CYS" )
375 H1_Cys = pose.
pdb_info()->pdb2pose(
'H', 32 );
376 else if( pose.
residue( pose.
pdb_info()->pdb2pose(
'H',33 ) ).name3() ==
"CYS" )
377 H1_Cys = pose.
pdb_info()->pdb2pose(
'H', 33 );
383 if( ( H1_Cys != 0 ) && ( H3_Cys != 0 ) )
384 TR <<
"CONSTRAINTS: "<<
"AtomPair CA " << H1_Cys <<
" CA " << H3_Cys
385 <<
" BOUNDED 4.0 6.1 0.6 BOND; mean 5.6 sd 0.6" << std::endl;
389 Size hfr_46(0), h3_closest(0);
390 hfr_46 = pose.
pdb_info()->pdb2pose(
'H', 46 );
392 if( h3_closest != 0 )
393 TR <<
"CONSTRAINTS: " <<
"AtomPair CA " << hfr_46 <<
" CA " << h3_closest
394 <<
" BOUNDED 6.5 9.1 0.7 DISTANCE; mean 8.0 sd 0.7" << std::endl;
411 using namespace ObjexxFCL::fmt;
415 out <<
"////////////////////////////////////////////////////////////////////////////////" << std::endl;
416 out << line_marker <<
A( 47,
"Rosetta 3 Antibody Modeler" ) << space( 27 ) << line_marker << std::endl;
417 out << line_marker <<
A( 47,
" CDR Assembling " ) << space( 27 ) << line_marker << std::endl;
418 out << line_marker << space( 74 ) << line_marker << std::endl;
419 out << line_marker <<
" Graft_l1: " << ab_m_2.
graft_l1_<<std::endl;
420 out << line_marker <<
" Graft_l2: " << ab_m_2.
graft_l2_<<std::endl;
421 out << line_marker <<
" Graft_l3: " << ab_m_2.
graft_l3_<<std::endl;
422 out << line_marker <<
" Graft_h1: " << ab_m_2.
graft_h1_<<std::endl;
423 out << line_marker <<
" Graft_h2: " << ab_m_2.
graft_h2_<<std::endl;
424 out << line_marker <<
" Graft_h3: " << ab_m_2.
graft_h3_<<std::endl;
425 out << line_marker <<
" camelid: " << ab_m_2.
camelid_ <<std::endl;
426 out <<
"////////////////////////////////////////////////////////////////////////////////" << std::endl;