AnnotatedList-class {IRanges} | R Documentation |
The class AnnotatedList
extends
TypedList
to contain two optional metadata
elements: a list with arbitrary annotations, and a
data frame with local metadata on each element.
Data analysis should not occur in a vacuum: every dataset floats in a sea of metadata, describing the observed features, as well as the experimental design and methodology. Some metadata is local to an experiment, such as its design, while other information, such as the layout of a microarray chip, transcends individual experiments.
The list structure is fundamental to computationally representing
datasets. For example, the data.frame
is a list of column
vectors. The AnnotatedList
is a list that additionally aims to
store local metadata and reference global annotation resources.
This is implemented by adding two optional components on top of the
underlying TypedList
:
XDataFrame
(or
NULL
) with a row for each element and a column for each
metadata variable. This is for storing metadata local to the
experiment, such as experimental design, or chromosome-wide
statistics for datasets of genomic features.
In the following code snippets, x
is a TypedList
object.
metadata(x)
, metadata(x) <- value
: Get or set the
list holding arbitary R objects as annotations. May be, and often
is, empty.
elementMetadata(x), elementMetadata(x) <- value
:
Get or set the
XDataFrame
holding local metadata on each
element. The rows are named according to the names of the
elements. Optional, may be NULL
.
AnnotatedList(elements = list(), metadata = NULL,
elementMetadata = NULL)
:
Constructs an instance of an AnnotatedList
containing the
elements in the ordinary list elements
. The parameters
metadata
and elementMetadata
correspond to the
components described above.
Michael Lawrence
RangesList
and
XDataFrame
both extend this class.
## demonstrated on RangesList objects, a subtype of AnnotatedList 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(range1, range2) ## access 'metadata' component metadata(collection)$genome <- "hg18" metadata(collection) ## set some element metadata elementMetadata(collection) <- XDataFrame(chrom = c("chr1", "chr2")) elementMetadata(collection)