XIntegerViews-class {IRanges} | R Documentation

## The XIntegerViews class

### Description

The XIntegerViews class is the basic container for storing a set of views (start/end locations) on the same XInteger object.

### Details

An XIntegerViews object contains a set of views (start/end locations) on the same XInteger object called "the subject integer vector" or simply "the subject". Each view is defined by its start and end locations: both are integers such that start <= end. An XIntegerViews object is in fact a particular case of a Views object (the XIntegerViews class contains the Views class) so it can be manipulated in a similar manner: see `?Views` for more information. Note that two views can overlap and that a view can be "out of limits" i.e. it can start before the first element of the subject or/and end after its last element.

### Other methods

In the code snippets below, `x`, `object`, `e1` and `e2` are XIntegerViews objects, and `i` can be a numeric or logical vector.

  `x[[i]]`: Extract a view as an XInteger object. `i` must be a single numeric value (a numeric vector of length 1). Can't be used for extracting a view that is "out of limits" (raise an error). The returned object has the same XInteger subtype as `subject(x)`.
  `e1 == e2`: A vector of logicals indicating the result of the view by view comparison. The views in the shorter of the two XIntegerViews object being compared are recycled as necessary.
  `e1 != e2`: Equivalent to `!(e1 == e2)`.

### Author(s)

P. Aboyoun

### See Also

Views-class, XInteger-class, Views-utils

### Examples

      ## One standard way to create an XIntegerViews object is to use
      ## the Views() constructor:
      subject <- as(c(45, 67, 84, 67, 45, 78), "XInteger")
      v4 <- Views(subject, start=3:0, end=5:8)
      v4
      subject(v4)
      length(v4)
      start(v4)
      end(v4)
      width(v4)

      ## Attach a comment to views #3 and #4:
      names(v4)[3:4] <- "out of limits"
      names(v4)

      ## A more programatical way to "tag" the "out of limits" views:
      names(v4)[start(v4) < 1 | length(subject(v4)) < end(v4)] <- "out of limits"
      ## or just:
      names(v4)[length(subject(v4)) < width(v4)] <- "out of limits"

      ## Extract a view as an XInteger object:
      v4[[2]]

      ## It is an error to try to extract an "out of limits" view:
      #v4[[3]] # Error!

      ## Here the first view doesn't even overlap with the subject:
      subject <- as(c(97, 97, 97, 45, 45, 98), "XInteger")
      Views(subject, start=-3:4, end=-3:4 + c(3:6, 6:3))

[Package IRanges version 1.2.3 Index]