INNER CODE UNIT · C
codon
lh3/miniprot · align.c:37
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 {
int32_t n, m;
uint32_t *c;
} mp_cigar_t;
static inline void mp_map2ns_opt(const mp_mapopt_t *mo, ns_opt_t *no)
{
int32_t i;
ns_opt_init(no);
no->go = mo->go, no->ge = mo->ge, no->io = mo->io, no->fs = mo->fs, no->xdrop = mo->xdrop, no->sc = mo->mat;