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

  `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 `NULL` if the query did not have any names.

### Coercion

In the code snippets below, `x` is a HitsList object.

  `as.matrix(x)`: calls `as.matrix` on each Hits, combines them row-wise and offsets the indices so that they are aligned with the result of calling `unlist` on the query and subject.

  `as.table(x)`: counts the number of hits for each query element in `x` and outputs the counts as a `table`, which is aligned with the result of calling `unlist` on 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

- `findOverlaps` in 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")))

[Package S4Vectors version 0.24.4 Index]