| HitsList-class {S4Vectors} | R Documentation |
List of Hits objects
Description
The HitsList class stores a set of Hits objects. It's typically
used to represent the result of findOverlaps on
two IntegerRangesList objects.
Details
Roughly the same set of utilities are provided for HitsList as for Hits:
The as.matrix method coerces a HitsList object in a
similar way to Hits, except a column is prepended that indicates
which space (or element in the query IntegerRangesList)
to which the row corresponds.
The as.table method flattens or unlists the list, counts the
number of hits for each query range and outputs the counts as a
table, which has the same shape as from a single Hits
object.
To transpose a HitsList object x, so that the subject
and query in each space are interchanged, call t(x). This
allows, for example, counting the number of hits for each subject
element using as.table.
Accessors
from(x):Equivalent to
queryHits(x).to(x):Equivalent to
subjectHits(x).queryHits(x):Equivalent to
unname(as.matrix(x)[,1]).subjectHits(x):Equivalent to
unname(as.matrix(x)[,2]).space(x):gets the character vector naming the space in the query IntegerRangesList for each hit, or
NULLif the query did not have any names.
Coercion
In the code snippets below, x is a HitsList object.
as.matrix(x):calls
as.matrixon each Hits, combines them row-wise and offsets the indices so that they are aligned with the result of callingunliston the query and subject.as.table(x):counts the number of hits for each query element in
xand outputs the counts as atable, which is aligned with the result of callingunliston the query.t(x):Interchange the query and subject in each space of
x, returns a transposed HitsList object.
Note
This class is highly experimental. It has not been well tested and may disappear at any time.
Author(s)
Michael Lawrence
See Also
-
findOverlapsin the IRanges package, which returns a HitsList object when the query and subject are IntegerRangesList objects.
Examples
hits <- Hits(rep(1:20, each=5), 100:1, 20, 100)
hlist <- splitAsList(hits, 1:5)
hlist
hlist[[1]]
hlist[[2]]
## Some sanity checks:
hits1 <- Hits(c(4, 4, 15, 15), c(1, 2, 3, 4), 20, 4)
hits2 <- Hits(c(4, 4, 15, 15), c(1, 2, 3, 4), 20, 4, sort.by.query=TRUE)
fA <- c(1, 1, 2, 2)
hlist1A <- split(hits1, fA)
hlist2A <- split(hits2, fA)
stopifnot(identical(as(hlist1A, "SortedByQueryHitsList"), hlist2A))
stopifnot(identical(hlist1A, as(hlist2A, "HitsList")))
fB <- c(1, 2, 1, 2)
hlist1B <- split(hits1, fB)
hlist2B <- split(hits2, fB)
stopifnot(identical(as(hlist1B, "SortedByQueryHitsList"), hlist2B))
stopifnot(identical(hlist1B, as(hlist2B, "HitsList")))