31 #include <basic/options/keys/OptionKeys.hh>
34 #include <basic/prof.hh>
35 #include <basic/Tracer.hh>
38 namespace frag_picker {
41 using namespace basic::options;
42 using namespace basic::options::OptionKeys;
45 "protocols.frag_picker.scores.ProfileScoreStructL1");
51 Size longest_vall_chunk) :
53 "ProfileScoreStructL1") {
56 for (
Size i = 1; i <= query_profile->length(); ++i) {
81 trProfScoreL1.Debug <<
"caching profile score for " << chunk->get_pdb_id()
82 <<
" of size " << chunk->size() <<
" for fragment size "<<fl<<std::endl;
93 trProfScoreL1.Debug <<
"caching profile score for " << chunk->get_pdb_id()
94 <<
" of size " << chunk->size() << std::endl;
95 for (
Size i = 1; i <= size_q; ++i) {
97 for (
Size j = 1; j <= chunk->size(); ++j) {
100 for (
Size k = 1; k <= 20; k++){
101 score += std::abs(tmplt_prof_row[k] - query_prof_row[k]);
108 <<
"x" << chunk->size() << std::endl;
118 Real totalScore =
cache_[f->get_length()][f->get_first_index_in_query()][f->get_first_index_in_vall()];
120 totalScore /= (
Real) f->get_length();
122 empty_map->set_score_component(totalScore,
id_);
130 Real totalScore = 0.0;
131 for (
Size i = 1; i <= f->get_length(); i++) {
134 utility::vector1<Real> tmplt_prof_row = chunk->at(f->get_first_index_in_vall() + i - 1)->profile_struct();
135 for (
Size k = 1; k <= 20; k++){
136 totalScore += std::abs(tmplt_prof_row[k] - query_prof_row[k]);
139 totalScore /= (
Real) f->get_length();
140 empty_map->set_score_component(totalScore,
id_);
150 Size len = picker->get_vall()->get_largest_chunk_size();
151 trProfScoreL1 <<
"Profile scoring method is: L1" << std::endl;
153 lowest_acceptable_value, use_lowest, picker->get_query_seq(),
154 picker->frag_sizes_,len);