INNER CODE UNIT · C

qr

lh3/bedtk · bedtk.c:278

	qr = read_bed3b(o.ind + 1 < argc? argv[o.ind + 1] : 0, 0, fn_order);
	assert(qr);
	if (!cr_is_sorted(qr)) cr_sort(qr);
	cr_merge_pre_index(qr);
	for (i = 0; i < qr->n_r; ++i) {
		cr_intv_t *q = &qr->r[i];
		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;

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…