Last data update: 2014.03.03

R: Finding overlapping ranges in RangedSummarizedExperiment...
findOverlaps-methodsR Documentation

Finding overlapping ranges in RangedSummarizedExperiment objects

Description

This man page documents the findOverlaps methods for RangedSummarizedExperiment objects.

RangedSummarizedExperiment objects also support countOverlaps, overlapsAny, and subsetByOverlaps thanks to the default methods defined in the IRanges package and to the findOverlaps methods defined in this package and documented below.

Usage

## S4 method for signature 'RangedSummarizedExperiment,Vector'
findOverlaps(query, subject,
    maxgap=0L, minoverlap=1L,
    type=c("any", "start", "end", "within", "equal"),
    select=c("all", "first", "last", "arbitrary"),
    ignore.strand=FALSE)
## S4 method for signature 'Vector,RangedSummarizedExperiment'
findOverlaps(query, subject,
    maxgap=0L, minoverlap=1L,
    type=c("any", "start", "end", "within", "equal"),
    select=c("all", "first", "last", "arbitrary"),
    ignore.strand=FALSE)

Arguments

query, subject

One of these two arguments must be a RangedSummarizedExperiment object.

maxgap, minoverlap, type

See ?findOverlaps in the GenomicRanges package.

select, ignore.strand

See ?findOverlaps in the GenomicRanges package.

Details

These methods operate on the rowRanges component of the RangedSummarizedExperiment object, which can be a GenomicRanges or GRangesList object.

More precisely, if any of the above functions is passed a RangedSummarizedExperiment object thru the query and/or subject argument, then it behaves as if rowRanges(query) and/or rowRanges(subject) had been passed instead.

See ?findOverlaps in the GenomicRanges package for the details of how findOverlaps and family operate on GenomicRanges and GRangesList objects.

Value

See ?findOverlaps in the GenomicRanges package.

See Also

  • RangedSummarizedExperiment objects.

  • The findOverlaps man page in the GenomicRanges package where the findOverlaps family of methods for GenomicRanges and GRangesList objects is documented.

Examples

nrows <- 20; ncols <- 6
counts <- matrix(runif(nrows * ncols, 1, 1e4), nrows)
rowRanges <- GRanges(rep(c("chr1", "chr2"), c(5, 15)),
                     IRanges(sample(1000L, 20), width=100),
                     strand=Rle(c("+", "-"), c(12, 8)))
colData <- DataFrame(Treatment=rep(c("ChIP", "Input"), 3),
                     row.names=LETTERS[1:6])
rse0 <- SummarizedExperiment(assays=SimpleList(counts=counts),
                             rowRanges=rowRanges, colData=colData)
rse1 <- shift(rse0, 100)

hits <- findOverlaps(rse0, rse1)
hits
stopifnot(identical(hits, findOverlaps(rowRanges(rse0), rowRanges(rse1))))
stopifnot(identical(hits, findOverlaps(rse0, rowRanges(rse1))))
stopifnot(identical(hits, findOverlaps(rowRanges(rse0), rse1)))

Results


R version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> library(SummarizedExperiment)
Loading required package: GenomicRanges
Loading required package: BiocGenerics
Loading required package: parallel

Attaching package: 'BiocGenerics'

The following objects are masked from 'package:parallel':

    clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
    clusterExport, clusterMap, parApply, parCapply, parLapply,
    parLapplyLB, parRapply, parSapply, parSapplyLB

The following objects are masked from 'package:stats':

    IQR, mad, xtabs

The following objects are masked from 'package:base':

    Filter, Find, Map, Position, Reduce, anyDuplicated, append,
    as.data.frame, cbind, colnames, do.call, duplicated, eval, evalq,
    get, grep, grepl, intersect, is.unsorted, lapply, lengths, mapply,
    match, mget, order, paste, pmax, pmax.int, pmin, pmin.int, rank,
    rbind, rownames, sapply, setdiff, sort, table, tapply, union,
    unique, unsplit

Loading required package: S4Vectors
Loading required package: stats4

Attaching package: 'S4Vectors'

The following objects are masked from 'package:base':

    colMeans, colSums, expand.grid, rowMeans, rowSums

Loading required package: IRanges
Loading required package: GenomeInfoDb
Loading required package: Biobase
Welcome to Bioconductor

    Vignettes contain introductory material; view with
    'browseVignettes()'. To cite Bioconductor, see
    'citation("Biobase")', and for packages 'citation("pkgname")'.

> png(filename="/home/ddbj/snapshot/RGM3/R_BC/result/SummarizedExperiment/findOverlaps-methods.Rd_%03d_medium.png", width=480, height=480)
> ### Name: findOverlaps-methods
> ### Title: Finding overlapping ranges in RangedSummarizedExperiment objects
> ### Aliases: findOverlaps-methods findOverlaps
> ###   findOverlaps,RangedSummarizedExperiment,Vector-method
> ###   findOverlaps,Vector,RangedSummarizedExperiment-method
> ###   findOverlaps,RangedSummarizedExperiment,RangedSummarizedExperiment-method
> ### Keywords: methods utilities
> 
> ### ** Examples
> 
> nrows <- 20; ncols <- 6
> counts <- matrix(runif(nrows * ncols, 1, 1e4), nrows)
> rowRanges <- GRanges(rep(c("chr1", "chr2"), c(5, 15)),
+                      IRanges(sample(1000L, 20), width=100),
+                      strand=Rle(c("+", "-"), c(12, 8)))
> colData <- DataFrame(Treatment=rep(c("ChIP", "Input"), 3),
+                      row.names=LETTERS[1:6])
> rse0 <- SummarizedExperiment(assays=SimpleList(counts=counts),
+                              rowRanges=rowRanges, colData=colData)
> rse1 <- shift(rse0, 100)
> 
> hits <- findOverlaps(rse0, rse1)
> hits
Hits object with 20 hits and 0 metadata columns:
       queryHits subjectHits
       <integer>   <integer>
   [1]         1           3
   [2]         2           4
   [3]         5           3
   [4]         5           1
   [5]         7           6
   ...       ...         ...
  [16]        17          14
  [17]        17          20
  [18]        18          15
  [19]        20          19
  [20]        20          14
  -------
  queryLength: 20 / subjectLength: 20
> stopifnot(identical(hits, findOverlaps(rowRanges(rse0), rowRanges(rse1))))
> stopifnot(identical(hits, findOverlaps(rse0, rowRanges(rse1))))
> stopifnot(identical(hits, findOverlaps(rowRanges(rse0), rse1)))
> 
> 
> 
> 
> 
> dev.off()
null device 
          1 
>