INNER CODE UNIT · C
score
lh3/seqtk · seqtk.c:1090
score = 0; e = max = -1;
for (i = k; i < ks->seq.l && score >= 0; ++i) { /* forward */
if (seq_nt16_table[(int)ks->seq.s[i]] == 15) ++score;
else score -= cutN_nonN_penalty;
if (score > max) max = score, e = i;
}
score = 0; b = max = -1;
for (i = e; i >= 0 && score >= 0; --i) { /* backward */
if (seq_nt16_table[(int)ks->seq.s[i]] == 15) ++score;
else score -= cutN_nonN_penalty;
if (score > max) max = score, b = i;
}
if (e + 1 - b >= cutN_min_N_tract) {
*begin = b;
*end = e + 1;
return *end;
}
k = e + 1;