20 #include <boost/uuid/uuid.hpp>
30 #include <basic/options/option.hh>
31 #include <basic/options/keys/out.OptionKeys.gen.hh>
33 #include <utility/sql_database/DatabaseSessionManager.hh>
34 #include <utility/vector1.hh>
35 #include <utility/exit.hh>
36 #include <utility/string_util.hh>
38 #include <basic/Tracer.hh>
47 #include <utility/excn/EXCN_Base.hh>
51 basic::Tracer
TR(
"protocols.features.DatabaseFilters");
61 score_function->get_sub_score(pose,relevant_residues,emap);
62 return energies.weights()[score_type] * emap[score_type];
66 if( ! basic::options::option[basic::options::OptionKeys::out::database_filter].user()){
70 basic::options::option[basic::options::OptionKeys::out::database_filter];
81 utility_exit_with_message(type+
" is not a valid Database Filter name");
87 utility::sql_database::sessionOP db_session,
101 boost::uuids::uuid struct_id;
108 }
catch(utility::excn::EXCN_Base &)
110 TR <<
"no score type term, looking in the job data map" <<std::endl;
116 boost::uuids::uuid struct_id_to_remove;
118 if(score_type_id != 0)
133 protocols::jd2::Job::StringRealPairs::const_iterator it(job->output_string_real_pairs_begin());
134 for(;it != job->output_string_real_pairs_end();++it)
136 if(it->first == score_term)
138 current_model_score = it->second;
150 if(current_model_score < cutoff_score )
165 top_count_of_each_input_()
167 if(arguments.size() != 2){
168 utility_exit_with_message(
"TopPercentOfEachInput option takes 2 arguments");
173 core::Size n_structs = basic::options::option[basic::options::OptionKeys::out::nstruct];
181 utility::sql_database::sessionOP db_session,
190 if(arguments.size() != 2){
191 utility_exit_with_message(
"TopPercentOfAllInputs option takes 2 arguments");
204 utility::sql_database::sessionOP db_session,
218 if(arguments.size() != 2){
219 utility_exit_with_message(
"TopCountOfEachInput option takes 2 arguments");
228 utility::sql_database::sessionOP db_session,
243 if(arguments.size() != 2){
244 utility_exit_with_message(
"TopCountOfAllInputs option takes 2 arguments");
253 utility::sql_database::sessionOP db_session,