coverage

Description

Calculate coverage of A intervals by B intervals. Reports overlap count, bases covered, interval length, and fraction covered.

Example Input

cat example_a.bed
chr1	100	200	gene1	100	+
chr1	150	250	gene2	200	-
chr1	400	500	gene3	300	+
chr2	100	300	gene4	400	+
chr2	500	700	gene5	500	-
cat example_b.bed
chr1	120	180	feat1	50	+
chr1	220	280	feat2	60	-
chr1	450	480	feat3	70	+
chr2	150	250	feat4	80	+
chr2	600	650	feat5	90	-

Command

grit coverage -a example_a.bed -b example_b.bed --assume-sorted

Output

chr1	100	200	gene1	100	+	1	60	100	0.6000000
chr1	150	250	gene2	200	-	2	60	100	0.6000000
chr1	400	500	gene3	300	+	1	30	100	0.3000000
chr2	100	300	gene4	400	+	1	100	200	0.5000000
chr2	500	700	gene5	500	-	1	50	200	0.2500000

Output columns: A interval fields, overlap count, bases covered, interval length, fraction covered.

Options

Flag Description
-a, --file-a Input BED file A (regions)
-b, --file-b Input BED file B (reads/features)
--hist Report a histogram of coverage
-d, --per-base Report depth at each position
--mean Report mean depth
--assume-sorted Skip sorted validation

Histogram Mode

grit coverage -a example_a.bed -b example_b.bed --hist --assume-sorted

Mean Depth

grit coverage -a example_a.bed -b example_b.bed --mean --assume-sorted

Notes

  • Uses streaming mode by default for memory efficiency
  • Requires sorted input
  • Memory usage: O(k) where k = max overlapping intervals