This is a test version of Biostars. For the public version, visit https://www.biostars.org.
bedtools intersectBed and GRanges countOverlaps

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

1 answer

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.

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

Log in to answer this question.