RangesMatching-class {IRanges} | R Documentation

## Matchings between Ranges

### Description

The `RangesMatching` class stores a set of matchings between the ranges in one `Ranges` object and the ranges in another. Currently, `RangesMatching` are used to represent the result of an `overlap` query, though other matching operations are imaginable.

### Details

The `as.matrix` method coerces a `RangesMatching` to a two column `matrix` with one row for each matching, where the value in the first column is the index of a range in the first (query) `Ranges` and the index of the matched subject range is in the second column. The `matchMatrix` function returns the same thing, but use of `as.matrix` is preferred.

The `as.table` method counts the number of matchings for each query range and outputs the counts as a `table`.

To transpose a `RangesMatching` `x`, so that the subject and query are interchanged, call `t(x)`. This allows, for example, counting the number of subjects that matched using `as.table`.

To get the actual regions of intersection between the overlapping ranges, use the `ranges` accessor.

### Coercion

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

  `as.matrix(x)`: Coerces `x` to a two column integer matrix, with each row representing a matching between a query index (first column) and subject index (second column).
  `as.table(x)`: counts the number of matchings for each query range in `x` and outputs the counts as a `table`.
  `t(x)`: Interchange the query and subject in `x`, returns a transposed `RangesMatching`.

### Accessors

  `matchMatrix(x)`: A synonym for `as.matrix`, above.
  `ranges(x, query, subject)`: returns a `Ranges` holding the intersection of the ranges in the `Ranges` objects `query` and `subject`, which should be the same subject and query used to generate `x`. Eventually, we might store the query and subject inside `x`, in which case the arguments would be redundant.
  `length(x)`: get the number of matches
  `nrow(x)`: get the number of subjects in the matching
  `ncol(x)`: get the number of queries in the matching
  `dim(x)`: get a two-element integer vector, essentially `c(nrow(x), ncol(x))`.

### Author(s)

Michael Lawrence

### See Also

`overlap`, which generates an instance of this class.

### Examples

      query <- IRanges(c(1, 4, 9), c(5, 7, 10))
      subject <- IRanges(c(2, 2, 10), c(2, 3, 12))
      tree <- IntervalTree(subject)
      matchings <- overlap(tree, query)

      as.matrix(matchings)

      as.table(matchings) # hits per query
      as.table(t(matchings)) # hits per subject

[Package IRanges version 1.2.3 Index]