RangesList-utils {IRanges}R Documentation

RangesList utility functions

Description

Utility functions for manipulating RangesList objects.

Usage

## S4 method for signature 'RangesList':
gaps(x, start=NA, end=NA)
## S4 method for signature 'RangesList':
reduce(x, with.inframe.attrib = FALSE)
## S4 method for signature 'RangesList':
range(x, ..., na.rm = FALSE)

Arguments

x A RangesList
start The start of the range over which to calculate the gaps. If NA, use the minimum start position in the Ranges object.
end The end of the range over which to calculate the gaps. If NA, use the maximum end position in the Ranges object.
with.inframe.attrib Ignored.
... Additional RangesList objects
na.rm Ignored

Details

The gaps function takes the complement (the gaps) of each element in the list and returns the result as a RangesList.

The reduce method merges (via reduce) all of the elements into a single Ranges object and returns the result as a length-one RangesList.

range finds the range, i.e. a Ranges with one range, from the minimum start to the maximum end, on each element in x and returns the result as a RangesList. If there are additional RangesList objects in ..., they are merged into x by name, if all objects have names, otherwise, if they are all of the same length, by position. Else, an exception is thrown.

Value

A RangesList object. For gaps and range, length is the same as that of x. For reduce, length is one.

Author(s)

Michael Lawrence, H. Pages

See Also

RangesList, reduce, gaps

Examples

  # 'gaps'
  range1 <- IRanges(start=c(1,2,3), end=c(5,2,8))
  range2 <- IRanges(start=c(15,45,20,1), end=c(15,100,80,5))
  collection <- RangesList(one = range1, range2)

  # these two are the same
  RangesList(gaps(range1), gaps(range2))
  gaps(collection)

  # 'reduce'
  range2 <- IRanges(start=c(45,20,1), end=c(100,80,5))
  collection <- RangesList(one = range1, range2)

  # and these two are the same
  reduce(collection)
  RangesList(asNormalIRanges(IRanges(c(1,20), c(8, 100)), force=FALSE))

  # 'range'
  rl <- RangesList(a = IRanges(c(1,2),c(4,3)), b = IRanges(c(4,6),c(10,7)))
  rl2 <- RangesList(c = IRanges(c(0,2),c(4,5)), a = IRanges(c(4,5),c(6,7)))
  range(rl, rl2) # matched by names
  names(rl2) <- NULL
  range(rl, rl2) # now by position

[Package IRanges version 1.2.3 Index]