20 #include <basic/Tracer.hh>
28 #include <utility/tag/Tag.hh>
30 #include <utility/exit.hh>
31 #include <ObjexxFCL/FArray1D.hh>
32 #include <ObjexxFCL/FArray1D.fwd.hh>
33 #include <ObjexxFCL/format.hh>
39 #include <utility/excn/Exceptions.hh>
43 namespace simple_filters {
46 using namespace core::scoring;
47 using namespace ObjexxFCL::fmt;
49 static basic::Tracer
TR(
"protocols.simple_filters.ResidueSetChainEnergyFilter" );
59 protocols::filters::
Filter(
"ResidueSetChainEnergy" )
70 protocols::filters::
Filter(
"ResidueSetChainEnergy" )
84 using namespace core::scoring;
91 if( ! tag->hasOption(
"threshold" ) )
throw utility::excn::EXCN_RosettaScriptsOption(
"Must specify 'threshold' for ResidueSetChainEnergyFilter.");
105 TR<<
"passing." << std::endl;
109 TR<<
"failing."<<std::endl;
129 using namespace core::pose;
130 using namespace core::scoring;
133 Pose in_pose( pose );
159 for(
core::Size i_res_vec = 1; i_res_vec <= res_set_vec.size(); ++i_res_vec ){
160 Size iseq1( res_set_vec[ i_res_vec ] );
166 EnergyEdge * edge( static_cast< EnergyEdge *> ( *el_iter ) );
172 if( static_cast< core::Size >( in_pose.
chain( iseq2 ) ) !=
chain_ )
continue;
185 core::Real const weighted_score( weight * score );
186 return( weighted_score );