30 #include <basic/options/keys/OptionKeys.hh>
34 #include <basic/Tracer.hh>
36 #include <utility/vector1.hh>
40 namespace frag_picker {
43 using namespace basic::options;
44 using namespace basic::options::OptionKeys;
47 "protocols.frag_picker.scores.ProfileScoreL1");
53 Size longest_vall_chunk) :
58 for (
Size i = 1; i <= query_profile->length(); ++i) {
83 trProfScoreL1.Trace <<
"caching profile score for " << chunk->get_pdb_id()
84 <<
" of size " << chunk->size() <<
" for fragment size "<<fl<<std::endl;
95 trProfScoreL1.Debug <<
"caching profile score for " << chunk->get_pdb_id()
96 <<
" of size " << chunk->size() << std::endl;
97 for (
Size i = 1; i <= size_q; ++i) {
99 for (
Size j = 1; j <= chunk->size(); ++j) {
102 for (
Size k = 1; k <= 20; k++){
103 score += std::abs(tmplt_prof_row[k] - query_prof_row[k]);
110 <<
"x" << chunk->size() << std::endl;
120 Real totalScore =
cache_[f->get_length()][f->get_first_index_in_query()][f->get_first_index_in_vall()];
122 totalScore /= (
Real) f->get_length();
124 empty_map->set_score_component(totalScore,
id_);
132 Real totalScore = 0.0;
133 for (
Size i = 1; i <= f->get_length(); i++) {
137 for (
Size k = 1; k <= 20; k++){
138 totalScore += std::abs(tmplt_prof_row[k] - query_prof_row[k]);
141 totalScore /= (
Real) f->get_length();
142 empty_map->set_score_component(totalScore,
id_);
152 Size len = picker->get_vall()->get_largest_chunk_size();
153 trProfScoreL1 <<
"Profile scoring method is: L1" << std::endl;
155 lowest_acceptable_value, use_lowest, picker->get_query_seq(),
156 picker->frag_sizes_,len);