INNER CODE UNIT · C
i
lh3/miniprot · align.c:28
i = j - 1;
}
}
}
static inline int32_t mp_score_ungapped(int32_t alen, const uint8_t *nseq, const char *aseq, int32_t asize, const int8_t *mat)
{
int32_t i, j, score = 0;
for (i = 0, j = 0; i < alen; i += 3, ++j) {
uint8_t nt_aa, aa_aa, codon = nseq[i]<<4 | nseq[i+1]<<2 | nseq[i+2];
nt_aa = nseq[i] > 3 || nseq[i+1] > 3 || nseq[i+2] > 3? ns_tab_aa20['X'] : ns_tab_codon[codon];
aa_aa = ns_tab_aa20[(uint8_t)aseq[j]];
score += mat[nt_aa * asize + aa_aa];
}
return score;
}
typedef struct {