window-bed
Quick Start
- Command:
windowBed -a <bed/gff/vcf> -b <bed/gff/vcf> -w <bp> - Local executable:
/home/vimalinx/miniforge3/envs/bio/bin/windowBed - Full reference: See
references/help.md
When To Use This Tool
- Find nearby features in B around each feature in A without requiring direct overlap.
- Build promoter, enhancer, or neighborhood-style proximity joins.
- Use asymmetric windows with different upstream and downstream distances.
- Count, flag, or exclude nearby hits instead of returning full paired records.
Common Patterns
# 1) Find B features within 5 kb of each A feature
windowBed \
-a genes.bed \
-b peaks.bed \
-w 5000
# 2) Query a strand-aware promoter window: 2 kb upstream, 500 bp downstream
windowBed \
-a transcripts.bed \
-b atac-peaks.bed \
-l 2000 \
-r 500 \
-sw \
-sm
# 3) Count nearby features instead of returning paired records
windowBed \
-a genes.bed \
-b enhancers.bed \
-w 100000 \
-c
Recommended Workflow
- Decide whether you need the default paired-output join, a presence/absence view (
-u,-v), or counts (-c). - Choose a symmetric window with
-wor an asymmetric design with-land-r. - Add
-swonly when upstream/downstream should be interpreted relative to strand, and add-smor-Smonly when overlap partners must match or oppose strand. - If A is BAM, switch to
-abamand choose whether output should stay BAM-like or be converted with-bed.
Guardrails
-aand-bare both required unless BAM input is supplied through-abam, which replaces-a.- If you do not specify
-w,-l, or-r, bedtools uses a default symmetric window of 1000 bp. - Default output emits the full A and full B record for every hit;
-u,-c, and-vchange the row count and layout substantially. -swchanges how left/right windows are interpreted relative to feature strand; it is different from-sm/-Sm, which filter the strand relationship between A and B.- Prefer
-hfor help; GNU-style--helpand--versionemit wrapper errors before usage text.