INNER CODE UNIT · C

k

lh3/seqtk · seqtk.c:709

		k = kh_get(reg, h, seq->name.s);
		if (k == kh_end(h)) continue;
		p = &kh_val(h, k);
		for (i = 0; i < p->n; ++i) {
			int64_t beg = p->a[i<<1], end = p->a[i<<1|1];
			if (beg >= seq->seq.l) {
				fprintf(stderr, "[subseq] %s: %ld >= %ld\n", seq->name.s, beg, seq->seq.l);
				continue;
			}
			if (end > seq->seq.l) end = seq->seq.l;
			if (is_tab == 0) {
				printf("%c%s", seq->qual.l == seq->seq.l? '@' : '>', seq->name.s);
				if (beg > 0 || (int64_t)p->a[i<<1|1] != INT64_MAX) {
					if (end == INT64_MAX) {
						if (beg) printf(":%ld", beg+1);
					} else printf(":%ld-%ld", beg+1, end);
				}
				if (seq->comment.l) printf(" %s", seq->comment.s);

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…