18 #include <utility/tag/Tag.hh>
24 #include <basic/Tracer.hh>
26 #include <utility/string_util.hh>
28 namespace simple_filters {
31 using namespace core::scoring;
33 static basic::Tracer
TR(
"protocols.simple_filters.ResidueCountFilter" );
43 protocols::filters::
Filter(
"ResidueCount" ),
44 max_residue_count_(0),
45 enable_max_residue_count_(false),
46 min_residue_count_(0),
47 enable_min_residue_count_(false)
53 protocols::filters::
Filter(
"ResidueCount" ),
54 max_residue_count_(src.max_residue_count_),
55 enable_max_residue_count_(src.enable_max_residue_count_),
56 min_residue_count_(src.min_residue_count_),
57 enable_min_residue_count_(src.enable_min_residue_count_),
58 res_types_( src.res_types_ )
82 if(tag->hasOption(
"max_residue_count")){
87 if(tag->hasOption(
"min_residue_count")){
92 if(tag->hasOption(
"residue_types")){
95 TR <<
"Residue types specified: " << res_type_vec << std::endl;
100 for (
core::Size i=1; i<=res_type_vec.size(); ++i ) {
103 utility_exit_with_message(
"An invalid residue type (" + res_type_vec[i] +
") was specified to the ResidueCount filter." );
130 out <<
"Residue Count: " <<
compute( pose ) <<std::endl;
181 for (
core::Size i=1; i<=res_types.size(); ++i ) {
233 using namespace core::chemical;
236 if ( !res_type_set.
has_name( res_type_input ) ) {