grit window

Find intervals in B that are within a window of A.

Usage

grit window [OPTIONS] -a <FILE_A> -b <FILE_B>

Options

Option Description
-a, --file-a <FILE> Input BED file A
-b, --file-b <FILE> Input BED file B
-w, --window <N> Window size on both sides (default: 1000)
-l, --left <N> Left window size
-r, --right <N> Right window size
-c, --count Report number of matches
-v, --no-overlap Only report A intervals with no matches
--assume-sorted Skip sorted validation
-g, --genome <FILE> Genome file for validation

Examples

# Find B intervals within 1kb of A intervals
grit window -a genes.bed -b enhancers.bed > nearby.bed

# Custom window size (5kb)
grit window -a genes.bed -b enhancers.bed -w 5000 > nearby_5kb.bed

Asymmetric windows

# 2kb upstream, 500bp downstream
grit window -a tss.bed -b peaks.bed -l 2000 -r 500 > asymmetric.bed

# Only look upstream (left)
grit window -a genes.bed -b promoters.bed -l 5000 -r 0 > upstream.bed

Count nearby intervals

# Count how many B intervals are near each A
grit window -a genes.bed -b snps.bed -w 10000 -c > snp_counts.bed

Find isolated intervals

# Find A intervals with NO nearby B intervals
grit window -a genes.bed -b other_genes.bed -w 50000 -v > isolated.bed

Output

Default output:

chr1    100    200    chr1    150    250
chr1    100    200    chr1    300    400

With -c (counts):

chr1    100    200    2
chr1    500    600    0

Visual Example

Window: 100bp on each side

A interval:        |--------|
Window:      |-----|--------|-----|
B intervals:   x        x       x
               ^        ^       ^
            (within window, all reported)

Performance

# Fastest with sorted input
grit window -a sorted_a.bed -b sorted_b.bed --assume-sorted

← Back to Commands