Classes in ExperimentList
are designed to store lists of
experiments such as SummarizedExperiment
,
RangedSummarizedExperiment
, SingleCellExperiment
,
SpatialExperiment
. Each experiment object is stored in its own
ExperimentList class respectively (one of SummarizedExperimentList
,
RangedSummarizedExperimentList
, SingleCellExperimentList
,
SpatialExperimentList
). In addition to storing experiment data, the
class also stores experiment-specific annotations associated with each
experiment, analogous to colData
in a SummarizedExperiment object.
ExperimentList(
experiments = SimpleList(),
experimentData = DataFrame(),
check.names = TRUE,
change.names = TRUE
)
a SimpleList
or list
containing a list of
SummarizedExperiment
, RangedSummarizedExperiment
,
SingleCellExperiment
, or SpatialExperiment
objects.
a DataFrame
or data.frame
containing
experiment specific annotations. The number of rows in
experimentData
should match the number of experiments
.
a logical specifying whether names of experiments
should be checked against row names of experimentData
(default is
TRUE).
a logical indicating whether column names of columns in each individual experiment object should be concatenated with experiment names to ensure unique column names (default is TRUE).
One of the following objects: SummarizedExperimentList
,
RangedSummarizedExperimentList
, SingleCellExperimentList
, or
SpatialExperimentList
.
This class is designed to enable analysis of data from multiple
experiments. In the context of transcriptomic data, these could be data
from different studies. For single-cell or spatial transcriptomics data,
these could be data from different samples but from the same study. In
these scenarios, analysis of data from different biological samples is made
possible by ExperimentList
objects.
Similar to the design of SummarizedExperiment
, ExperimentList
enables storing and subsetting of experiment-specific annotations as part
of the experimentData
stored within each object.
nrows <- 200; ncols <- 6
#Experiment 1
counts <- matrix(runif(nrows * ncols, 1, 1e4), nrows)
colData <- DataFrame(Treatment=rep(c("ChIP", "Input"), 3),
row.names=LETTERS[1:6])
se1 <- SummarizedExperiment(assays=SimpleList(counts=counts),
colData=colData)
#Experiment 2
counts <- matrix(runif(nrows * ncols, 1, 1e4), nrows)
colData <- DataFrame(Treatment=rep(c("ChIP", "Input"), 3),
row.names=LETTERS[1:6])
se2 <- SummarizedExperiment(assays=SimpleList(counts=counts),
colData=colData)
#Experiment annotation
experimentData <- DataFrame(age = c(36, 72),
sex = c("F", "M"),
row.names = c("PatientA", "PatientB"))
#Create ExperimentList
experiments = SimpleList("PatientA" = se1, "PatientB" = se2)
el = ExperimentList(experiments = experiments,
experimentData = experimentData)
el
#> ExperimentList with 2 SummarizedExperiments
#> class: SummarizedExperimentList
#> dim: 200 12
#> metadata(0):
#> assays(1): counts
#> rownames: NULL
#> rowData names(0):
#> colnames(12): PatientA.A PatientA.B ... PatientB.E PatientB.F
#> colData names(1): Treatment
#> experiments: 2
#> experimentNames (2): PatientA PatientB
#> experimentData names (2): age sex