37 #include <basic/Tracer.hh>
41 #include <utility/tag/Tag.hh>
44 #include <utility/vector0.hh>
45 #include <utility/vector1.hh>
50 static basic::Tracer
tr(
"protocols.fldsgn.filters.CoreDunbrackFilter");
59 filter_value_( 100.0 ),
67 filter_value_( value ),
76 filter_value_( rval.filter_value_ ),
78 fa_dun_danger_( rval.fa_dun_danger_ )
104 out <<
"CoreDunbrack: " <<
compute( pose ) << std::endl;
116 for (
Size j = 1; j<=5; ++j ) {
118 atom_map.
set( atom,
true );
123 Real pore_radius( 2.0 );
129 Pose copy_pose( pose );
131 (*sfxn)( copy_pose );
133 Real asa_core( 40.0 );
134 Real frustration( 0.0 );
135 Size num_frustrated_residue( 0 );
139 if( rsd_sasa[ i ] < asa_core ) {
150 tr <<
"CAUTION high dubrack score " << i <<
" " <<
name_from_aa( pose.
aa( i ) ) <<
" " << rsd_sasa[ i ] <<
" "
151 << fa_dun << std::endl;
152 num_frustrated_residue ++;
164 tr <<
"Frustration: " << frustration <<
" ,num_hydrophobic_in_core: " << rnum_core
165 <<
"average: " << ave <<
" ,num_frustrated_residue: " << num_frustrated_residue << std::endl;
168 if(
type_ ==
"average" ) {
170 }
else if(
type_ ==
"num_frustrated_residue" ) {
171 value = num_frustrated_residue;
172 }
else if(
type_ ==
"total" ) {
175 tr <<
"improper type specification " <<
type_ << std::endl;
176 runtime_assert(
false );
189 tr <<
"Successfully filtered: " <<
type_ <<
" " << value << std::endl;
192 tr <<
"Filter failed current/threshold=" << value <<
"/" <<
filter_value_ << std::endl;
207 type_ = tag->getOption<
String>(
"type",
"average" );
211 if(
type_ ==
"average" ) {
212 }
else if (
type_ ==
"num_frustrated_residue" ) {
213 }
else if (
type_ ==
"total" ) {
215 tr <<
"invalid type specification, slect from average, num_frustrated_residue, or total" << std::endl;
216 runtime_assert(
false );