44 #include <basic/options/keys/relax.OptionKeys.gen.hh>
45 #include <basic/options/keys/score.OptionKeys.gen.hh>
46 #include <basic/options/option.hh>
49 #include <basic/Tracer.hh>
50 #include <utility/file/FileName.hh>
51 #include <utility/file/file_sys_util.hh>
52 #include <utility/io/izstream.hh>
53 #include <utility/vector1.hh>
54 #include <basic/database/open.hh>
56 static basic::Tracer
TR(
"protocols.relax.CentroidRelax");
59 using namespace basic::options;
60 using namespace core::scoring;
61 using namespace protocols::simple_moves;
62 using namespace core::pack::task;
63 using namespace protocols::moves;
72 string def_score = option [OptionKeys::relax::centroid::weights]();
82 string def_score = option [OptionKeys::relax::centroid::weights]();
108 return "CentroidRelax";
128 set_rounds(option [OptionKeys::relax::default_repeats]());
129 set_ramp_vdw(option [OptionKeys::relax::centroid::ramp_vdw]());
130 set_ramp_rama(option [OptionKeys::relax::centroid::ramp_rama]());
135 do_final_repack(option [OptionKeys::relax::centroid::do_final_repack]());
158 if (rama2b_weight==0){
195 TR<<
"Increasing BB VDW Radii"<<std::endl;
217 string def_score = option [OptionKeys::relax::centroid::weights]();
229 string const fname = option [ OptionKeys::relax::centroid::parameters]();
230 utility::io::izstream param_stream;
231 basic::database::open(param_stream, fname);
234 while (! param_stream.eof() ){
236 param_stream >> vdw_ramp >> rama_ramp >> min >> cst;
243 param_stream.close();
286 bool passed_centroid;
288 TR <<
"FullAtom Score::"<<std::endl;
296 passed_centroid =
false;
298 TR <<
"Centroid Score::"<<std::endl;
304 passed_centroid =
true;
324 TR <<
"Running BASIC Relax" <<std::endl;
326 minmover->apply(pose);
327 TR <<
"Cen Score: "<<(*cen_scorefxn_)(pose)<<std::endl;
328 cen_mc->boltzmann(pose);
331 cen_mc->recover_low(pose);
334 TR <<
"Starting RAMPED Protocol"<<std::endl;
336 TR <<
"Total Rounds : " <<
rounds_ <<std::endl;
340 TR <<
"Starting Round "<<i<<std::endl;
346 TR<<
"Ramp "<<i2<<std::endl;
358 minmover->apply(pose);
359 TR << (*cen_scorefxn_)(pose) << std::endl;
362 TR <<
"Cen Energy with full weights :"<<(*cen_scorefxn_)(pose)<<std::endl;
364 cen_mc->boltzmann(pose);
369 cen_mc->recover_low(pose);
374 if (!passed_centroid){
377 recover_sc->apply(pose);
380 TR <<
"Repacking Sidechains"<<std::endl;
382 task->restrict_to_repacking();
383 task->temporarily_fix_everything();
386 task->temporarily_set_pack_residue(i,
true);
394 TR <<
"Centroid relax complete. Returning all-atom Structure."<<std::endl;
399 TR <<
"Centroid relax complete. Returning centroid Structure." <<std::endl;