INNER CODE UNIT · C

ne0

lh3/miniprot · align.c:299

		ne0 = r->vs - vs0;
		ae0 = r->qs;
	}

	if (mp_dbg_flag & MP_DBG_MORE_DP) { // apply DP to the entire region; for debugging only
		score = mp_align_seq(km, opt, &ns_opt0, r->ve - r->vs, &nt[r->vs - as], r->qe - ae0, &aa[ae0], ss? &ss[r->vs - as] : 0, &cigar);
	} else { // patch gaps between anchors
		for (i = i0; i < r->cnt; ++i) {
			int32_t ne1, ae1;
			if (!(r->a[i]>>31&1)) continue;
			ne1 = (r->a[i]>>32) + 1, ae1 = ((int32_t)r->a[i]<<1>>1) + 1;
			score += mp_align_seq(km, opt, &ns_opt0, ne1 - ne0, &nt[ne0 + vs0 - as], ae1 - ae0, &aa[ae0], ss? &ss[ne0 + vs0 - as] : 0, &cigar);
			i0 = i, ne0 = ne1, ae0 = ae1;
		}
		r->ve = ne0 + vs0, r->qe = ae0;
	}

	if (r->qe < len && r->ve < ae) { // right extension

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…