INNER CODE UNIT · C
cr
lh3/bedtk · bedtk.c:506
cr = read_bed3(argv[o.ind + 1]);
assert(cr);
cr_index2(cr, 1);
fp = strcmp(argv[o.ind], "-")? gzopen(argv[o.ind], "r") : gzdopen(0, "r");
assert(fp);
ks = ks_init(fp);
while (ks_getuntil(ks, KS_SEP_LINE, &str, 0) >= 0) {
int32_t st1, en1, x;
char *ctg, *rest;
int64_t j;
ctg = parse_bed3b(str.s, &st1, &en1, &rest);
if (ctg == 0) continue;
n_b = cr_overlap(cr, ctg, st1, en1, &b, &m_b);
for (j = 0, x = st1; 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;