RangedData-methods {rtracklayer}R Documentation

Data on a Genome

Description

The rtracklayer package adds convenience methods on top of RangedData manipulate data on genomic ranges. The spaces are now called chromosomes (but could still refer to some other type of sequence). The universe refers to the genome and there is formal treatment of an optional strand variable.

Accessors

In the code snippets below, x is a RangedData object.

chrom(x): Gets the chromosome names (a factor) over the ranges in x.
genome(x), genome(x) <- value: Gets or sets the genome (a single string or NULL) for the ranges in x; simple wrappers around universe and universe<-, respectively.
strand(x): Gets the strand factor in x, with the standard levels: -, + and *, referring to the negative, positive and either/both strands, respectively. Any strand factor stored in the RangedData should have those levels. NA's are allowed; the value is all NA if no strand has been specified.
score(x): gets the column representing a "score" in x, as a vector. This is the column named score, or, if this does not exist, the first column, if it is numeric. Otherwise, NULL is returned.
score(x) <- value: sets the column named score to value, which should be a numeric vector of length equal to the number of rows.

Constructor

GenomicData(ranges, ..., strand = NULL, chrom = NULL, genome = NULL): Constructs a RangedData instance with the given ranges and variables in ... (see the RangedData constructor). If non-NULL, strand specifies the strand of each range. It should be a character vector or factor of length equal to that of ranges. All values should be either -, +, * or NA. To get these levels, call levels(strand()). chrom is analogous to splitter in RangedData; if non-NULL it should be coercible to a factor indicating how the ranges, variables and strand should be split up across the chromosomes. The genome argument should be a scalar string and is treated as the RangedData universe. See the examples.

Author(s)

Michael Lawrence

Examples

  range1 <- IRanges(start=c(1,2,3), end=c(5,2,8))

  ## just ranges
  gr <- GenomicData(range1) 

  ## with a genome (universe)
  gr <- GenomicData(range1, genome = "hg18")
  genome(gr) ## "hg18"

  ## with some data
  filter <- c(1L, 0L, 1L)
  score <- c(10L, 2L, NA)
  strand <- factor(c("+", NA, "-"), levels = levels(strand()))
  gr <- GenomicData(range1, score, genome = "hg18")
  gr[["score"]]
  strand(gr) ## all NA
  gr <- GenomicData(range1, score, filt = filter, strand = strand)
  gr[["filt"]]
  strand(gr) ## equal to 'strand'

  range2 <- IRanges(start=c(15,45,20,1), end=c(15,100,80,5))
  ranges <- c(range1, range2)
  score <- c(score, c(0L, 3L, NA, 22L)) 
  chrom <- paste("chr", rep(c(1,2), c(length(range1), length(range2))), sep="")
  
  gr <- GenomicData(ranges, score, chrom = chrom, genome = "hg18")
  chrom(gr) # equal to 'chrom'
  gr[["score"]] # unlists over the chromosomes
  score(gr)
  gr[1][["score"]] # equal to score[1:3]

[Package rtracklayer version 1.4.1 Index]