diff --git a/src/align/alt_hsp.cpp b/src/align/alt_hsp.cpp index 3278511b..255b6ef8 100644 --- a/src/align/alt_hsp.cpp +++ b/src/align/alt_hsp.cpp @@ -38,7 +38,7 @@ struct ActiveTarget { masked_seq[h.frame] = dst.ptr(i++); } Letter* seq = masked_seq[h.frame]; - std::fill(seq + h.subject_range.begin_, seq + h.subject_range.end_, MASK_LETTER); + std::fill(seq + h.subject_range.begin_, seq + h.subject_range.end_, SUPER_HARD_MASK); } } Sequence masked(int32_t context) const { @@ -85,7 +85,7 @@ static TargetVec recompute_alt_hsps(const Sequence* query_seq, const int query_s ActiveTarget& t = targets[hsp.front().swipe_target]; list& l = t.match->hsp; l.splice(l.end(), hsp, hsp.begin()); - std::fill(t.masked_seq[context] + l.back().subject_range.begin_, t.masked_seq[context] + l.back().subject_range.end_, MASK_LETTER); + std::fill(t.masked_seq[context] + l.back().subject_range.begin_, t.masked_seq[context] + l.back().subject_range.end_, SUPER_HARD_MASK); t.active |= 1 << context; } } diff --git a/src/util/sequence/sequence.cpp b/src/util/sequence/sequence.cpp index f87ca247..cec7600a 100644 --- a/src/util/sequence/sequence.cpp +++ b/src/util/sequence/sequence.cpp @@ -96,7 +96,11 @@ void get_title_def(const std::string& s, std::string& title, std::string& def) } bool is_fully_masked(const Sequence& seq) { - return std::count(seq.data(), seq.end(), MASK_LETTER) == seq.length(); + Loc n = 0; + for (const Letter* p = seq.data(); p < seq.end(); ++p) + if (*p >= TRUE_AA) + ++n; + return n == seq.length(); } }} \ No newline at end of file