22 #include <basic/options/option.hh>
31 #include <basic/Tracer.hh>
35 #include <basic/options/keys/enzdes.OptionKeys.gen.hh>
36 #include <basic/options/keys/in.OptionKeys.gen.hh>
37 #include <utility/vector0.hh>
38 #include <utility/vector1.hh>
43 static basic::Tracer
tr(
"protocols.enzdes.EnzdesFixBBProtocol");
47 start_from_random_rb_conf_( basic::options::option[basic::options::OptionKeys::enzdes::start_from_random_rb_conf] )
58 using namespace protocols::moves;
59 using namespace core::pack::task;
62 tr.Info <<
"starting apply function..." << std::endl;
65 if( ! basic::options::option[basic::options::OptionKeys::in::file::native].user() ){
68 (*scorefxn_)( *natpose );
73 if( basic::options::option[basic::options::OptionKeys::enzdes::cstfile].user() ){
80 ranconf.
apply( pose );
86 tr.Info <<
"Done setting up the task and constraints... " << std::endl;
91 if(basic::options::option[basic::options::OptionKeys::enzdes::cst_opt]){
93 tr.Info <<
"starting cst_opt minimization..." << std::endl;
96 tr.Info <<
"done cst_opt minimization." << std::endl;
100 if(basic::options::option[basic::options::OptionKeys::enzdes::cst_predock])
105 predock->apply(pose);
106 (*scorefxn_)( pose );
110 if(basic::options::option[basic::options::OptionKeys::enzdes::cst_design]){
113 tr.Info <<
"starting cst_design, " << basic::options::option[basic::options::OptionKeys::enzdes::design_min_cycles] <<
" cycles of design/minimization ... " << std::endl;
115 core::Size design_min_cycles = basic::options::option[basic::options::OptionKeys::enzdes::design_min_cycles];
120 enzdes_pack( pose, design_pack_task,
scorefxn_, design_min_cycles, basic::options::option[basic::options::OptionKeys::enzdes::cst_min],
false,
true );
124 if( basic::options::option[basic::options::OptionKeys::enzdes::cst_min] ){
129 (*scorefxn_)( pose );
133 else if( basic::options::option[basic::options::OptionKeys::enzdes::cst_min] ){
139 (*scorefxn_)( pose );
142 if( basic::options::option[basic::options::OptionKeys::enzdes::make_consensus_mutations] ){
148 consensus_mover.
apply( pose );
155 if( ! basic::options::option[basic::options::OptionKeys::enzdes::no_unconstrained_repack]){
158 (*scorefxn_)( pose );
160 tr.Info <<
"Starting after design unconstrained repack/minimization... " << std::endl;
162 enzdes_repack->apply( pose );
164 if(basic::options::option[basic::options::OptionKeys::enzdes::cst_min])
cst_minimize(pose, repack_task);
168 tr.Info <<
"Finished after design unconstrained repack/minimization... " << std::endl;
170 (*scorefxn_)( pose );
174 if(basic::options::option[basic::options::OptionKeys::enzdes::cst_dock] ){
182 tr.Info <<
"Starting ligand docking... " << std::endl;
186 dock_lig_protocol->apply( pose );
189 (*scorefxn_)( pose );
199 return "EnzdesFixBBProtocol";
205 using namespace basic::options;
207 option.add_relevant( OptionKeys::enzdes::cstfile );
208 option.add_relevant( OptionKeys::enzdes::cst_opt );
209 option.add_relevant( OptionKeys::enzdes::cst_predock );
213 option.add_relevant( OptionKeys::enzdes::cst_design );
214 option.add_relevant( OptionKeys::enzdes::design_min_cycles );
215 option.add_relevant( OptionKeys::enzdes::no_unconstrained_repack );
217 option.add_relevant( OptionKeys::in::file::pssm);