19 #include <utility/tag/Tag.hh>
23 #include <basic/Tracer.hh>
25 #include <utility/vector1.hh>
30 #include <utility/excn/Exceptions.hh>
34 namespace protein_interface_design {
39 using std::stringstream;
51 static basic::Tracer
TR(
"protocols.protein_interface_design.filters.SpecificResiduesNearInterfaceFilter" );
61 return "SpecificResiduesNearInterface";
68 parent(
"SpecificResiduesNearInterfaceFilter" ),
75 parent(
"SpecificResiduesNearInterfaceFilter" ),
76 task_factory_(src.task_factory_),
77 rb_jump_(src.rb_jump_)
113 if(!tag->hasOption(
"task_operations" )){
114 throw utility::excn::EXCN_RosettaScriptsOption(
115 "Please specify a task operation for the residues that should be near the other chain.");
136 utility_exit_with_message(
137 "Please specify a task operation for the residues that should be near the other chain.");
141 stringstream error_msg;
143 <<
"You have specied jump number '" <<
rb_jump_ <<
"', "
145 <<
"chains." << endl;
146 utility_exit_with_message(error_msg.str());
155 bool all_at_interface(
true);
156 for(
Size residue_number=1;
158 if(!relevant_residues[residue_number])
continue;
161 all_at_interface =
false;
166 return all_at_interface;
183 <<
"SpecificResiduesNearInterfaceFilter returns "
184 << (
compute(pose) ?
"true" :
"false") << endl;
192 return(static_cast<Real>(
compute(pose)));