bedtools intersectBed and GRanges countOverlaps
1
1
Entering edit mode
8.6 years ago
User 7754 ▴ 270

Hi,

I am generating overlaps using this command in bedtools:

intersectBed -a snps.bed -b region.bed -wb

And now I am trying to compare the same files using the R package GenomicRanges, countOverlaps(snps, region.bed, type=c("within"), but I am not getting the same results.

In particular, it seems as the positions at the borderline of the region.bed are not counted as overlaps, for example this entry in snps.bed: 1 112162878 112162879

and this entry in region.bed: 1 112162834 112162878

Is this what others have seen as well? How can I get bedtools to count these entries as overlaps, without adding flanking bases? Thank you

R bed bedtools GenomicRanges • 3.6k views
ADD COMMENT
3
Entering edit mode
8.6 years ago

BED files are generally 0-indexed, so you're generally not going to get overlaps with applications that do operations on input files that use 0-based indexing, which generally do not count endpoints in calling overlaps. GRanges documentation says it uses 1-based indexing, so it will include endpoints in generating overlaps.

Your solution is perhaps not to count those kinds of overlaps in BED file inputs using GRanges, by specifying that your (BED-formatted) inputs are 0-based and need adjustment in R. The documentation for GRanges explains this in more detail; see the starts.in.df.are.0based option.

ADD COMMENT
0
Entering edit mode

Thank you Alex! I understand now. Apart from the difference in 1 base for snps, also the last position of the region.bed range and the first position do not count as overlaps using bedtools. Something to keep in mind. Thank you

ADD REPLY

Login before adding your answer.

Traffic: 2056 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6