INNER CODE UNIT · C

st1

lh3/bedtk · bedtk.c:284

		int32_t st1 = (int32_t)q->x, en1 = q->y, cov_st = 0, cov_en = 0;
		int64_t j;
		char *ctg = qr->ctg[q->x>>32].name;
		n_b = cr_overlap(cr, ctg, st1, en1, &b, &m_b);
		for (j = 0; j < n_b; ++j) {
			cr_intv_t *r = &cr->r[b[j]];
			int32_t st0 = cr_st(r), en0 = cr_en(r);
			if (st0 < st1) st0 = st1;
			if (en0 > en1) en0 = en1;
			if (st0 > cov_en) {
				if (cov_en > cov_st) printf("%s\t%d\t%d\n", ctg, cov_st, cov_en);
				cov_st = st0, cov_en = en0;
			} else cov_en = cov_en > en0? cov_en : en0;
		}
		if (cov_en > cov_st) printf("%s\t%d\t%d\n", ctg, cov_st, cov_en);
	}
	free(b);
	cr_destroy(qr);

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…