SummarizedExperiment (version 1.0.0)

nearest-methods: Finding the nearest range neighbor in RangedSummarizedExperiment objects

Description

This man page documents the nearest methods and family (i.e. precede, follow, distance, and distanceToNearest methods) for RangedSummarizedExperiment objects.

Usage

"precede"(x, subject, select=c("arbitrary", "all"), ignore.strand=FALSE) "precede"(x, subject, select=c("arbitrary", "all"), ignore.strand=FALSE)
"follow"(x, subject, select=c("arbitrary", "all"), ignore.strand=FALSE) "follow"(x, subject, select=c("arbitrary", "all"), ignore.strand=FALSE)
"nearest"(x, subject, select=c("arbitrary", "all"), algorithm=c("nclist", "intervaltree"), ignore.strand=FALSE) "nearest"(x, subject, select=c("arbitrary", "all"), algorithm=c("nclist", "intervaltree"), ignore.strand=FALSE)
"distance"(x, y, ignore.strand=FALSE, ...) "distance"(x, y, ignore.strand=FALSE, ...)
"distanceToNearest"(x, subject, algorithm=c("nclist", "intervaltree"), ignore.strand=FALSE, ...) "distanceToNearest"(x, subject, algorithm=c("nclist", "intervaltree"), ignore.strand=FALSE, ...)

Arguments

x, subject
One of these two arguments must be a RangedSummarizedExperiment object.
select, ignore.strand, algorithm
See ?nearest in the GenomicRanges package.
y
For the distance methods, one of x or y must be a RangedSummarizedExperiment object.
...
Additional arguments for methods.

Value

See ?nearest 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 x, subject, and/or y argument, then it behaves as if rowRanges(x), rowRanges(subject), and/or rowRanges(y) had been passed instead.

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

See Also

Examples

Run this code
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])
se0 <- SummarizedExperiment(assays=SimpleList(counts=counts),
                            rowRanges=rowRanges, colData=colData)
se1 <- shift(se0, 100)

res <- nearest(se0, se1)
res
stopifnot(identical(res, nearest(rowRanges(se0), rowRanges(se1))))
stopifnot(identical(res, nearest(se0, rowRanges(se1))))
stopifnot(identical(res, nearest(rowRanges(se0), se1)))

res <- nearest(se0)  # missing subject
res
stopifnot(identical(res, nearest(rowRanges(se0))))

hits <- nearest(se0, se1, select="all")
hits
stopifnot(identical(
  hits,
  nearest(rowRanges(se0), rowRanges(se1), select="all")
))
stopifnot(identical(
  hits,
  nearest(se0, rowRanges(se1), select="all")
))
stopifnot(identical(
  hits,
  nearest(rowRanges(se0), se1, select="all")
))

Run the code above in your browser using DataCamp Workspace