RangedData-utils {IRanges} | R Documentation

## RangedData utility functions

### Description

Utility functions for manipulating `RangedData` objects.

### Usage

    ## S4 method for signature 'expressionORlanguage,
    ##   RangedData':
    eval(expr, envir, enclos =
    parent.frame())
    ## S4 method for signature 'RangedData':
    range(x, ..., na.rm = FALSE)

### Arguments

`expr` | The `expression`, `call`, or `name` to be evaluated.
`envir` | The `RangedData` object in which to evaluate `expr`.
`enclos` | The `environment` in which to look for symbols that do not exist in the environment formed from `RangedData`.
`x` | A `RangedData` object
`...` | Additional `RangedData` objects
`na.rm` | Ignored

### Details

The `eval` method converts the `RangedData` object specified in `envir` to an `environmnent`, with `enclos` as its parent, and then evaluates `expr` within that environment. The `RangedData` environment contains the following objects:

`ranges`
  The result of `unlist(ranges(envir))`, i.e. all of the ranges in a single `Ranges` object.
`colnames(envir)`
  The data columns in `envir` are stored individually by their column names.

The objects are not actually copied into the environment. Rather, they are dynamically bound using `makeActiveBinding`. This prevents unnecessary copying of the data from the external vectors into R vectors. The values are cached, so that the data is not copied every time the symbol is accessed.

`range` returns a `RangesList` resulting from calling `range(ranges(x))`, i.e. the bounds of the ranges in each space.

### Value

The result of expression evaluation.

### Author(s)

Michael Lawrence

### See Also

`FilterRules` objects, which can be evaluated on a `RangedData`, and the base `eval` function.

### Examples

      ranges <- IRanges(c(1,2,3),c(4,5,6))
      score <- c(10L, 2L, NA)
      rd <- RangedData(ranges, score)
      eval(quote(score > 3), rd)

      range(rd)
      rd2 <- RangedData(IRanges(c(5,2,0), c(6,3,1)))
      range(rd, rd2)

[Package IRanges version 1.2.3 Index]