<p><a href="https://bedtools.readthedocs.io/en/latest/index.html" rel="nofollow noreferrer">bedtools</a> is my go-to program for operations on genomic intervals. In particular, the <a href="https://bedtools.readthedocs.io/en/latest/index.html" rel="nofollow noreferrer">bedtools intersect</a> operation is what you're looking for here.</p>

<pre><code>$ cat fileA
chr1    25      50
chr1    75      200
$ cat fileB
chr1    10      60
chr1    80      90
$ bedtools intersect -a fileA -b fileB                                                           
chr1    25      50
chr1    80      90
</code></pre>

<p>Make sure that the values are separated by tabs rather than spaces, or bedtools will have trouble reading the files.</p>

CC BY-SA 4.0
2019-07-09T20:38:59.933Z
2019-07-09T20:38:59.933Z
Daniel Standage
<p>I have two files of genomic coordinates. I am trying to output only the overlapping region of fileA if it intersects with fileB. Not the original fileA coordinates.</p>

<p>fileA</p>

<pre><code>chr1 25 50
chr1 75 200
</code></pre>

<p>fileB</p>

<pre><code>chr1 10 60
chr1 80 90
</code></pre>

<p>desired output</p>

<pre><code>chr1 25 50
chr1 80 90
</code></pre>

CC BY-SA 4.0
2019-07-09T20:33:01.857Z
Please provide a small reproducible example using `dput` so we can help you. All you need to do is run `dput(fileA)` in R and, paste the output in the terminal.
h3ab74
<genome><interval>
How to output only the overlapping region of two files?
# How to output only the overlapping region of two files?

(Asked by: username_0 on 2019-07-09)

I have two files of genomic coordinates. I am trying to output only the overlapping region of fileA if it intersects with fileB. Not the original fileA coordinates.
fileA
chr1 25 50
chr1 75 200

fileB
chr1 10 60
chr1 80 90

desired output
chr1 25 50
chr1 80 90

**Tags:** genome, interval
> **Comments:**
> **username_1**: Please provide a small reproducible example using `dput` so we can help you. All you need to do is run `dput(fileA)` in R and, paste the output in the terminal.  

---

## 1 answers

### Answer by username_2 on 2019-07-09. Score: 3

bedtools is my go-to program for operations on genomic intervals. In particular, the bedtools intersect operation is what you're looking for here.
$ cat fileA
chr1    25      50
chr1    75      200
$ cat fileB
chr1    10      60
chr1    80      90
$ bedtools intersect -a fileA -b fileB                                                           
chr1    25      50
chr1    80      90

Make sure that the values are separated by tabs rather than spaces, or bedtools will have trouble reading the files.


---

