How do I find the set of a genomicrange? (same as union(gr, gr))
1
2
Entering edit mode
5.4 years ago
endrebak852 ▴ 110
library(GenomicRanges)
gr0 <- GRanges(Rle(c("chr2", "chr2", "chr1", "chr3"), c(1, 3, 2, 4)), IRanges(1:10, width=10:1))
union(gr0, gr0)
# GRanges object with 3 ranges and 0 metadata columns:
#      seqnames    ranges strand
#        <Rle> <IRanges>  <Rle>
# [1]     chr2   [1, 10]      *
# [2]     chr1   [5, 10]      *
# [3]     chr3   [7, 10]      *
# -------
#  seqinfo: 3 sequences from an unspecified genome; no seqlengths

The union operation is binary. Is there a unary union method?

R BioConductor GenomicRanges • 1.8k views
ADD COMMENT
5
Entering edit mode
5.4 years ago
Michael 54k

Possibly, you are referring to normalized ranges, see Section 2.1 in https://bioconductor.org/packages/release/bioc/vignettes/IRanges/inst/doc/IRangesOverview.pdf

Then, the function to use is reduce(gr0).

 > reduce(gr0)
GRanges object with 3 ranges and 0 metadata columns:
      seqnames    ranges strand
         <Rle> <IRanges>  <Rle>
  [1]     chr2      1-10      *
  [2]     chr1      5-10      *
  [3]     chr3      7-10      *
  -------
  seqinfo: 3 sequences from an unspecified genome; no seqlengths
  > identical(reduce(gr0), union(gr0,gr0))
  [1] TRUE
ADD COMMENT

Login before adding your answer.

Traffic: 2934 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