17 #include <utility/tag/Tag.hh>
20 #include <basic/Tracer.hh>
26 #include <utility/vector0.hh>
27 #include <utility/vector1.hh>
33 #include <ObjexxFCL/format.hh>
37 namespace protein_interface_design{
40 static basic::Tracer
TR(
"protocols.protein_interface_design.filters.DesignableResiduesFilter" );
44 parent(
"DesignableResidues" ),
45 task_factory_( NULL ),
46 lower_threshold_( 0 ),
47 upper_threshold_( 1000 ),
109 TR<<
"passing."<<std::endl;
113 TR<<
"failing."<<std::endl;
126 total_residue = symm_info->num_independent_residues();
132 std::string select_design_pos(
"select design_positions, resi ");
133 TR<<
"Designable residues:"<<std::endl;
134 for(
core::Size resi=1; resi<=total_residue; ++resi ){
135 if( packer_task->being_designed( resi ) ) {
138 select_design_pos.append(ObjexxFCL::string_of(resi) +
"+");
141 TR<<
"Number of design positions: "<<design_pos<<std::endl;
142 TR<<select_design_pos<<std::endl;
146 std::string select_packable_pos(
"select repackable_positions, resi ");
147 TR<<
"Repackable residues:"<<std::endl;
148 for(
core::Size resi=1; resi<=total_residue; ++resi ){
149 if( packer_task->being_packed( resi ) ) {
152 select_packable_pos.append(ObjexxFCL::string_of(resi) +
"+");
155 TR<<
"Number of repackable positions: "<<packable_pos<<std::endl;
156 TR<<select_packable_pos<<std::endl;
159 return( design_pos );
161 return( packable_pos);
169 return( design_pos );
175 out<<
"DesignableResiduesFilter returns "<<
compute( pose )<<std::endl;
185 TR <<
"DesignableResiduesFilter"<<std::endl;
189 packable( tag->getOption<
bool >(
"packable",
false ) );
190 designable( tag->getOption<
bool >(
"designable",
true ) );
195 utility::lua::LuaObject
const & ,
196 utility::lua::LuaObject
const & tasks ) {
197 TR <<
"DesignableResiduesFilter"<<std::endl;
199 lower_threshold( def[
"lower_cutoff"] ? def[
"lower_cutoff"].to<core::Size>() : 0 );
200 upper_threshold( def[
"upper_cutoff"] ? def[
"upper_cutoff"].to<core::Size>() : 1000 );
201 packable( def[
"packable"] ? def[
"packable"].to<bool>() :
false );
202 designable( def[
"designable"] ? def[
"designable"].to<bool>() :
true );