39 #include <ObjexxFCL/string.functions.hh>
42 #include <utility/pointer/ReferenceCount.hh>
43 #include <utility/vector1.hh>
45 #include <utility/file/FileName.hh>
47 #include <basic/options/option.hh>
48 #include <basic/Tracer.hh>
56 #include <basic/options/option_macros.hh>
57 #include <basic/options/keys/evaluation.OptionKeys.gen.hh>
58 #include <utility/vector0.hh>
66 static basic::Tracer
tr(
"protocols.evalution.ExtraScoreEvaluatorCreator");
69 namespace simple_filters {
74 using namespace basic::options;
78 OPT( evaluation::extra_score );
79 OPT( evaluation::extra_score_column );
80 OPT( evaluation::extra_score_patch );
81 OPT( evaluation::extra_score_select );
87 using namespace basic::options;
88 using namespace basic::options::OptionKeys;
91 if ( option[ OptionKeys::evaluation::extra_score ].user() ) {
92 using namespace core::scoring;
95 if ( extra_scores.size() != extra_score_names.size() ) {
96 utility_exit_with_message(
"-extra_score: you need to provide as much extra_score_names as extra_scores! ");
98 for (
Size ct = 1; ct <= extra_scores.size(); ct ++ ) {
101 if ( option[ OptionKeys::evaluation::extra_score_patch ].user() ) {
102 if ( option[ OptionKeys::evaluation::extra_score_patch ]().
size() != extra_scores.size() ) {
103 utility_exit_with_message(
"-extra_score: you need to provide as much extra_score_patch(es) as \
104 extra_scores! use NOPATCH as placeholder");
106 patch = option[ OptionKeys::evaluation::extra_score_patch ]()[ ct ];
110 if ( patch !=
"NOPATCH" ) {
117 if ( (name ==
"score0") ||
118 (name ==
"score2") ||
119 (name ==
"score3") ||
120 (name ==
"score5") ) {
127 if ( option[ OptionKeys::evaluation::extra_score_select ].user() ) {
128 if ( option[ OptionKeys::evaluation::extra_score_select ]().
size() != extra_scores.size() ) {
129 utility_exit_with_message(
"-extra_score: you need to provide as much extra_score_patch(es) as \
130 extra_scores! use SELECT_ALL as placeholder");
132 select_string = option[ OptionKeys::evaluation::extra_score_select ]()[ ct ];
134 if ( select_string !=
"SELECT_ALL" ) {
135 std::ifstream is( select_string.c_str() );
138 utility_exit_with_message(
"[ERROR] Error opening RBSeg file '" + select_string +
"'" );
159 return "ExtraScoreEvaluatorCreator";