| coverage-methods {GenomicRanges} | R Documentation |
coverage methods for GRanges,
GRangesList, GAlignments, and GAlignmentPairs
objects.
NOTE: The coverage generic function and methods
for Ranges and RangesList objects
are defined and documented in the IRanges package.
## S4 method for signature 'GenomicRanges'
coverage(x, shift=0L, width=NULL, weight=1L,
method=c("auto", "sort", "hash"))
## S4 method for signature 'GRangesList'
coverage(x, shift=0L, width=NULL, weight=1L,
method=c("auto", "sort", "hash"))
## S4 method for signature 'GAlignments'
coverage(x, shift=0L, width=NULL, weight=1L,
method=c("auto", "sort", "hash"), drop.D.ranges=FALSE)
## S4 method for signature 'GAlignmentPairs'
coverage(x, shift=0L, width=NULL, weight=1L,
method=c("auto", "sort", "hash"), drop.D.ranges=FALSE)
x |
A GRanges, GRangesList, GAlignments, or GAlignmentPairs object. |
shift |
A numeric vector or a list-like object. If numeric, it must be parallel
to Alternatively, See |
width |
Either See |
weight |
A numeric vector or a list-like object. If numeric, it must be parallel
to Alternatively, See |
method |
See |
drop.D.ranges |
Whether the coverage calculation should ignore ranges corresponding to D (deletion) in the CIGAR string. |
When x is a GRangesList object, coverage(x, ...)
is equivalent to coverage(unlist(x), ...).
When x is a GAlignments or GAlignmentPairs
object, coverage(x, ...) is equivalent to
coverage(grglist(x), ...).
A named RleList object with one coverage vector per
seqlevel in x.
H. Pages and P. Aboyoun
## Coverage of a GRanges object:
gr <- GRanges(
seqnames=Rle(c("chr1", "chr2", "chr1", "chr3"), c(1, 3, 2, 4)),
ranges=IRanges(1:10, end=10),
strand=Rle(strand(c("-", "+", "*", "+", "-")), c(1, 2, 2, 3, 2)),
seqlengths=c(chr1=11, chr2=12, chr3=13))
cvg <- coverage(gr)
pcvg <- coverage(gr[strand(gr) == "+"])
mcvg <- coverage(gr[strand(gr) == "-"])
scvg <- coverage(gr[strand(gr) == "*"])
stopifnot(identical(pcvg + mcvg + scvg, cvg))
## Coverage of a GRangesList object:
gr1 <- GRanges(seqnames="chr2",
ranges=IRanges(3, 6),
strand = "+")
gr2 <- GRanges(seqnames=c("chr1", "chr1"),
ranges=IRanges(c(7,13), width=3),
strand=c("+", "-"))
gr3 <- GRanges(seqnames=c("chr1", "chr2"),
ranges=IRanges(c(1, 4), c(3, 9)),
strand=c("-", "-"))
grl <- GRangesList(gr1=gr1, gr2=gr2, gr3=gr3)
stopifnot(identical(coverage(grl), coverage(unlist(grl))))
## Coverage of a GAlignments or GAlignmentPairs object:
library(Rsamtools) # because file ex1.bam is in this package
ex1_file <- system.file("extdata", "ex1.bam", package="Rsamtools")
galn <- readGAlignments(ex1_file)
stopifnot(identical(coverage(galn), coverage(as(galn, "GRangesList"))))
galp <- readGAlignmentPairs(ex1_file)
stopifnot(identical(coverage(galp), coverage(as(galp, "GRangesList"))))