INNER CODE UNIT · C
ns_opt
lh3/miniprot · align.c:69
ns_opt_t ns_opt = *ns_opt0;
ns_rst_t rst;
ns_opt.flag |= NS_F_CIGAR;
ns_rst_init(&rst);
ns_global_gs16b(km, (const char*)nseq, nlen, aseq, alen, &ns_opt, ss, &rst);
//printf("%d\t%d\t%d\t%d\n", nlen, alen, rst.score, rst.n_cigar);
for (i = 0; i < rst.n_cigar; ++i)
cigar->c = ns_push_cigar(km, &cigar->n, &cigar->m, cigar->c, rst.cigar[i]&0xf, rst.cigar[i]>>4);
kfree(km, rst.cigar);
return rst.score;
}
}
static void mp_extra_cal(mp_reg1_t *r, const mp_mapopt_t *opt, const uint8_t *nt, int32_t l_nt, const char *aa, int32_t qlen, int32_t has_spsc)
{
int32_t k, i, j, l, nl = 0, al = 0, ft, n_intron, has_stop;
int32_t blen0, n_iden0, phase0, qs0, n_fs0, n_stop0, score0;
int64_t vs0;