Collapse technical replicates in a RangedSummarizedExperiment or DESeqDataSet
Collapses the columns in object
by summing within levels
of a grouping factor groupby
. The purpose of this function
is to sum up read counts from technical replicates to create an object
with a single column of read counts for each sample.
Note: by "technical replicates", we mean multiple sequencing runs of the same
library, in constrast to "biological replicates" in which multiple
libraries are prepared from separate biological units.
Optionally renames the columns of returned object with the levels of the
grouping factor.
Note: this function is written very simply and
can be easily altered to produce other behavior by examining the source code.
collapseReplicates(object, groupby, run, renameCols = TRUE)
object |
A |
groupby |
a grouping factor, as long as the columns of object |
run |
optional, the names of each unique column in object. if provided,
a new column |
renameCols |
whether to rename the columns of the returned object using the levels of the grouping factor |
the object
with as many columns as levels in groupby
.
This object has assay/count data which is summed from the various
columns which are grouped together, and the colData
is subset using
the first column for each group in groupby
.
dds <- makeExampleDESeqDataSet(m=12) # make data with two technical replicates for three samples dds$sample <- factor(sample(paste0("sample",rep(1:9, c(2,1,1,2,1,1,2,1,1))))) dds$run <- paste0("run",1:12) ddsColl <- collapseReplicates(dds, dds$sample, dds$run) # examine the colData and column names of the collapsed data colData(ddsColl) colnames(ddsColl) # check that the sum of the counts for "sample1" is the same # as the counts in the "sample1" column in ddsColl matchFirstLevel <- dds$sample == levels(dds$sample)[1] stopifnot(all(rowSums(counts(dds[,matchFirstLevel])) == counts(ddsColl[,1])))
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.