title: Finding overlapping regions of chromosome with GRanges
body: <p>I have a list of ranges of genomic regions derived from a series of patients.</p>
  
  <pre><code>&gt; head(dotoo)
  GRanges with 6 ranges and 3 metadata columns:
      seqnames                 ranges strand |       Id       CN Histology
         &lt;Rle&gt;              &lt;IRanges&gt;  &lt;Rle&gt; | &lt;factor&gt; &lt;factor&gt;  &lt;factor&gt;
  [1]        3 [167946693, 168005541]      * |        9        3        MD
  [2]        3 [189907623, 189954633]      * |        9        3        MD
  [3]        6 [132274121, 132384438]      * |        9        3        MD
  [4]       11 [ 67685096,  70138399]      * |        9        4        MD
  [5]       12 [ 53859037,  53927595]      * |        9        3        MD
  [6]       15 [ 19830049,  20089383]      * |        9        1        MD
  </code></pre>
  
  <p>When I plot the genomic aberrations using </p>
  
  <p><code>autoplot(dotoo, aes(fill=as.factor(Id), color=as.factor(Id)))</code></p>
  
  <p>I see many overlapping regions, see image</p>
  
  <p><img src="https://i.stack.imgur.com/bKv0U.png" alt="enter image description here"></p>
  
  <p>How do find out which regions overlaps between at least 3 patients, and have shared <code>CN</code>?</p>
  
  <p>Basically, if you look at the picture, how do I find the regions that "stack" over, and only the part that is shared? Is there a way at all?</p>