Newer
Older
% Generated by roxygen2: do not edit by hand
splat(params = defaultParams(), method = c("single", "groups", "paths"),
splatSingle(params = defaultParams(), verbose = TRUE, ...)
splatGroups(params = defaultParams(), verbose = TRUE, ...)
splatPaths(params = defaultParams(), verbose = TRUE, ...)
\item{params}{splatParams object containing parameters for the simulation.
See \code{\link{splatParams}} for details.}
\item{method}{which simulation method to use. Options are "single" which
produces a single population, "groups" which produces distinct groups
(eg. cell types) or "paths" which selects cells from continuous
trajectories (eg. differentiation process).}
\item{verbose}{logical. Whether to print progress messages.}
\item{...}{any additional parameter settings to override what is provided in
\code{params}.}
SCESet object containing the simulated counts and intermediate values
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
Simulate count data from a fictional single-cell RNA-seq experiment.
}
\details{
Parameters can be set in a variety of ways. If no parameters are provided
the default parameters are used (see \code{\link{defaultParams}}). Any
parameters in \code{params} can be overridden by supplying additional
arguments through a call to \code{\link{setParams}}. Finally any parameters
the are still missing (\code{NA}) are replaced with the defaults through a
call to \code{\link{mergeParams}}. This design allows the user flexibility in
how they supply parameters and allows small adjustments without creating a
new \code{splatParams} object. See examples for a demonstration of how this
can be used.
The simulation involves the following steps:
\enumerate{
\item Set up simulation object
\item Simulate library sizes
\item Simulate gene means
\item Simulate groups/paths
\item Simulate BCV adjusted cell means
\item Simulate true counts
\item Simulate dropout
\item Create final SCESet object
}
The final output is an \code{\link{SCESet}} object that contains the
simulated counts but also the values for various intermediate steps. These
are stored in the \code{\link{phenoData}} (for cell specific information),
\code{\link{featureData}} (for gene specific information) or
\code{\link{assayData}} (for gene by cell matrices) slots. This additional
information includes:
\itemize{
\item \code{phenoData}
\itemize{
\item Cell - unique cell identifier
\item Group - the group or path the cell belongs to
\item ExpLibSize - the expected library size for that cell
\item Step (paths only) - how far along the path each cell is
}
\item \code{featureData}
\itemize{
\item Gene - unique gene identifier
\item BaseGeneMean - the base expression level for that gene
\item OutlierFactor - expression outlier factor for that gene. Values
of 1 indicate the gene is not an expression outlier.
\item GeneMean - expression level after applying outlier factors.
\item DEFac[Group] - the differential expression factor for each gene
in a particular group. Values of 1 indicate the gene is not
differentially expressed.
\item GeneMean[Group] - expression level of a gene in a particular
group after applying differential expression factors.
}
\item \code{assayData}
\itemize{
\item BaseCellMeans - the expression of genes in each cell adjusted for
expected library size.
\item BCV - the Biological Coefficient of Variation for each gene in
each cell.
\item CellMeans - the expression level of genes in each cell adjusted
for BCV.
\item TrueCounts - the simulated counts before dropout.
\item Dropout - logical matrix showing which values have been dropped
in which cells.
}
}
Values that have been added by Splatter are named using \code{CamelCase} in
order to differentiate them from the values added by Scater which uses
\code{underscore_naming}.
# Simulation with default parameters
sim <- splat()
# Simulation with different number of genes
sim <- splat(nGenes = 1000)
sim <- splat(params)
# Simulation with adjusted custom parameters
sim <- splat(params, mean.rate = 0.6, out.prob = 0.2)
# Simulate paths instead of groups
sim <- splat(method = "paths")
\seealso{
\code{\link{addLibSizes}}, \code{\link{addGeneMeans}},
\code{\link{addSingleCellMeans}}, \code{\link{addGroupDE}},
\code{\link{addGroupCellMeans}}, \code{\link{addPathDE}},
\code{\link{addPathCellMeans}}, \code{\link{addBCVMeans}},
\code{\link{addTrueCounts}}, \code{\link{addDropout}}
}