INNER CODE UNIT · C
ss
lh3/miniprot · align.c:272
ss = Kmalloc(km, uint8_t, ae - as);
l_ss = mp_ntseq_spsc_get_by_v(mi->nt, r->vid, as, ae, ss);
assert(l_ss = l_nt);
}
vs0 = r->vs;
mp_map2ns_opt(opt, &ns_opt0);
//fprintf(stderr, "X\t%s\t%c\t%ld\t%ld\n", mi->nt->ctg[r->vid>>1].name, "+-"[r->vid&1], (long)(r->vid&1? ctg_len - ae : as), (long)(r->vid&1? ctg_len - as : ae));
{ // left extension
int64_t vs1 = vs0 + (r->a[i0]>>32) + 1;
int32_t as1 = ((int32_t)r->a[i0]<<1>>1) + 1;
int32_t nt_len, aa_len;
ns_opt_t ns_opt = ns_opt0;
ns_rst_t rst;
ns_opt.flag |= NS_F_EXT_LEFT;
ns_rst_init(&rst);
ns_global_gs16b(km, (const char*)nt, vs1 - as, aa, as1, &ns_opt, ss, &rst);
nt_len = rst.nt_len, aa_len = rst.aa_len;