29 #include <utility/exit.hh>
30 #include <basic/Tracer.hh>
35 #include <utility/tag/Tag.hh>
38 #include <boost/foreach.hpp>
42 #include <utility/vector0.hh>
43 #include <utility/excn/Exceptions.hh>
44 #include <utility/vector1.hh>
46 #define foreach BOOST_FOREACH
55 namespace ligand_docking {
57 static basic::Tracer
MoveMapBuilder_tracer(
"protocols.ligand_docking.ligand_options.MoveMapBuilder", basic::t_debug);
64 foreach(LigandAreas::value_type ligand_area_pair, ligand_areas){
65 char const & chain= ligand_area_pair.first;
68 movemap->set_jump(jump_id,
true);
75 sc_interface_builder_(NULL),
76 bb_interface_builder_(NULL),
77 minimize_water_(false)
82 sc_interface_builder_(that.sc_interface_builder_),
83 bb_interface_builder_(that.sc_interface_builder_),
84 minimize_water_(that.minimize_water_)
95 if ( tag->hasOption(
"sc_interface") ){
99 if ( tag->hasOption(
"bb_interface") ){
104 if ( tag->hasOption(
"minimize_water") ){
105 if(tag->getOption<
std::string>(
"minimize_water") ==
"true")
107 else if(tag->getOption<
std::string>(
"minimize_water") !=
"false")
108 throw utility::excn::EXCN_RosettaScriptsOption(
"'minimize_water' option is true or false");
130 movemap->set_jump( e.
label(), true );
131 MoveMapBuilder_tracer <<
"Minimize water jump " << e.
label() <<
" to residue " << i <<
" " << pose.
residue_type(i).
name3() << std::endl;
155 MoveMapBuilder_tracer.Debug<<
"moveMap interface: "<< side_chain_interface << std::endl;
156 for(
core::Size i=1; i <= side_chain_interface.size(); ++i) {
158 movemap->set_chi(i,
true);
165 LigandAreas::const_iterator ligand_area= ligand_areas.find(chain);
166 if(ligand_area == ligand_areas.end())
continue;
167 if(ligand_area->second->minimize_ligand_ > 0)
continue;
171 for(; begin <=
end; ++begin) movemap->set_chi(begin,
false);
183 for(
core::Size i=1; i <= bb_interface.size(); ++i) {
187 && movemap->get_chi(i)
189 movemap->set_bb(i,
true);