21 #include <basic/options/keys/edensity.OptionKeys.gen.hh>
22 #include <basic/options/keys/in.OptionKeys.gen.hh>
23 #include <basic/options/keys/loops.OptionKeys.gen.hh>
24 #include <basic/options/keys/out.OptionKeys.gen.hh>
25 #include <basic/options/option.hh>
27 #include <basic/Tracer.hh>
57 #include <utility/vector1.hh>
58 #include <utility/exit.hh>
60 #include <numeric/random/random.hh>
62 #if defined(WIN32) || defined(__CYGWIN__)
71 namespace loop_build {
75 basic::Tracer
TR(
"protocols.loop_build.LoopBuild");
77 using namespace basic::options;
78 using namespace basic::options::OptionKeys;
79 using namespace core::scoring;
80 using namespace core::scoring::constraints;
81 using namespace core::chemical;
82 using namespace core::id;
83 using namespace jobdist;
87 std::string remodel ( option[ OptionKeys::loops::remodel ]() );
88 std::string const intermedrelax( option[ OptionKeys::loops::intermedrelax ]() );
89 std::string const refine ( option[ OptionKeys::loops::refine ]() );
90 std::string const relax ( option[ OptionKeys::loops::relax ]() );
93 TR <<
"==== Loop protocol: ================================================="
95 TR <<
" remodel " << remodel << std::endl;
96 TR <<
" intermedrelax " << intermedrelax << std::endl;
97 TR <<
" refine " << refine << std::endl;
98 TR <<
" relax " << relax << std::endl;
104 if ( remodel ==
"perturb_ccd" || remodel ==
"quick_ccd" ||
105 remodel ==
"quick_ccd_moves" || remodel ==
"old_loop_relax" ||
106 remodel ==
"sdwindow" ||
107 option[ OptionKeys::loops::build_initial ].value() ||
108 ( option[ OptionKeys::loops::frag_files ].user()
109 && (refine ==
"refine_ccd" || intermedrelax !=
"no" || relax !=
"no")
120 looprelax_mover.relax( relax );
121 looprelax_mover.refine( refine );
122 looprelax_mover.remodel( remodel );
123 looprelax_mover.intermedrelax( intermedrelax );