RangesMatching-class         package: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 a
     call to 'findOverlaps', 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:


      'queryHits(x)': Gets the indices of overlapping ranges in the
          query, equivalent to 'as.matrix(x)[,1]'.

      'subjectHits(x)': Gets the indices of overlapping ranges in the
          subject, equivalent to 'as.matrix(x)[,2]'.

      '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 queries in the matching

      'ncol(x)': get the number of subjects in the matching

      'dim(x)': get a two-element integer vector, essentially
          'c(nrow(x), ncol(x))'.


Author(s):

     Michael Lawrence

See Also:

     'findOverlaps', 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 <- findOverlaps(query, tree)

       as.matrix(matchings)

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

