window — bedtools 2.31.0 documentation (2024)

Similar to bedtools intersect, window searches for overlapping featuresin A and B. However, window adds a specified number (1000, by default) ofbase pairs upstream and downstream of each feature in A. In effect, this allowsfeatures in B that are “near” features in A to be detected.

Usage and option summary

Usage:

bedtools window [OPTIONS] [-a|-abam] -b <BED/GFF/VCF>

(or):

bedtools window [OPTIONS] [-a|-abam] -b <BED/GFF/VCF>
OptionDescription
-abamBAM file A. Each BAM alignment in A is compared to B in search of overlaps. Use “stdin” if passing A with a UNIX pipe: For example: samtools view -b <BAM> | bedtools window -abam stdin -b genes.bed
-ubamWrite uncompressed BAM output. The default is write compressed BAM output.
-bedWhen using BAM input (-abam), write output as BED. The default is to write output in BAM when using -abam. For example: bedtools window -abam reads.bam -b genes.bed -bed
-wBase pairs added upstream and downstream of each entry in A when searching for overlaps in B. Default is 1000 bp.
-lBase pairs added upstream (left of) of each entry in A when searching for overlaps in B. Allows one to create asymmetrical “windows”. Default is 1000bp.
-rBase pairs added downstream (right of) of each entry in A when searching for overlaps in B. Allows one to create asymmetrical “windows”. Default is 1000bp.
-swDefine -l and -r based on strand. For example if used, -l 500 for a negative-stranded feature will add 500 bp downstream. By default, this is disabled.
-smOnly report hits in B that overlap A on the same strand. By default, overlaps are reported without respect to strand.
-SmOnly report hits in B that overlap A on the opposite strand. By default, overlaps are reported without respect to strand.
-uWrite original A entry once if any overlaps found in B. In other words, just report the fact at least one overlap was found in B.
-cFor each entry in A, report the number of hits in B while restricting to -w, -l, and -r. Reports 0 for A entries that have no overlap with B.
-vOnly report those entries in A that have no overlaps with B.
-headerPrint the header from the A file prior to results.

Default behavior

By default, bedtools window adds 1000 bp upstream and downstream of each Afeature and searches for features in B that overlap this “window”. If an overlapis found in B, both the original A feature and the original B feature arereported.

$ cat A.bedchr1 100 200$ cat B.bedchr1 500 1000chr1 1300 2000$ bedtools window -a A.bed -b B.bedchr1 100 200 chr1 500 1000

-w Defining a custom window size

Instead of using the default window size of 1000bp, one can define a custom,symmetric window around each feature in A using the -w option. One shouldspecify the window size in base pairs. For example, a window of 5kb should bedefined as -w 5000.

For example (note that in contrast to the default behavior,the second B entry is reported):

$ cat A.bedchr1 100 200$ cat B.bedchr1 500 1000chr1 1300 2000$ bedtools window -a A.bed -b B.bed -w 5000chr1 100 200 chr1 500 1000chr1 100 200 chr1 1300 2000

-l and -r Defining asymmetric windows

One can also define asymmetric windows where a differing number of bases areadded upstream and downstream of each feature using the -l (upstream)and -r (downstream)** options.

Note

By default, the -l and -r options ignore strand. If you want to defineupstream and downstream based on strand, use the -sw option (below)with the -l and -r options.

For example (note the difference between -l 200 and -l 300):

$ cat A.bedchr1 1000 2000$ cat B.bedchr1 500 800chr1 10000 20000$ bedtools window -a A.bed -b B.bed -l 200 -r 20000chr1 1000 2000 chr1 10000 20000$ bedtools window -a A.bed -b B.bed -l 300 -r 20000chr1 1000 2000 chr1 500 800chr1 1000 2000 chr1 10000 20000

-sw Defining asymmetric windows based on strand

Especially when dealing with gene annotations or RNA-seq experiments, you maywant to define asymmetric windows based on “strand”. For example, you may wantto screen for overlaps that occur within 5000 bp upstream of a gene (e.g. apromoter region) while screening only 1000 bp downstream of the gene.By enabling the -sw (“stranded” windows) option, the windows are addedupstream or downstream according to strand. For example, imagine onespecifies -l 5000, -r 1000 as well as the -sw option. In this case,forward stranded (“+”) features will screen 5000 bp to the left (that is,lower genomic coordinates) and 1000 bp to the right (that is, highergenomic coordinates). By contrast, reverse stranded (“-”) features will screen5000 bp to the right (that is, higher genomic coordinates) and 1000 bp tothe left (that is, lower genomic coordinates).

For example (note the difference between -l 200 and -l 300):

$ cat A.bedchr1 10000 20000 A.forward 1 +chr1 10000 20000 A.reverse 1 -$ cat B.bedchr1 1000 8000 B1chr1 24000 32000 B2$ bedtools window -a A.bed -b B.bed -l 5000 -r 1000 -swchr1 10000 20000 A.forward 1 + chr1 1000 8000 B1chr1 10000 20000 A.reverse 1 - chr1 24000 32000 B2

-sm Enforcing matches with the same “strandedness”

This option behaves the same as the -s option for bedtools intersectwhile scanning for overlaps within the “window” surrounding A. That is, overlapsin B will only be included if the B interval is on the same strand as the Ainterval.

-Sm Enforcing matches with the opposite “strandedness”

This option behaves the same as the -S option for bedtools intersect whilescanning for overlaps within the “window” surrounding A. That is, overlaps inB will only be included if the B interval is on the opposite strand as the Ainterval.

-u Reporting the presence/absence of at least one overlapping feature

This option behaves the same as for bedtools intersect. That is, even ifmultiple overlaps exist, each A interval will only be reported once.

-c Reporting the number of overlapping features

This option behaves the same as for bedtools intersect. That is, it willreport the count of intervals in B that overlap each A interval.

-v Reporting the absence of any overlapping features

This option behaves the same as for bedtools intersect. That is, it willonly report those intervals in A that have have zero overlaps in B.

-header Print the header for the A file before reporting results.

By default, if your A file has a header, it is ignored when reporting results.This option will instead tell bedtools to first print the header for theA file prior to reporting results.

window — bedtools 2.31.0 documentation (2024)

References

Top Articles
Latest Posts
Recommended Articles
Article information

Author: Francesca Jacobs Ret

Last Updated:

Views: 6309

Rating: 4.8 / 5 (68 voted)

Reviews: 91% of readers found this page helpful

Author information

Name: Francesca Jacobs Ret

Birthday: 1996-12-09

Address: Apt. 141 1406 Mitch Summit, New Teganshire, UT 82655-0699

Phone: +2296092334654

Job: Technology Architect

Hobby: Snowboarding, Scouting, Foreign language learning, Dowsing, Baton twirling, Sculpting, Cabaret

Introduction: My name is Francesca Jacobs Ret, I am a innocent, super, beautiful, charming, lucky, gentle, clever person who loves writing and wants to share my knowledge and understanding with you.