coverage
methods for GRanges and
GRangesList objects. NOTE: The coverage
generic function and methods
for Ranges and RangesList objects
are defined and documented in the IRanges package.
Methods for GAlignments and
GAlignmentPairs objects are defined and
documented in the GenomicAlignments package.
"coverage"(x, shift=0L, width=NULL, weight=1L, method=c("auto", "sort", "hash"))
"coverage"(x, shift=0L, width=NULL, weight=1L, method=c("auto", "sort", "hash"))
x
(recycled if necessary). If a list-like object, it must
have 1 list element per seqlevel in x
, and its names must be
exactly seqlevels(x)
. Alternatively, shift
can also be specified as a single string
naming a metadata column in x
(i.e. a column in mcols(x)
)
to be used as the shift
vector.
See ?coverage
in the IRanges package
for more information about this argument.
NULL
(the default), or an integer vector.
If NULL
, it is replaced with seqlengths(x)
.
Otherwise, the vector must have the length and names of
seqlengths(x)
and contain NAs or non-negative integers. See ?coverage
in the IRanges package
for more information about this argument.
x
(recycled if necessary). If a list-like object, it must
have 1 list element per seqlevel in x
, and its names must be
exactly seqlevels(x)
. Alternatively, weight
can also be specified as a single string
naming a metadata column in x
(i.e. a column in mcols(x)
)
to be used as the weight
vector.
See ?coverage
in the IRanges package
for more information about this argument.
?coverage
in the IRanges package
for a description of this argument.
x
.
x
is a GRangesList object, coverage(x, ...)
is equivalent to coverage(unlist(x), ...)
.
coverage
in the IRanges package.
## 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))))
Run the code above in your browser using DataLab