21 #include <basic/options/option.hh>
25 #include <basic/MetricValue.hh>
34 #include <basic/Tracer.hh>
39 #include <basic/options/keys/enzdes.OptionKeys.gen.hh>
42 #include <utility/vector1.hh>
46 static basic::Tracer
tr(
"protocols.enzdes.DesignVsNativeComparison");
61 utility::vector1< std::pair< std::string, std::string > >
const & calculators,
69 std::map< std::string, core::pose::PoseOP >::iterator map_it =
native_poses_.find( pdb_code );
73 std::string native_path = basic::options::option[basic::options::OptionKeys::enzdes::compare_native].value();
75 std::string native_filename = native_path + pdb_code +
".pdb";
84 (*scorefxn)(*new_native);
86 native_poses_.insert( std::pair< std::string, core::pose::PoseOP >( pdb_code, new_native ) );
94 core::Real native_totalE = native->energies().total_energies().dot( native->energies().weights() );
105 core::Real pose_totalE = (*scorefxn)(*pureprotpose );
111 basic::MetricValue< core::Real > mval_real;
112 basic::MetricValue< core::Size > mval_size;
116 for(
utility::vector1< std::pair< std::string, std::string > >::const_iterator calc_it = calculators.begin();
117 calc_it != calculators.end(); ++calc_it ){
120 if( calc_it->first ==
"hbond_pm" || calc_it->first ==
"burunsat_pm" || calc_it->first ==
"NLconts_pm" || calc_it->second ==
"total_pos_charges" || calc_it->second ==
"total_neg_charges" ){
121 pureprotpose->metric( calc_it->first, calc_it->second, mval_size );
122 poseval = mval_size.value();
124 native->metric( calc_it->first, calc_it->second, mval_size );
125 nativeval = mval_size.value();
128 pureprotpose->metric( calc_it->first, calc_it->second, mval_real );
129 poseval = mval_real.value();
131 native->metric( calc_it->first, calc_it->second, mval_real );
132 nativeval = mval_real.value();
140 if( calc_it->first ==
"charges_pm" ) se_name =
"NaCo_" + calc_it->second;
141 int width = std::max( 10, (
int) se_name.length() + 3 );