Learn R Programming

SummarizedExperiment (version 1.2.3)

intra-range-methods: Intra range transformations of a RangedSummarizedExperiment object

Description

This man page documents the intra range transformations that are supported on RangedSummarizedExperiment objects.

Usage

"shift"(x, shift=0L, use.names=TRUE)
"narrow"(x, start=NA, end=NA, width=NA, use.names=TRUE)
"resize"(x, width, fix="start", use.names=TRUE, ignore.strand=FALSE)
"flank"(x, width, start=TRUE, both=FALSE, use.names=TRUE, ignore.strand=FALSE)
"promoters"(x, upstream=2000, downstream=200)
"restrict"(x, start=NA, end=NA, keep.all.ranges=FALSE, use.names=TRUE)
"trim"(x, use.names=TRUE)

Arguments

shift, use.names
See ?shift in the GenomicRanges package.
start, end, width, fix
See ?shift in the GenomicRanges package.
ignore.strand, both
See ?shift in the GenomicRanges package.
upstream, downstream
See ?shift in the GenomicRanges package.
keep.all.ranges
See ?shift in the GenomicRanges package.

Details

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

More precisely, any of the above functions performs the following transformation on RangedSummarizedExperiment object x:

    rowRanges(x) <- f(rowRanges(x), ...)
where f is the name of the function and ... any additional arguments passed to it.

See ?shift in the GenomicRanges package for the details of how these transformations operate on a GenomicRanges or GRangesList object.

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])
rse0 <- SummarizedExperiment(assays=SimpleList(counts=counts),
                             rowRanges=rowRanges, colData=colData)

rse1 <- shift(rse0, 1)
stopifnot(identical(
  rowRanges(rse1),
  shift(rowRanges(rse0), 1)
))

se2 <- narrow(rse0, start=10, end=-15)
stopifnot(identical(
  rowRanges(se2),
  narrow(rowRanges(rse0), start=10, end=-15)
))

se3 <- resize(rse0, width=75)
stopifnot(identical(
  rowRanges(se3),
  resize(rowRanges(rse0), width=75)
))

se4 <- flank(rse0, width=20)
stopifnot(identical(
  rowRanges(se4),
  flank(rowRanges(rse0), width=20)
))

se5 <- restrict(rse0, start=200, end=700, keep.all.ranges=TRUE)
stopifnot(identical(
  rowRanges(se5),
  restrict(rowRanges(rse0), start=200, end=700, keep.all.ranges=TRUE)
))

Run the code above in your browser using DataLab