This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Extract exact match from bed files

I would like to extract only regions which exactly match another bed

So I have a regions of interest bed which defines regions, I want to extract only exact matches to these regions

cat regions_of_interest.bed
chr8    79611214    79636802    annotated   0   -
chr8    79611214    79616823    abnormal    0   -

Trying with bedops extracts the regions which also have overlap with these regions

bedops -e 1 target.sorted.bed regions_of_interest.bed

Returns

chr8    79611214    79613670    target.sorted.bed   3   +
chr8    79611214    79613823    target.sorted.bed   178 +
chr8    79611214    79615702    target.sorted.bed   3   +
chr8    79611214    79616054    target.sorted.bed   6   +

Bedtools intersect also returns any overlap

bedtools intersect -a target.sorted.bed -b regions_of_interest.bed

chr8    79611214    79613670    target.sorted.bed   3   +
chr8    79611214    79613670    target.sorted.bed   3   +
chr8    79611214    79613823    target.sorted.bed   178 +
chr8    79611214    79613823    target.sorted.bed   178 +
chr8    79611214    79615702    target.sorted.bed   3   +
chr8    79611214    79615702    target.sorted.bed   3   +
chr8    79611214    79616054    target.sorted.bed   6   +
chr8    79611214    79616054    target.sorted.bed   6   +

Ideally the function would work like this

differenttool intersect -a target.sorted.bed -b regions_of_interest.bed

chr8    79611214    79613823    target.sorted.bed   178 +
chr8    79611214    79636802    target.sorted.bed   2996    +
bedtools bedops bed

2 answers

The following uses BEDOPS bedmap:

bedmap --echo --exact --skip-unmapped target.sorted.bed regions_of_interest.bed > answer.bed

The file answer.bed contains elements from target.sorted.bed, whose intervals match exactly with intervals from regions_of_interest.bed.

bedtools intersect -f 1 -wa -r -a target.aggregated.bed -b regions_of_interest.bed

Log in to answer this question.