diff --git a/DESCRIPTION b/DESCRIPTION
index 466ea86647ab53406edd67c730dfd21f5452b752..f90032f19408d3931f539627e91c784c82266444 100644
--- a/DESCRIPTION
+++ b/DESCRIPTION
@@ -1,16 +1,19 @@
 Package: splatter
 Type: Package
 Title: Simple Simulation of Single-cell RNA Sequencing Data
-Version: 1.3.1
-Date: 2018-01-03
+Version: 1.5.0
+Date: 2018-05-02
 Author: Luke Zappia
 Authors@R:
     c(person("Luke", "Zappia", role = c("aut", "cre"),
-      email = "luke.zappia@mcri.edu.au"),
+      email = "luke.zappia@mcri.edu.au",
+      comment = c(ORCID = "0000-0001-7744-8565")),
       person("Belinda", "Phipson", role = c("aut"),
-      email = "belinda.phipson@mcri.edu.au"),
+      email = "belinda.phipson@mcri.edu.au",
+      comment = c(ORCID = "0000-0002-1711-7454")),
       person("Alicia", "Oshlack", role = c("aut"),
-      email = "alicia.oshlack@mcri.edu.au"))
+      email = "alicia.oshlack@mcri.edu.au",
+      comment = c(ORCID = "0000-0001-9788-5690")))
 Maintainer: Luke Zappia <luke.zappia@mcri.edu.au>
 Description: Splatter is a package for the simulation of single-cell RNA
     sequencing count data. It provides a simple interface for creating complex
@@ -21,7 +24,6 @@ License: GPL-3 + file LICENSE
 LazyData: TRUE
 Depends:
     R (>= 3.4),
-    scater,
     SingleCellExperiment
 Imports:
     akima,
@@ -35,9 +37,11 @@ Imports:
     matrixStats,
     methods,
     scales,
+    scater (>= 1.7.4),
     stats,
     SummarizedExperiment,
-    utils
+    utils,
+    crayon
 Suggests:
     BiocStyle,
     covr,
@@ -55,7 +59,8 @@ Suggests:
     mfa,
     phenopath,
     BASiCS,
-    zinbwave
+    zinbwave,
+    SparseDC
 biocViews: SingleCell, RNASeq, Transcriptomics, GeneExpression, Sequencing,
     Software
 URL: https://github.com/Oshlack/splatter
diff --git a/NAMESPACE b/NAMESPACE
index 10ec6366eedc40429d531449e2701f3c72a8c7d4..b0706b9b162d1b10ebd0e493b7b0c82ca2fc3bdb 100644
--- a/NAMESPACE
+++ b/NAMESPACE
@@ -1,6 +1,6 @@
 # Generated by roxygen2: do not edit by hand
 
-S3method(BASiCSEstimate,SCESet)
+S3method(BASiCSEstimate,SingleCellExperiment)
 S3method(BASiCSEstimate,matrix)
 S3method(lun2Estimate,SingleCellExperiment)
 S3method(lun2Estimate,matrix)
@@ -15,6 +15,8 @@ S3method(scDDEstimate,default)
 S3method(scDDEstimate,matrix)
 S3method(simpleEstimate,SingleCellExperiment)
 S3method(simpleEstimate,matrix)
+S3method(sparseDCEstimate,SingleCellExperiment)
+S3method(sparseDCEstimate,matrix)
 S3method(splatEstimate,SingleCellExperiment)
 S3method(splatEstimate,matrix)
 S3method(zinbEstimate,SingleCellExperiment)
@@ -43,6 +45,7 @@ export(newMFAParams)
 export(newPhenoParams)
 export(newSCDDParams)
 export(newSimpleParams)
+export(newSparseDCParams)
 export(newSplatParams)
 export(newZINBParams)
 export(phenoEstimate)
@@ -53,6 +56,8 @@ export(setParam)
 export(setParams)
 export(simpleEstimate)
 export(simpleSimulate)
+export(sparseDCEstimate)
+export(sparseDCSimulate)
 export(splatEstimate)
 export(splatSimulate)
 export(splatSimulateGroups)
@@ -68,6 +73,7 @@ exportClasses(MFAParams)
 exportClasses(PhenoParams)
 exportClasses(SCDDParams)
 exportClasses(SimpleParams)
+exportClasses(SparseDCParams)
 exportClasses(SplatParams)
 exportClasses(ZINBParams)
 importFrom(BiocParallel,SerialParam)
@@ -127,4 +133,5 @@ importFrom(stats,rnbinom)
 importFrom(stats,rnorm)
 importFrom(stats,rpois)
 importFrom(stats,runif)
+importFrom(stats,shapiro.test)
 importFrom(utils,head)
diff --git a/NEWS.md b/NEWS.md
index 91b574378f2cc0a39d7f66e497513cb10500b2c5..9ac04f629bd292cfb67b38c64518a8abf991ce44 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -1,10 +1,62 @@
+## Version 1.5.0 (2018-01-02)
+
+* Bioconductor 3.7 devel
+
+# Version 1.4.0 (2018-01-02)
+
+* Bioconductor 3.7 release
+
+## Version 1.3.6 (2018-04-30)
+
+* Set seed in sparseDCEstimate tests
+
+## Version 1.3.5 (2018-04-25)
+
+* Replace dropout.present with dropout.type in SplatParams
+    * Allows users to set dropout by experiment, batch, group or cell
+
+## Version 1.3.4 (2018-04-19)
+
+* Add option to use a normal distribution for library sizes in Splat simulations
+* Add SparseDC simulation
+* Rename params in metadata slot of simulation to Params for consistency
+* Add checks to SplatParams to reset path.from if nGroups changes
+* Improve printing of parameters stored as data.frames
+* Colourise Params print output and listSims output
+* Improve warning message when fitting means in splatEstimate fails
+* Simplify problematic documentation links
+
+### Version 1.3.3.9010 (2018-04-12)
+
+* Add option to use a normal distribution for library sizes in Splat simulations
+
+### Version 1.3.3.9000 (2018-04-12)
+
+* Replace dropout.present with dropout.type in SplatParams
+    * Allows more control over dropout.mid and dropout.shape
+
+## Version 1.3.3 (2018-03-27)
+
+* Fix parameter passing bug in scDDEstimate
+
+## Version 1.3.2 (2018-01-31)
+
+* Fix QC names that have been changed in scater
+* Move scater to Imports and add scater version
+* Remove lingering references to SCESets
+* Add more tests
+
 ## Version 1.3.1 (2018-01-03)
 
 * Fix error in vignette caused by changes in scater
 
 ## Version 1.3.0 (2017-10-13)
 
-* Bioconductor 3.7 devel 
+* Bioconductor 3.7 devel
+
+## Version 1.2.2 (2018-03-27)
+
+* Fix parameter passing bug in scDDEstimate
 
 ## Version 1.2.1 (2017-11-23)
 
diff --git a/R/AllClasses.R b/R/AllClasses.R
index 35e0d9ec21dcd93cf861b12ad3f1dcea4401f13d..dff138aced34f648538eb44a98320cf5714bb1de 100644
--- a/R/AllClasses.R
+++ b/R/AllClasses.R
@@ -95,9 +95,13 @@ setClass("SimpleParams",
 #'     \item{\emph{Library size parameters}}{
 #'         \describe{
 #'             \item{\code{lib.loc}}{Location (meanlog) parameter for the
-#'             library size log-normal distribution.}
+#'             library size log-normal distribution, or mean parameter if a
+#'             normal distribution is used.}
 #'             \item{\code{lib.scale}}{Scale (sdlog) parameter for the library
-#'             size log-normal distribution.}
+#'             size log-normal distribution, or sd parameter if a normal
+#'             distribution is used.}
+#'             \item{\code{lib.norm}}{Logical. Whether to use a normal
+#'             distribution for library sizes instead of a log-normal.}
 #'         }
 #'     }
 #'     \item{\emph{Expression outlier parameters}}{
@@ -142,8 +146,12 @@ setClass("SimpleParams",
 #'     }
 #'     \item{\emph{Dropout parameters}}{
 #'         \describe{
-#'             \item{\code{dropout.present}}{Logical. Whether to simulate
-#'             dropout.}
+#'             \item{\code{dropout.type}}{The type of dropout to simulate.
+#'             "none" indicates no dropout, "experiment" is global dropout using
+#'             the same parameters for every cell, "batch" uses the same
+#'             parameters for every cell in each batch, "group" uses the same
+#'             parameters for every cell in each groups and "cell" uses a
+#'             different set of parameters for each cell.}
 #'             \item{\code{dropout.mid}}{Midpoint parameter for the dropout
 #'             logistic function.}
 #'             \item{\code{dropout.shape}}{Shape parameter for the dropout
@@ -197,6 +205,7 @@ setClass("SplatParams",
                    mean.rate = "numeric",
                    lib.loc = "numeric",
                    lib.scale = "numeric",
+                   lib.norm = "logical",
                    out.prob = "numeric",
                    out.facLoc = "numeric",
                    out.facScale = "numeric",
@@ -208,7 +217,7 @@ setClass("SplatParams",
                    de.facScale = "numeric",
                    bcv.common = "numeric",
                    bcv.df = "numeric",
-                   dropout.present = "logical",
+                   dropout.type = "character",
                    dropout.mid = "numeric",
                    dropout.shape = "numeric",
                    path.from = "numeric",
@@ -224,6 +233,7 @@ setClass("SplatParams",
                                mean.shape = 0.6,
                                lib.loc = 11,
                                lib.scale = 0.2,
+                               lib.norm = FALSE,
                                out.prob = 0.05,
                                out.facLoc = 4,
                                out.facScale = 0.5,
@@ -235,7 +245,7 @@ setClass("SplatParams",
                                de.facScale = 0.4,
                                bcv.common = 0.1,
                                bcv.df = 60,
-                               dropout.present = FALSE,
+                               dropout.type = "none",
                                dropout.mid = 0,
                                dropout.shape = -1,
                                path.from = 0,
@@ -657,3 +667,58 @@ setClass("ZINBParams",
          contains = "Params",
          slots = c(model = "ANY"),
          prototype = prototype(nGenes = 100, nCells = 50))
+
+
+#' The SparseDCParams class
+#'
+#' S4 class that holds parameters for the SparseDC simulation.
+#'
+#' @section Parameters:
+#'
+#' The SparseDC simulation uses the following parameters:
+#'
+#' \describe{
+#'     \item{\code{nGenes}}{The number of genes to simulate in each condition.}
+#'     \item{\code{nCells}}{The number of cells to simulate.}
+#'     \item{\code{[seed]}}{Seed to use for generating random numbers.}
+#'     \item{\code{markers.n}}{Number of marker genes to simulate for each
+#'     cluster.}
+#'     \item{\code{markers.shared}}{Number of marker genes for each cluster
+#'     shared between conditions. Must be less than or equal to
+#'     \code{markers.n}}.
+#'     \item{\code{[markers.same]}}{Logical. Whether each cluster should have
+#'     the same set of marker genes.}
+#'     \item{\code{clusts.c1}}{Numeric vector of clusters present in
+#'     condition 1. The number of times a cluster is repeated controls the
+#'     proportion of cells from that cluster.}
+#'     \item{\code{clusts.c2}}{Numeric vector of clusters present in
+#'     condition 2. The number of times a cluster is repeated controls the
+#'     proportion of cells from that cluster.}
+#'     \item{\code{[mean.lower]}}{Lower bound for cluster gene means.}
+#'     \item{\code{[mean.upper]}}{Upper bound for cluster gene means.}
+#' }
+#'
+#' The parameters not shown in brackets can be estimated from real data using
+#' \code{\link{sparseDCEstimate}}. For details of the SparseDC simulation
+#' see \code{\link{sparseDCSimulate}}.
+#'
+#' @name SparseDCParams
+#' @rdname SparseDCParams
+#' @aliases SparseDCParams-class
+#' @exportClass SparseDCParams
+setClass("SparseDCParams",
+         contains = "Params",
+         slots = c(markers.n = "numeric",
+                   markers.shared = "numeric",
+                   markers.same = "logical",
+                   clusts.c1 = "numeric",
+                   clusts.c2 = "numeric",
+                   mean.lower = "numeric",
+                   mean.upper = "numeric"),
+         prototype = prototype(markers.n = 0,
+                               markers.shared = 0,
+                               markers.same = FALSE,
+                               clusts.c1 = 1,
+                               clusts.c2 = 1,
+                               mean.lower = 1,
+                               mean.upper = 2))
diff --git a/R/BASiCS-estimate.R b/R/BASiCS-estimate.R
index e29e6a0e662edc136bc53f1a3bbd78e8704fa469..cfbea4606a91ae41e95c2363fa74de71766d2025 100644
--- a/R/BASiCS-estimate.R
+++ b/R/BASiCS-estimate.R
@@ -2,8 +2,8 @@
 #'
 #' Estimate simulation parameters for the BASiCS simulation from a real dataset.
 #'
-#' @param counts either a counts matrix or an SCESet object containing count
-#'        data to estimate parameters from.
+#' @param counts either a counts matrix or a SingleCellExperiment object
+#'        containing count data to estimate parameters from.
 #' @param spike.info data.frame describing spike-ins with two columns: "Name"
 #'        giving the names of the spike-in features (must match
 #'        \code{rownames(counts)}) and "Input" giving the number of input
@@ -31,7 +31,10 @@
 #'
 #' @examples
 #' \dontrun{
+#' # Load example data
+#' library(scater)
 #' data("sc_example_counts")
+#'
 #' spike.info <- data.frame(Name = rownames(sc_example_counts)[1:10],
 #'                          Input = rnorm(10, 500, 200),
 #'                          stringsAsFactors = FALSE)
@@ -49,10 +52,12 @@ BASiCSEstimate <- function(counts, spike.info = NULL, batch = NULL,
 
 #' @rdname BASiCSEstimate
 #' @export
-BASiCSEstimate.SCESet <- function(counts, spike.info = NULL, batch = NULL,
-                                  n = 20000, thin = 10, burn = 5000,
-                                  params = newBASiCSParams(), verbose = TRUE,
-                                  progress = TRUE, ...) {
+BASiCSEstimate.SingleCellExperiment <- function(counts, spike.info = NULL,
+                                                batch = NULL, n = 20000,
+                                                thin = 10, burn = 5000,
+                                                params = newBASiCSParams(),
+                                                verbose = TRUE, progress = TRUE,
+                                                ...) {
     counts <- BiocGenerics::counts(counts)
     BASiCSEstimate(counts, params)
 }
diff --git a/R/BASiCS-simulate.R b/R/BASiCS-simulate.R
index 78dfa9d47dda34d345a29733daa6c841cbb0e4b7..66cc4242aa349b2c58d62fe6ffd0c6b1a88f33ef 100644
--- a/R/BASiCS-simulate.R
+++ b/R/BASiCS-simulate.R
@@ -10,8 +10,8 @@
 #' @details
 #' This function is just a wrapper around \code{\link[BASiCS]{BASiCS_Sim}} that
 #' takes a \code{\link{BASiCSParams}}, runs the simulation then converts the
-#' output to an \code{\link[scater]{SCESet}} object. See
-#' \code{\link[BASiCS]{BASiCS_Sim}} for more details of how the simulation
+#' output to a \code{\link[SingleCellExperiment]{SingleCellExperiment}} object.
+#' See \code{\link[BASiCS]{BASiCS_Sim}} for more details of how the simulation
 #' works.
 #'
 #' @return SingleCellExperiment containing simulated counts
@@ -131,7 +131,7 @@ BASiCSSimulate <- function(params = newBASiCSParams(), verbose = TRUE, ...) {
     sim <- SingleCellExperiment(assays = list(counts = counts),
                                 rowData = features,
                                 colData = cells,
-                                metadata = list(params = params))
+                                metadata = list(Params = params))
 
     if (verbose) {message("Done!")}
     return(sim)
diff --git a/R/BASiCSParams-methods.R b/R/BASiCSParams-methods.R
index 90243b242b89972c980b1294ef23f4c78ba5a060..a2b0c4c24065832e5d6f21c2551cc3dfc1a6e82d 100644
--- a/R/BASiCSParams-methods.R
+++ b/R/BASiCSParams-methods.R
@@ -68,7 +68,7 @@ setValidity("BASiCSParams", function(object) {
 })
 
 #' @rdname setParam
-setMethod("setParam", "BASiCSParams",function(object, name, value) {
+setMethod("setParam", "BASiCSParams", function(object, name, value) {
     checkmate::assertString(name)
 
     if (name == "nCells" || name == "nBatches") {
@@ -87,7 +87,9 @@ setMethod("setParam", "BASiCSParams",function(object, name, value) {
 
 setMethod("show", "BASiCSParams", function(object) {
 
-    pp <- list("Batches:"     = c("(Batches)"     = "nBatches",
+    pp <- list("Genes:"       = c("(Params)"      = "gene.params"),
+               "Cells:"       = c("(Params)"      = "cell.params"),
+               "Batches:"     = c("(Batches)"     = "nBatches",
                                   "(Batch Cells)" = "batchCells"),
                "Spike-ins:"   = c("(Number)"      = "nSpikes",
                                   "(Means)"       = "spike.means"),
@@ -95,20 +97,6 @@ setMethod("show", "BASiCSParams", function(object) {
 
     callNextMethod()
 
-    gene.params <- getParam(object, "gene.params")
-    cell.params <- getParam(object, "cell.params")
-    cat("Genes:", "\n")
-    cat("(Params)", "\n")
-    cat("data.frame with", dim(gene.params)[1], "features\n")
-    print(head(gene.params, n = 3))
-    cat("  ...  ...\n\n")
-
-    cat("Cells:", "\n")
-    cat("(Params)", "\n")
-    cat("data.frame with", dim(cell.params)[1], "features\n")
-    print(head(cell.params, n = 3))
-    cat("  ...  ...\n\n")
-
     showPP(object, pp)
 })
 
diff --git a/R/Lun2Params-methods.R b/R/Lun2Params-methods.R
index 3e583999c5bbcf786ff81a5506ebc8ce7e29be33..de0b5992d5658011b731973c54ae749ab35e622c 100644
--- a/R/Lun2Params-methods.R
+++ b/R/Lun2Params-methods.R
@@ -81,7 +81,9 @@ setMethod("setParam", "Lun2Params", function(object, name, value) {
 
 setMethod("show", "Lun2Params", function(object) {
 
-    pp <- list("Plates:"    = c("[Number]"        = "nPlates",
+    pp <- list("Genes:"     = c("(Params)"        = "gene.params",
+                                "(ZI Params)"     = "zi.params"),
+               "Plates:"    = c("[Number]"        = "nPlates",
                                 "[Modifier]"      = "plate.mod",
                                 "(Variance)"      = "plate.var"),
                "Cells:"     = c("[Plates]"        = "cell.plates",
@@ -92,17 +94,5 @@ setMethod("show", "Lun2Params", function(object) {
 
     callNextMethod()
 
-    gene.params <- getParam(object, "gene.params")
-    zi.params <- getParam(object, "zi.params")
-    cat("Genes:", "\n")
-    cat("(Params)", "\n")
-    cat("data.frame with", dim(gene.params)[1], "features\n")
-    print(head(gene.params, n = 3))
-    cat("  ...  ...\n")
-    cat("(ZI Params)", "\n")
-    cat("data.frame with", dim(zi.params)[1], "features\n")
-    print(head(zi.params, n = 3))
-    cat("  ...  ...  ...\n\n")
-
     showPP(object, pp)
 })
diff --git a/R/Params-methods.R b/R/Params-methods.R
index b5d3ddd0203279f85cc05ad90510c1801fa85299..8725919bee7523f1c3896e900836a206a954bd0f 100644
--- a/R/Params-methods.R
+++ b/R/Params-methods.R
@@ -28,9 +28,10 @@ setMethod("show", "Params", function(object) {
                              "(Cells)" = "nCells",
                              "[Seed]"  = "seed"))
 
-    cat("A Params object of class", class(object), "\n")
-    cat("Parameters can be (estimable) or [not estimable],",
-        "'Default' or 'NOT DEFAULT'.", "\n\n")
+    cat("A", crayon::bold("Params"), "object of class",
+        crayon::bold(class(object)), "\n")
+    cat("Parameters can be (estimable) or", crayon::blue("[not estimable],"),
+        "'Default' or ", crayon::bold(crayon::green("'NOT DEFAULT'")), "\n\n")
     showPP(object, pp)
     cat(length(slotNames(object)) - 3, "additional parameters", "\n\n")
 })
@@ -48,4 +49,4 @@ setMethod("expandParams", "Params", function(object, vectors, n) {
     object <- setParamsUnchecked(object, update)
 
     return(object)
-})
\ No newline at end of file
+})
diff --git a/R/SCE-functions.R b/R/SCE-functions.R
index 34bc7ad8e81af276a566768f7a7a4f3aacf8da4f..5e4a8743c5b6d4e62e596e7b44980cbac560bbf5 100644
--- a/R/SCE-functions.R
+++ b/R/SCE-functions.R
@@ -14,10 +14,10 @@
 #' @details
 #' Currently adds the following statistics: mean, variance, coefficient of
 #' variation, median and median absolute deviation. Statistics are added to
-#' the \code{\link[SummarizedExperiment]{rowData}} slot and are named
-#' \code{Stat[Log]Value[No0]} where \code{Log} and \code{No0} are added if those
-#' arguments are true. UpperCamelCase is used to differentiate these columns
-#' from those added by analysis packages.
+#' the \code{\link{rowData}} slot and are named \code{Stat[Log]Value[No0]} where
+#' \code{Log} and \code{No0} are added if those arguments are true.
+#' UpperCamelCase is used to differentiate these columns from those added by
+#' analysis packages.
 #'
 #' @return SingleCellExperiment with additional feature statistics
 #'
@@ -88,7 +88,7 @@ addFeatureStats <- function(sce, value = c("counts", "cpm", "tpm", "fpkm"),
 #'
 #' @details
 #' This function adds simulated gene lengths to the
-#' \code{\link[SummarizedExperiment]{rowData}} slot of a
+#' \code{\link{rowData}} slot of a
 #' \code{\link[SingleCellExperiment]{SingleCellExperiment}} object that can be
 #' used for calculating length normalised expression values such as TPM or FPKM.
 #' The \code{generate} method simulates lengths using a (rounded) log-normal
diff --git a/R/SparseDCParams-methods.R b/R/SparseDCParams-methods.R
new file mode 100644
index 0000000000000000000000000000000000000000..361705674fd9aea2cbcbd684266c60d386048c39
--- /dev/null
+++ b/R/SparseDCParams-methods.R
@@ -0,0 +1,81 @@
+#' @rdname newParams
+#' @importFrom methods new
+#' @export
+newSparseDCParams <- function(...) {
+
+    if (!requireNamespace("SparseDC", quietly = TRUE)) {
+        stop("The SparseDC simulation requires the 'SparseDC' package.")
+    }
+
+    params <- new("SparseDCParams")
+    params <- setParams(params, ...)
+
+    return(params)
+}
+
+setValidity("SparseDCParams", function(object) {
+
+    v <- getParams(object, slotNames(object))
+
+    checks <- c(nGenes = checkmate::checkInt(v$nGenes, lower = 1),
+                nCells = checkmate::checkInt(v$nCells, lower = 1),
+                markers.n = checkmate::checkInt(v$markers.n, lower = 0,
+                                                upper = v$nGenes),
+                markers.shared = checkmate::checkInt(v$markers.shared,
+                                                     lower = 0,
+                                                     upper = v$markers.n),
+                markers.same = checkmate::checkFlag(v$markers.same),
+                clusts.c1 = checkmate::checkIntegerish(v$clusts.c1, lower = 1,
+                                                       any.missing = FALSE,
+                                                       min.len = 1),
+                clusts.c2 = checkmate::checkIntegerish(v$clusts.c2, lower = 1,
+                                                       any.missing = FALSE,
+                                                       min.len = 1),
+                mean.lower = checkmate::checkNumber(v$mean.lower,
+                                                    finite = TRUE),
+                mean.upper = checkmate::checkNumber(v$mean.upper,
+                                                    finite = TRUE),
+                seed = checkmate::checkInt(v$seed, lower = 0))
+
+    if (length(v$clusts.c1) == 1) {
+        if (v$clusts.c1 > 1) {
+            checks <- c(checks,
+                        clusts.c1 = "If clusts.c1 is length 1 it must equal 1")
+        }
+    }
+
+    if (length(v$clusts.c2) == 1) {
+        if (v$clusts.c2 > 1) {
+            checks <- c(checks,
+                        clusts.c2 = "If clusts.c2 is length 1 it must equal 1")
+        }
+    }
+
+    clusts.combined <- c(v$clusts.c1, v$clusts.c2)
+    if (!all(seq_len(max(clusts.combined)) %in% clusts.combined)) {
+        checks <- c(checks, clusts = "Cluster labels must be sequential")
+    }
+
+    if (all(checks == TRUE)) {
+        valid <- TRUE
+    } else {
+        valid <- checks[checks != TRUE]
+        valid <- paste(names(valid), valid, sep = ": ")
+    }
+
+    return(valid)
+})
+
+setMethod("show", "SparseDCParams", function(object) {
+
+    pp <- list("Markers:"  = c("(Number)"      = "markers.n",
+                               "(Shared)"      = "markers.shared",
+                               "[Same]"        = "markers.same"),
+               "Clusters:" = c("(Condition 1)" = "clusts.c1",
+                               "(Condition 2)" = "clusts.c2"),
+               "Means:"    = c("[Lower]"       = "mean.lower",
+                               "[Upper]"       = "mean.upper"))
+
+    callNextMethod()
+    showPP(object, pp)
+})
diff --git a/R/SplatParams-methods.R b/R/SplatParams-methods.R
index c0d9dc8b5b446f35e0785a03e7a13863d185624c..d0db76529ac1c9b405dc3bd16473ba16f5e76057 100644
--- a/R/SplatParams-methods.R
+++ b/R/SplatParams-methods.R
@@ -30,6 +30,7 @@ setValidity("SplatParams", function(object) {
                 mean.shape = checkNumber(v$mean.shape, lower = 0),
                 lib.loc = checkNumber(v$lib.loc),
                 lib.scale = checkNumber(v$lib.scale, lower = 0),
+                lib.norm = checkFlag(v$lib.norm),
                 out.prob = checkNumber(v$out.prob, lower = 0, upper = 1),
                 out.facLoc = checkNumber(v$out.facLoc),
                 out.facScale = checkNumber(v$out.facScale, lower = 0),
@@ -45,9 +46,12 @@ setValidity("SplatParams", function(object) {
                                            len = nGroups),
                 bcv.common = checkNumber(v$bcv.common, lower = 0),
                 bcv.df = checkNumber(v$bcv.df, lower = 0),
-                dropout.present = checkFlag(v$dropout.present),
-                dropout.mid = checkNumber(v$dropout.mid),
-                dropout.shape = checkNumber(v$dropout.shape),
+                dropout.type = checkCharacter(v$dropout.type, len = 1,
+                                              any.missing = FALSE),
+                dropout.mid = checkNumeric(v$dropout.mid, finite = TRUE,
+                                           any.missing = FALSE, min.len = 1),
+                dropout.shape = checkNumeric(v$dropout.shape, finite = TRUE,
+                                             any.missing = FALSE, min.len = 1),
                 path.from = checkIntegerish(v$path.from, lower = 0,
                                             upper = nGroups, len = nGroups),
                 path.length = checkIntegerish(v$path.length, lower = 1,
@@ -74,7 +78,15 @@ setValidity("SplatParams", function(object) {
     if (!(0 %in% v$path.from)) {
        checks <- c(checks, path.from = "origin must be specified in path.from")
     } else if (any(v$path.from == seq_len(nGroups))) {
-        checks <- c(checks, stop("path cannot begin at itself"))
+        checks <- c(checks, "path cannot begin at itself")
+    }
+
+    # Check dropout type
+    if (!(v$dropout.type %in%
+          c("none", "experiment", "batch", "group", "cell"))) {
+        checks <- c(checks,
+                    paste("dropout.type must be one of: 'none', 'experiment',",
+                          "'batch', 'group', 'cell'"))
     }
 
     if (all(checks == TRUE)) {
@@ -106,6 +118,50 @@ setMethod("setParam", "SplatParams",function(object, name, value) {
 
     if (name == "group.prob") {
         object <- setParamUnchecked(object, "nGroups", length(value))
+        path.from <- getParam(object, "path.from")
+        if (length(path.from) > 1 & length(path.from) != length(value)) {
+            warning("nGroups has changed, resetting path.from")
+            object <- setParam(object, "path.from", 0)
+        }
+    }
+
+    if (name == "dropout.type") {
+        mid.len <- length(getParam(object, "dropout.mid"))
+        mid.shape <- length(getParam(object, "dropout.shape"))
+        if ((value == "experiment")) {
+            if ((mid.len != 1) | (mid.shape != 1)) {
+                stop("dropout.type cannot be set to 'experiment' because ",
+                     "dropout.mid and dropout.shape aren't length 1, ",
+                     "set dropout.mid and dropout.shape first")
+            }
+        }
+        if ((value == "batch")) {
+            n <- getParam(object, "nBatches")
+            if ((mid.len != n) | (mid.shape != n)) {
+                stop("dropout.type cannot be set to 'batch' because ",
+                     "dropout.mid and dropout.shape aren't length equal to ",
+                     "nBatches (", n, "), set dropout.mid and dropout.shape ",
+                     "first")
+            }
+        }
+        if ((value == "group")) {
+            n <- getParam(object, "nGroups")
+            if ((mid.len != n) | (mid.shape != n)) {
+                stop("dropout.type cannot be set to 'group' because ",
+                     "dropout.mid and dropout.shape aren't length equal to ",
+                     "nGroups (", n, "), set dropout.mid and dropout.shape ",
+                     "first")
+            }
+        }
+        if ((value == "cell")) {
+            n <- getParam(object, "nCells")
+            if ((mid.len != n) | (mid.shape != n)) {
+                stop("dropout.type cannot be set to 'cell' because ",
+                     "dropout.mid and dropout.shape aren't length equal to ",
+                     "nCells (", n, "), set dropout.mid and dropout.shape ",
+                     "first")
+            }
+        }
     }
 
     object <- callNextMethod()
@@ -123,7 +179,8 @@ setMethod("show", "SplatParams", function(object) {
                "Mean:"           = c("(Rate)"         = "mean.rate",
                                      "(Shape)"        = "mean.shape"),
                "Library size:"   = c("(Location)"     = "lib.loc",
-                                     "(Scale)"        = "lib.scale"),
+                                     "(Scale)"        = "lib.scale",
+                                     "(Norm)"         = "lib.norm"),
                "Exprs outliers:" = c("(Probability)"  = "out.prob",
                                      "(Location)"     = "out.facLoc",
                                      "(Scale)"        = "out.facScale"),
@@ -135,7 +192,7 @@ setMethod("show", "SplatParams", function(object) {
                                      "[Scale]"        = "de.facScale"),
                "BCV:"            = c("(Common Disp)"  = "bcv.common",
                                      "(DoF)"          = "bcv.df"),
-               "Dropout:"        = c("[Present]"      = "dropout.present",
+               "Dropout:"        = c("[Type]"         = "dropout.type",
                                      "(Midpoint)"     = "dropout.mid",
                                      "(Shape)"        = "dropout.shape"),
                "Paths:"          = c("[From]"         = "path.from",
diff --git a/R/ZINBParams-methods.R b/R/ZINBParams-methods.R
index 2a2dabbb68008f0d6881ff23ff66488f38a7a7d9..08f3f79ccdf36a1b7de28ea2cbba4c67296bdf74 100644
--- a/R/ZINBParams-methods.R
+++ b/R/ZINBParams-methods.R
@@ -90,12 +90,20 @@ setMethod("show", "ZINBParams", function(object) {
     callNextMethod()
 
     model <- getParam(object, "model")
-    cat("Model:", "\n")
-    cat("ZinbModel with", zinbwave::nFeatures(model), "features,",
-        zinbwave::nSamples(model), "samples,", zinbwave::nFactors(model),
-        "latent factors and", zinbwave::nParams(model), "parameters", "\n\n")
-
     default <- zinbwave::zinbModel()
+    not.default <- !identical(model, default)
+    cat(crayon::bold("Model:"), "\n")
+    msg <- paste("ZinbModel with", zinbwave::nFeatures(model), "features,",
+                 zinbwave::nSamples(model), "samples,",
+                 zinbwave::nFactors(model), "latent factors and",
+                 zinbwave::nParams(model), "parameters")
+    if (not.default) {
+        msg <- crayon::bold(crayon::green(msg))
+    }
+    cat(msg, "\n\n")
+
+
+    cat(crayon::bold("Parameters of the ZinbModel"), "\n\n")
     for (category in names(pp)) {
         parameters <- pp[[category]]
         values <- lapply(parameters, function(x) {slot(model, x)})
@@ -118,9 +126,8 @@ setMethod("show", "ZINBParams", function(object) {
         default.values <- lapply(parameters, function(x) {slot(default, x)})
         default.values <- sapply(default.values, paste, collapse = ", ")
         not.default <- values != default.values
-        names(short.values)[not.default] <- toupper(names(values[not.default]))
-        cat("Model", category, "\n")
-        print(noquote(short.values), print.gap = 2)
+        cat(crayon::bold(c("Model", category)), "\n")
+        showValues(short.values, not.default)
         cat("\n")
     }
 
diff --git a/R/compare.R b/R/compare.R
index fb1f270dd6a74bc2e71f750fcf4eaa8a0ecfa25e..3743e64e657dbdb05ce5e11c8af874655f977436 100644
--- a/R/compare.R
+++ b/R/compare.R
@@ -79,8 +79,8 @@ compareSCEs <- function(sces, point.size = 0.1, point.alpha = 0.1,
         sce <- addFeatureStats(sce, "counts")
         sce <- addFeatureStats(sce, "cpm")
         sce <- addFeatureStats(sce, "cpm", log = TRUE)
-        colData(sce)$PctZero <- 100 * (1 - colData(sce)$total_features /
-                                           nrow(sce))
+        n.features <- colData(sce)$total_features_by_counts
+        colData(sce)$PctZero <- 100 * (1 - n.features / nrow(sce))
         sces[[name]] <- sce
     }
 
@@ -140,7 +140,7 @@ compareSCEs <- function(sces, point.size = 0.1, point.alpha = 0.1,
         theme_minimal()
 
     z.gene <- ggplot(features,
-                     aes_string(x = "Dataset", y = "pct_dropout_counts",
+                     aes_string(x = "Dataset", y = "pct_dropout_by_counts",
                                 colour = "Dataset")) +
         geom_boxplot() +
         scale_y_continuous(limits = c(0, 100)) +
@@ -160,7 +160,8 @@ compareSCEs <- function(sces, point.size = 0.1, point.alpha = 0.1,
         theme_minimal()
 
     mean.zeros <- ggplot(features,
-                         aes_string(x = "MeanCounts", y = "pct_dropout_counts",
+                         aes_string(x = "MeanCounts",
+                                    y = "pct_dropout_by_counts",
                                     colour = "Dataset", fill = "Dataset")) +
         geom_point(size = point.size, alpha = point.alpha) +
         scale_x_log10(labels = scales::comma) +
@@ -296,7 +297,7 @@ diffSCEs <- function(sces, ref, point.size = 0.1, point.alpha = 0.1,
     for (name in names(sces)) {
         sce <- sces[[name]]
         if (!identical(dim(sce), ref.dim)) {
-            stop("SCESets must have the same dimensions")
+            stop("all datasets in 'sces' must have the same dimensions")
         }
         rowData(sce)$Dataset <- name
         colData(sce)$Dataset <- name
@@ -304,8 +305,9 @@ diffSCEs <- function(sces, ref, point.size = 0.1, point.alpha = 0.1,
         cpm(sce) <- scater::calculateCPM(sce, use_size_factors = FALSE)
         sce <- addFeatureStats(sce, "counts")
         sce <- addFeatureStats(sce, "cpm", log = TRUE)
-        colData(sce)$PctZero <- 100 * (1 - colData(sce)$total_features /
-                                                              nrow(sce))
+        n.features <- colData(sce)$total_features_by_counts
+        colData(sce)$PctZero <- 100 * (1 - n.features / nrow(sce))
+        rowData(sce)$RankCounts <- rank(rowData(sce)$mean_counts)
         sces[[name]] <- sce
     }
 
@@ -314,12 +316,12 @@ diffSCEs <- function(sces, ref, point.size = 0.1, point.alpha = 0.1,
     ref.means <- sort(rowData(ref.sce)$MeanLogCPM)
     ref.vars <- sort(rowData(ref.sce)$VarLogCPM)
     ref.libs <- sort(colData(ref.sce)$total_counts)
-    ref.z.gene <- sort(rowData(ref.sce)$pct_dropout_counts)
+    ref.z.gene <- sort(rowData(ref.sce)$pct_dropout_by_counts)
     ref.z.cell <- sort(colData(ref.sce)$PctZero)
 
-    ref.rank.ord <- order(rowData(ref.sce)$rank_counts)
+    ref.rank.ord <- order(rowData(ref.sce)$RankCounts)
     ref.vars.rank <- rowData(ref.sce)$VarLogCPM[ref.rank.ord]
-    ref.z.gene.rank <- rowData(ref.sce)$pct_dropout_counts[ref.rank.ord]
+    ref.z.gene.rank <- rowData(ref.sce)$pct_dropout_by_counts[ref.rank.ord]
 
     for (name in names(sces)) {
         sce <- sces[[name]]
@@ -334,8 +336,8 @@ diffSCEs <- function(sces, ref, point.size = 0.1, point.alpha = 0.1,
         colData(sce)$RankDiffLibSize <- colData(sce)$total_counts -
             colData(sce)$RefRankLibSize
         rowData(sce)$RefRankZeros <- ref.z.gene[rank(
-                                               rowData(sce)$pct_dropout_counts)]
-        rowData(sce)$RankDiffZeros <- rowData(sce)$pct_dropout_counts -
+                                               rowData(sce)$pct_dropout_by_counts)]
+        rowData(sce)$RankDiffZeros <- rowData(sce)$pct_dropout_by_counts -
             rowData(sce)$RefRankZeros
         colData(sce)$RefRankZeros <- ref.z.cell[rank(
                                                colData(sce)$PctZero)]
@@ -343,9 +345,9 @@ diffSCEs <- function(sces, ref, point.size = 0.1, point.alpha = 0.1,
             colData(sce)$RefRankZeros
 
         rowData(sce)$MeanRankVarDiff <- rowData(sce)$VarLogCPM -
-            ref.vars.rank[rowData(sce)$rank_counts]
-        rowData(sce)$MeanRankZerosDiff <- rowData(sce)$pct_dropout_counts -
-            ref.z.gene.rank[rowData(sce)$rank_counts]
+            ref.vars.rank[rowData(sce)$RankCounts]
+        rowData(sce)$MeanRankZerosDiff <- rowData(sce)$pct_dropout_by_counts -
+            ref.z.gene.rank[rowData(sce)$RankCounts]
 
         sces[[name]] <- sce
     }
@@ -391,7 +393,7 @@ diffSCEs <- function(sces, ref, point.size = 0.1, point.alpha = 0.1,
         theme_minimal()
 
     mean.var <- ggplot(features,
-                       aes_string(x = "rank_counts", y = "MeanRankVarDiff",
+                       aes_string(x = "RankCounts", y = "MeanRankVarDiff",
                                   colour = "Dataset", fill = "Dataset")) +
         geom_hline(yintercept = 0, colour = "red") +
         geom_point(size = point.size, alpha = point.alpha) +
@@ -434,7 +436,7 @@ diffSCEs <- function(sces, ref, point.size = 0.1, point.alpha = 0.1,
         theme_minimal()
 
     mean.zeros <- ggplot(features,
-                       aes_string(x = "rank_counts", y = "MeanRankZerosDiff",
+                       aes_string(x = "RankCounts", y = "MeanRankZerosDiff",
                                   colour = "Dataset", fill = "Dataset")) +
         geom_hline(yintercept = 0, colour = "red") +
         geom_point(size = point.size, alpha = point.alpha) +
@@ -479,7 +481,8 @@ diffSCEs <- function(sces, ref, point.size = 0.1, point.alpha = 0.1,
         theme_minimal()
 
     z.gene.qq <- ggplot(features,
-                        aes_string(x = "RefRankZeros", y = "pct_dropout_counts",
+                        aes_string(x = "RefRankZeros",
+                                   y = "pct_dropout_by_counts",
                                    colour = "Dataset")) +
         geom_abline(intercept = 0, slope = 1, colour = "red") +
         geom_point(size = point.size, alpha = point.alpha) +
@@ -714,8 +717,8 @@ makeDiffPanel <- function(diff, title = "Difference comparison",
 #' \dontrun{
 #' sim1 <- splatSimulate(nGenes = 1000, batchCells = 20)
 #' sim2 <- simpleSimulate(nGenes = 1000, nCells = 20)
-#' comparison <- compSCESets(list(Splat = sim1, Simple = sim2))
-#' difference <- diffSCESets(list(Splat = sim1, Simple = sim2), ref = "Simple")
+#' comparison <- compSCEs(list(Splat = sim1, Simple = sim2))
+#' difference <- diffSCEs(list(Splat = sim1, Simple = sim2), ref = "Simple")
 #' panel <- makeOverallPanel(comparison, difference)
 #' }
 #'
diff --git a/R/listSims.R b/R/listSims.R
index 4dadb145a5c1b40d69849adaf4544322f50e9abb..f30b1188d42fe861308be77573bc0d04dfff1d66 100644
--- a/R/listSims.R
+++ b/R/listSims.R
@@ -71,7 +71,12 @@ listSims <- function(print = TRUE) {
                    "drisso/zinbwave",
                    "The ZINB-WaVE simulation simulates counts from a
                    sophisticated zero-inflated negative-binomial distribution
-                   including cell and gene-level covariates."))
+                   including cell and gene-level covariates."),
+                 c("SparseDC", "sparseDC", "10.1093/nar/gkx1113",
+                   "cran/SparseDC",
+                   "The SparseDC simulation simulates a set of clusters
+                   across two conditions, where some clusters may be present in
+                   only one condition."))
 
     sims.table <- data.frame(Name        = rep(NA, length(sims)),
                              Prefix      = rep(NA, length(sims)),
@@ -89,8 +94,10 @@ listSims <- function(print = TRUE) {
         cat("Splatter currently contains", length(sims), "simulations", "\n\n")
         for (idx in seq_len(nrow(sims.table))) {
             sim <- as.character(sims.table[idx, ])
-            cat(sim[1], paste0("(", sim[2], ")"), "\n")
-            cat("DOI:", sim[3], "\t", "GitHub:", sim[4], "\n")
+            cat(crayon::bold(sim[1]), crayon::yellow(paste0("(", sim[2], ")")),
+                "\n")
+            cat(crayon::bold("DOI:"), crayon::cyan(sim[3]), "\t",
+                crayon::bold("GitHub:"), crayon::cyan(sim[4]), "\n")
             cat(sim[5], "\n\n")
         }
     }
diff --git a/R/lun-estimate.R b/R/lun-estimate.R
index 3191a5d81b2ae16ce8c902f86faf7371830d1ad8..298c84ba27f35cfb6b09c83c7191ec2434a09735 100644
--- a/R/lun-estimate.R
+++ b/R/lun-estimate.R
@@ -14,7 +14,10 @@
 #' @return LunParams object containing the estimated parameters.
 #'
 #' @examples
+#' # Load example data
+#' library(scater)
 #' data("sc_example_counts")
+#'
 #' params <- lunEstimate(sc_example_counts)
 #' params
 #' @export
diff --git a/R/lun-simulate.R b/R/lun-simulate.R
index aa7337c8d0541a04d307c70d7e8fd5b67e3b9d0c..b94c6567a32fba326b779c1ef1a4ec011eb793e1 100644
--- a/R/lun-simulate.R
+++ b/R/lun-simulate.R
@@ -132,7 +132,7 @@ lunSimulate <- function(params = newLunParams(), verbose = TRUE, ...) {
                                               CellMeans = cell.means),
                                 rowData = features,
                                 colData = cells,
-                                metadata = list(params = params))
+                                metadata = list(Params = params))
 
     if (verbose) {message("Done!")}
 
diff --git a/R/lun2-estimate.R b/R/lun2-estimate.R
index df51b84699291ace5b99df5da81caefd1d8c88c0..aaedad7852ef48ac0d8f66e1fc21c2957d263b70 100644
--- a/R/lun2-estimate.R
+++ b/R/lun2-estimate.R
@@ -9,9 +9,9 @@
 #' @param min.size minimum size of clusters when identifying group of cells in
 #'        the data.
 #' @param verbose logical. Whether to show progress messages.
-#' @param BPPARAM A \code{\link[BiocParallel]{BiocParallelParam}} instance
-#'        giving the parallel back-end to be used. Default is
-#'        \code{\link[BiocParallel]{SerialParam}} which uses a single core.
+#' @param BPPARAM A \code{\link{BiocParallelParam}} instance giving the parallel
+#'        back-end to be used. Default is \code{\link{SerialParam}} which uses a
+#'        single core.
 #'
 #' @details
 #' See \code{\link{Lun2Params}} for more details on the parameters.
@@ -20,8 +20,11 @@
 #'
 #' @examples
 #' \dontrun{
+#' # Load example data
+#' library(scater)
 #' data("sc_example_counts")
 #' data("sc_example_cell_info")
+#'
 #' plates <- factor(sc_example_cell_info$Mutation_Status)
 #' params <- lun2Estimate(sc_example_counts, plates, min.size = 20)
 #' params
diff --git a/R/lun2-simulate.R b/R/lun2-simulate.R
index c839eed6e1b6f53ff83d6e828d87c67ed5f0b822..ec5ff3b11545cb519bda2c2f64405cbfcc3eb13c 100644
--- a/R/lun2-simulate.R
+++ b/R/lun2-simulate.R
@@ -183,7 +183,7 @@ lun2Simulate <- function(params = newLun2Params(), zinb = FALSE,
                                               TrueCounts <- true.counts),
                                 rowData = features,
                                 colData = cells,
-                                metadata = list(params = params))
+                                metadata = list(Params = params))
 
     if (zinb) {
         rownames(is.zero) <- gene.names
diff --git a/R/mfa-estimate.R b/R/mfa-estimate.R
index f3abf2f12b4f853fa060a2fdad398be24b077d57..62aa212951ec26e51ad7f7aaea05c27ee585e1d2 100644
--- a/R/mfa-estimate.R
+++ b/R/mfa-estimate.R
@@ -15,7 +15,10 @@
 #' @return MFAParams object containing the estimated parameters.
 #'
 #' @examples
+#' # Load example data
+#' library(scater)
 #' data("sc_example_counts")
+#'
 #' params <- mfaEstimate(sc_example_counts)
 #' params
 #' @export
diff --git a/R/mfa-simulate.R b/R/mfa-simulate.R
index b208bdeacd10aea2972644ad9aa27321618084ff..8f6a7a29312d30dd87f942fd66aead64a81db5b1 100644
--- a/R/mfa-simulate.R
+++ b/R/mfa-simulate.R
@@ -84,7 +84,7 @@ mfaSimulate <- function(params = newMFAParams(), verbose = TRUE, ...) {
                                               LogExprs = exprs),
                                 rowData = features,
                                 colData = cells,
-                                metadata = list(params = params))
+                                metadata = list(Params = params))
 
     return(sim)
 }
diff --git a/R/params-functions.R b/R/params-functions.R
index 1c3bd6418a7678225ea552887d0e873d17ed304f..c17fa35a8cd4ac3eb91e3a8d0b382c94f126d835 100644
--- a/R/params-functions.R
+++ b/R/params-functions.R
@@ -106,8 +106,6 @@ setParamsUnchecked <- function(params, update = NULL, ...) {
 #' @param pp list specifying how the object should be displayed.
 #'
 #' @return Print params object to console
-#'
-#' @importFrom utils head
 showPP <- function(params, pp) {
 
     checkmate::assertClass(params, classes = "Params")
@@ -117,20 +115,109 @@ showPP <- function(params, pp) {
     for (category in names(pp)) {
         parameters <- pp[[category]]
         values <- getParams(params, parameters)
-        short.values <- sapply(values, function(x) {
-            if (length(x) > 4) {
-                paste0(paste(head(x, n = 4), collapse = ", "), ",...")
-            } else {
-                paste(x, collapse = ", ")
-            }
-        })
-        values <- sapply(values, paste, collapse = ", ")
+        is.df <- sapply(values, is.data.frame)
+
         default.values <- getParams(default, parameters)
-        default.values <- sapply(default.values, paste, collapse = ", ")
-        not.default <- values != default.values
-        names(short.values)[not.default] <- toupper(names(values[not.default]))
-        cat(category, "\n")
-        print(noquote(short.values), print.gap = 2)
+        not.default <- sapply(seq_along(values), function(i) {
+            !identical(values[i], default.values[i])
+        })
+
+        cat(crayon::bold(category), "\n")
+        if (sum(!is.df) > 0) {
+            showValues(values[!is.df], not.default[!is.df])
+        }
+        if (sum(is.df) > 0) {
+            showDFs(values[is.df], not.default[is.df])
+        }
         cat("\n")
     }
-}
\ No newline at end of file
+}
+
+#' Show vales
+#'
+#' Function used for pretty printing scale or vector parameters.
+#'
+#' @param values list of values to show.
+#' @param not.default logical vector giving which have changed from the default.
+#'
+#' @importFrom utils head
+showValues <- function(values, not.default) {
+
+    checkmate::check_list(values, any.missing = FALSE, min.len = 1)
+    checkmate::check_logical(not.default, any.missing = FALSE,
+                             len = length(values))
+
+    short.values <- sapply(values, function(x) {
+        if (length(x) > 4) {
+            paste0(paste(head(x, n = 4), collapse = ", "), ",...")
+        } else {
+            paste(x, collapse = ", ")
+        }
+    })
+
+    names(short.values)[not.default] <- toupper(names(values[not.default]))
+
+    max.len <- max(nchar(short.values), nchar(names(short.values)))
+
+    screen.width <- options("width")$width
+    items.per.line <- floor(screen.width / (max.len + 2))
+
+    short.names <- names(short.values)
+    short.values <- crayon::col_align(short.values, max.len, "right")
+    short.names <- crayon::col_align(short.names, max.len, "right")
+
+    not.est <- !grepl("\\(", short.names)
+    short.names[not.est] <- crayon::blue(short.names[not.est])
+    short.names[not.default] <- crayon::bold(short.names[not.default])
+    short.values[not.default] <- crayon::green(short.values[not.default])
+    short.values[not.default] <- crayon::bold(short.values[not.default])
+
+    names(short.values) <- short.names
+
+    values.list <- split(short.values,
+                         ceiling(seq_along(short.values) / items.per.line))
+
+    for (line in values.list) {
+        cat(paste(names(line), collapse = "  "), "\n")
+        cat(paste(unname(line), collapse = "  "), "\n")
+    }
+}
+
+#' Show data.frame
+#'
+#' Function used for pretty printing data.frame parameters.
+#'
+#' @param dfs list of data.frames to show.
+#' @param not.default logical vector giving which have changed from the default.
+#'
+#' @importFrom utils head
+showDFs <- function(dfs, not.default) {
+
+    checkmate::check_list(dfs, types = "data.frame", any.missing = FALSE,
+                          min.len = 1)
+    checkmate::check_logical(not.default, any.missing = FALSE,
+                             len = length(dfs))
+
+    names(dfs)[not.default] <- toupper(names(dfs)[not.default])
+
+    not.est <- !grepl("\\(", names(dfs))
+    names(dfs)[not.est] <- crayon::blue(names(dfs)[not.est])
+    names(dfs)[not.default] <- crayon::bold(names(dfs)[not.default])
+
+    for (i in seq_along(dfs)) {
+        df <- dfs[[i]]
+        name <- names(dfs)[i]
+
+        msg <- paste0("data.frame (", nrow(df), " x ", ncol(df),
+                      ") with columns: ", paste(colnames(df), collapse = ", "))
+
+        if (not.default[i]) {
+            msg <- crayon::bold(crayon::green(msg))
+        }
+
+        cat(paste0("\n", name, "\n"))
+        cat(msg, "\n")
+        print(head(df, n = 4))
+        cat("# ... with", nrow(df) - 4, "more rows\n")
+    }
+}
diff --git a/R/pheno-estimate.R b/R/pheno-estimate.R
index 61cf4fc4541fa47916b120a9462338c3d1fa12a9..cccf02fd575db38a2a210602b7f2501a480aee72 100644
--- a/R/pheno-estimate.R
+++ b/R/pheno-estimate.R
@@ -15,7 +15,10 @@
 #' @return PhenoParams object containing the estimated parameters.
 #'
 #' @examples
+#' # Load example data
+#' library(scater)
 #' data("sc_example_counts")
+#'
 #' params <- phenoEstimate(sc_example_counts)
 #' params
 #' @export
diff --git a/R/pheno-simulate.R b/R/pheno-simulate.R
index 54b0f508e1ab56f0f68792d392aa804dfbda4e4f..56c2e99ddb5d45834214c941892dfc40a68221a1 100644
--- a/R/pheno-simulate.R
+++ b/R/pheno-simulate.R
@@ -13,7 +13,7 @@
 #' \code{\link{PhenoParams}}, runs the simulation then converts the
 #' output from log-expression to counts and returns a
 #' \code{\link[SingleCellExperiment]{SingleCellExperiment}} object. The original
-#' simulated log-expression values are returned in the \code{LogExprs} asssay.
+#' simulated log-expression values are returned in the \code{LogExprs} assay.
 #' See \code{\link[phenopath]{simulate_phenopath}} and the PhenoPath paper for
 #' more details about how the simulation works.
 #'
@@ -84,7 +84,7 @@ phenoSimulate <- function(params = newPhenoParams(), verbose = TRUE, ...) {
                                               LogExprs = exprs),
                                 rowData = features,
                                 colData = cells,
-                                metadata = list(params = params))
+                                metadata = list(Params = params))
 
     return(sim)
 }
diff --git a/R/scDD-estimate.R b/R/scDD-estimate.R
index 9c213670a4aec8d72f1c08305aa4c4894e1f3fbb..e8e1ccc8b4020eca5d7bb186e750a92ec8eed8a2 100644
--- a/R/scDD-estimate.R
+++ b/R/scDD-estimate.R
@@ -10,9 +10,9 @@
 #'        interest.
 #' @param params SCDDParams object to store estimated values in.
 #' @param verbose logical. Whether to show progress messages.
-#' @param BPPARAM A \code{\link[BiocParallel]{BiocParallelParam}} instance
-#'        giving the parallel back-end to be used. Default is
-#'        \code{\link[BiocParallel]{SerialParam}} which uses a single core.
+#' @param BPPARAM A \code{\link{BiocParallelParam}} instance giving the parallel
+#'        back-end to be used. Default is \code{\link{SerialParam}} which uses a
+#'        single core.
 #' @param ... further arguments passed to or from other methods.
 #'
 #' @details
@@ -25,9 +25,12 @@
 #'
 #' @examples
 #' \dontrun{
+#' # Load example data
+#' library(scater)
 #' data("sc_example_counts")
+#'
 #' conditions <- sample(1:2, ncol(sc_example_counts), replace = TRUE)
-#' params <- scDDEstimate(sc_example_counts, conditions)
+#' params <- scDDEstimate(sc_example_counts, conditions = conditions)
 #' params
 #' }
 #' @importFrom BiocParallel SerialParam
@@ -58,7 +61,8 @@ scDDEstimate.matrix <- function(counts, params = newSCDDParams(),
 
     counts <- SingleCellExperiment(assays = list(counts = counts),
                                    colData = data.frame(condition = conditions))
-    scDDEstimate.default(counts, "condition", params, verbose, BPPARAM)
+    scDDEstimate.default(counts, params, verbose, BPPARAM,
+                         condition = "condition")
 }
 
 #' @rdname scDDEstimate
@@ -68,7 +72,8 @@ scDDEstimate.SingleCellExperiment <- function(counts,
                                               verbose = TRUE,
                                               BPPARAM = SerialParam(),
                                               condition = "condition", ...) {
-    scDDEstimate.default(counts, condition, params, verbose, BPPARAM)
+    scDDEstimate.default(counts, params, verbose, BPPARAM,
+                         condition = condition)
 }
 
 #' @rdname scDDEstimate
diff --git a/R/scDD-simulate.R b/R/scDD-simulate.R
index a9dbd3fec07b80631c68f08886fba38fc9c8fdb9..abcb8ffcb805014c56a841d279142ce3cbf1fa1b 100644
--- a/R/scDD-simulate.R
+++ b/R/scDD-simulate.R
@@ -7,9 +7,9 @@
 #' plots.
 #' @param plot.file File path to save plots as PDF.
 #' @param verbose logical. Whether to print progress messages
-#' @param BPPARAM A \code{\link[BiocParallel]{BiocParallelParam}} instance
-#'        giving the parallel back-end to be used. Default is
-#'        \code{\link[BiocParallel]{SerialParam}} which uses a single core.
+#' @param BPPARAM A \code{\link{BiocParallelParam}} instance giving the parallel
+#'        back-end to be used. Default is \code{\link{SerialParam}} which uses a
+#'        single core.
 #' @param ... any additional parameter settings to override what is provided in
 #'        \code{params}.
 #'
@@ -113,7 +113,7 @@ scDDSimulate <- function(params = newSCDDParams(), plots = FALSE,
     sim <- SingleCellExperiment(assays = list(counts = counts),
                                 rowData = features,
                                 colData = cells,
-                                metadata = list(params = params))
+                                metadata = list(Params = params))
 
     if (verbose) {message("Done!")}
 
diff --git a/R/simple-estimate.R b/R/simple-estimate.R
index 3a50a4143ad591c6f0ee1790cfedd2f5903b6f3e..1f9e6cc653bbfa215e695d09a2d3268eb7372152 100644
--- a/R/simple-estimate.R
+++ b/R/simple-estimate.R
@@ -16,7 +16,10 @@
 #' @return SimpleParams object containing the estimated parameters.
 #'
 #' @examples
+#' # Load example data
+#' library(scater)
 #' data("sc_example_counts")
+#'
 #' params <- simpleEstimate(sc_example_counts)
 #' params
 #' @export
diff --git a/R/sparseDC-estimate.R b/R/sparseDC-estimate.R
new file mode 100644
index 0000000000000000000000000000000000000000..0c0f793f38b6c71d0e8ec68ae034063e36c78eca
--- /dev/null
+++ b/R/sparseDC-estimate.R
@@ -0,0 +1,96 @@
+#' Estimate SparseDC simulation parameters
+#'
+#' Estimate simulation parameters for the SparseDC simulation from a real
+#' dataset.
+#'
+#' @param counts either a counts matrix or an SingleCellExperiment object
+#'        containing count data to estimate parameters from.
+#' @param conditions numeric vector giving the condition each cell belongs to.
+#' @param nclusters number of cluster present in the dataset.
+#' @param norm logical, whether to libray size normalise counts before
+#'        estimation. Set this to FALSE if counts is already normalised.
+#' @param params PhenoParams object to store estimated values in.
+#'
+#' @details
+#' The \code{nGenes} and \code{nCells} parameters are taken from the size of the
+#' input data. The counts are preprocessed using
+#' \code{\link[SparseDC]{pre_proc_data}} and then parameters are estimated using
+#' \code{\link[SparseDC]{sparsedc_cluster}} using lambda values calculated using
+#' \code{\link[SparseDC]{lambda1_calculator}} and
+#' \code{\link[SparseDC]{lambda2_calculator}}.
+#'
+#' See \code{\link{SparseDCParams}} for more details on the parameters.
+#'
+#' @return SparseParams object containing the estimated parameters.
+#'
+#' @examples
+#' # Load example data
+#' library(scater)
+#' data("sc_example_counts")
+#'
+#' set.seed(1)
+#' conditions <- sample(1:2, ncol(sc_example_counts), replace = TRUE)
+#'
+#' params <- sparseDCEstimate(sc_example_counts[1:500, ], conditions,
+#'                            nclusters = 3)
+#' params
+#' @export
+sparseDCEstimate <- function(counts, conditions, nclusters, norm = TRUE,
+                             params = newSparseDCParams()) {
+    UseMethod("sparseDCEstimate")
+}
+
+#' @rdname sparseDCEstimate
+#' @export
+sparseDCEstimate.SingleCellExperiment <- function(counts, conditions, nclusters,
+                                                  norm = TRUE,
+                                                  params = newSparseDCParams()) {
+    counts <- BiocGenerics::counts(counts)
+    sparseDCEstimate(counts, params)
+}
+
+#' @rdname sparseDCEstimate
+#' @export
+sparseDCEstimate.matrix <- function(counts, conditions, nclusters, norm = TRUE,
+                                    params = newSparseDCParams()) {
+
+    checkmate::assertClass(params, "SparseDCParams")
+    checkmate::assertIntegerish(conditions, lower = 1, upper = 2,
+                                any.missing = FALSE, len = ncol(counts))
+
+    counts1 <- counts[, conditions == 1]
+    counts2 <- counts[, conditions == 2]
+
+    pre.data <- SparseDC::pre_proc_data(counts1, counts2, norm = norm,
+                                        log = TRUE, center = TRUE)
+
+    lambda1 <- SparseDC::lambda1_calculator(pre.data[[1]], pre.data[[2]],
+                                            nclusters)
+    lambda2 <- SparseDC::lambda2_calculator(pre.data[[1]], pre.data[[2]],
+                                            nclusters)
+
+    dummy <- utils::capture.output(
+    sdc.res <- SparseDC::sparsedc_cluster(pre.data[[1]], pre.data[[2]],
+                                          nclusters, lambda1 = lambda1,
+                                          lambda2 = lambda2)
+    )
+
+    markers.n <- round(mean(c(
+        colSums(sdc.res$centers1 != 0),
+        colSums(sdc.res$centers2 != 0)
+    )))
+
+    markers.diff <- round(mean(colSums(
+        (sdc.res$centers1 - sdc.res$centers2) != 0
+    )))
+
+    params <- setParams(params,
+                        nGenes = nrow(counts),
+                        nCells = round(ncol(counts) / 2),
+                        markers.n = markers.n,
+                        markers.shared = markers.n - markers.diff,
+                        clusts.c1 = sort(unique(sdc.res$clusters1)),
+                        clusts.c2 = sort(unique(sdc.res$clusters2)))
+
+    return(params)
+}
diff --git a/R/sparseDC-simulate.R b/R/sparseDC-simulate.R
new file mode 100644
index 0000000000000000000000000000000000000000..6b410ed1215e8f01a1282900408717c9530ccb77
--- /dev/null
+++ b/R/sparseDC-simulate.R
@@ -0,0 +1,118 @@
+#' SparseDC simulation
+#'
+#' Simulate counts from cluster in two conditions using the SparseDC method.
+#'
+#' @param params SparseDCParams object containing simulation parameters.
+#' @param verbose logical. Whether to print progress messages
+#' @param ... any additional parameter settings to override what is provided in
+#'        \code{params}.
+#'
+#' @details
+#' This function is just a wrapper around
+#' \code{\link[SparseDC]{sim_data}} that takes a
+#' \code{\link{SparseDCParams}}, runs the simulation then converts the
+#' output from log-expression to counts and returns a
+#' \code{\link[SingleCellExperiment]{SingleCellExperiment}} object. The original
+#' simulated log-expression values are returned in the \code{LogExprs} assay.
+#' See \code{\link[SparseDC]{sim_data}} and the SparseDC paper for
+#' more details about how the simulation works.
+#'
+#' @return SingleCellExperiment containing simulated counts
+#'
+#' @references
+#' Campbell K, Yau C. Uncovering genomic trajectories with heterogeneous genetic
+#' and environmental backgrounds across single-cells and populations. bioRxiv
+#' (2017).
+#'
+#' Barron M, Zhang S, Li J. A sparse differential clustering algorithm for
+#' tracing cell type changes via single-cell RNA-sequencing data.
+#' Nucleic Acids Research (2017).
+#'
+#' Paper: \url{10.1093/nar/gkx1113}
+#'
+#' @examples
+#' sim <- sparseDCSimulate()
+#'
+#' @export
+#' @importFrom SingleCellExperiment SingleCellExperiment
+sparseDCSimulate <- function(params = newSparseDCParams(),
+                             verbose = TRUE, ...) {
+
+    checkmate::assertClass(params, "SparseDCParams")
+    params <- setParams(params, ...)
+
+    # Set random seed
+    seed <- getParam(params, "seed")
+    set.seed(seed)
+
+    # Get the parameters we are going to use
+    nCells <- getParam(params, "nCells")
+    nGenes <- getParam(params, "nGenes")
+    markers.n <- getParam(params, "markers.n")
+    markers.shared <- getParam(params, "markers.shared")
+    markers.same <- getParam(params, "markers.same")
+    clusts.c1 <- getParam(params, "clusts.c1")
+    clusts.c2 <- getParam(params, "clusts.c2")
+    mean.lower <- getParam(params, "mean.lower")
+    mean.upper <- getParam(params, "mean.upper")
+
+    if (verbose) {message("Simulating counts...")}
+    sparsedc.sim <- SparseDC::sim_data(genes = nGenes,
+                                       cells = nCells,
+                                       sig.genes = markers.n,
+                                       sig.genes.s = markers.shared,
+                                       clus.t1 = clusts.c1,
+                                       clus.t2 = clusts.c2,
+                                       same.sig = markers.same,
+                                       u.l = mean.lower,
+                                       u.h = mean.upper)
+
+    if (verbose) {message("Creating final dataset...")}
+    cell.names <- paste0("Cell", seq_len(2 * nCells))
+    gene.names <- paste0("Gene", seq_len(nGenes))
+
+    exprs <- cbind(sparsedc.sim$dat.1, sparsedc.sim$dat.2)
+    counts <- exp(exprs) - 1
+    counts[counts < 0] <- 0
+    counts <- round(counts)
+    rownames(counts) <- gene.names
+    colnames(counts) <- cell.names
+
+    cells <- data.frame(Cell = cell.names,
+                        Condition = factor(paste0("Condition",
+                                                  rep(1:2, each = nCells))),
+                        Cluster = factor(paste0("Cluster",
+                                                c(sparsedc.sim$clusters1,
+                                                  sparsedc.sim$clusters2))),
+                        stringsAsFactors = FALSE)
+    rownames(cells) <- cell.names
+
+    features <- data.frame(Gene = gene.names,
+                           BaseLogMean = sparsedc.sim$gene.means,
+                           stringsAsFactors = FALSE)
+
+    for (i in seq_len(ncol(sparsedc.sim$sig.gene.mat.1))) {
+        col.name <- paste0("Condition1Cluster", i, "Marker")
+        features[[col.name]] <- sparsedc.sim$sig.gene.mat.1[, i] == 1
+    }
+
+    for (i in seq_len(ncol(sparsedc.sim$sig.gene.mat.2))) {
+        col.name <- paste0("Condition2Cluster", i, "Marker")
+        features[[col.name]] <- sparsedc.sim$sig.gene.mat.2[, i] == 1
+    }
+
+    for (i in seq_len(ncol(sparsedc.sim$clus.gene.means))) {
+        col.name <- paste0("Cluster", i, "LogMean")
+        features[[col.name]] <- sparsedc.sim$clus.gene.means[, i]
+    }
+
+    rownames(features) <- gene.names
+
+    sim <- SingleCellExperiment(assays = list(counts = counts,
+                                              LogExprs = exprs),
+                                rowData = features,
+                                colData = cells,
+                                metadata = list(Params = params))
+
+    return(sim)
+}
diff --git a/R/splat-estimate.R b/R/splat-estimate.R
index ead3c49fe500c4173e69eab9bddb2ccc48ae758f..5af464671d321fa45e8ef299285995b155cc2b78 100644
--- a/R/splat-estimate.R
+++ b/R/splat-estimate.R
@@ -16,7 +16,10 @@
 #' @return SplatParams object containing the estimated parameters.
 #'
 #' @examples
+#' # Load example data
+#' library(scater)
 #' data("sc_example_counts")
+#'
 #' params <- splatEstimate(sc_example_counts)
 #' params
 #' @export
@@ -85,7 +88,8 @@ splatEstMean <- function(norm.counts, params) {
     fit <- fitdistrplus::fitdist(means, "gamma", method = "mge",
                                  gof = "CvM")
     if (fit$convergence > 0) {
-        warning("Goodness of fit failed, using Method of Moments")
+        warning("Fitting means using the Goodness of Fit method failed, ",
+                "using the Method of Moments instead")
         fit <- fitdistrplus::fitdist(means, "gamma", method = "mme")
     }
 
@@ -97,21 +101,39 @@ splatEstMean <- function(norm.counts, params) {
 
 #' Estimate Splat library size parameters
 #'
-#' A log-normal distribution is fitted to the library sizes and the estimated
-#' parameters are added to the params object. See
+#' The Shapiro-Wilk test is used to determine if the library sizes are
+#' normally distributed. If so a normal distribution is fitted to the library
+#' sizes, if not (most cases) a log-normal distribution is fitted and the
+#' estimated parameters are added to the params object. See
 #' \code{\link[fitdistrplus]{fitdist}} for details on the fitting.
 #'
 #' @param counts counts matrix to estimate parameters from.
 #' @param params splatParams object to store estimated values in.
 #'
 #' @return splatParams object with estimated values.
+#'
+#' @importFrom stats shapiro.test
 splatEstLib <- function(counts, params) {
 
     lib.sizes <- colSums(counts)
-    fit <- fitdistrplus::fitdist(lib.sizes, "lnorm")
+    norm.test <- shapiro.test(lib.sizes)
+    lib.norm <- norm.test$p.value < 0.05
+
+    if (lib.norm) {
+        fit <- fitdistrplus::fitdist(lib.sizes, "norm")
+        lib.loc <- unname(fit$estimate["mean"])
+        lib.scale <- unname(fit$estimate["sd"])
+        message("NOTE: Library sizes have been found to be normally ",
+                "distributed instead of log-normal. You may want to check ",
+                "this is correct.")
+    } else {
+        fit <- fitdistrplus::fitdist(lib.sizes, "lnorm")
+        lib.loc <- unname(fit$estimate["meanlog"])
+        lib.scale <- unname(fit$estimate["sdlog"])
+    }
 
-    params <- setParams(params, lib.loc = unname(fit$estimate["meanlog"]),
-                        lib.scale = unname(fit$estimate["sdlog"]))
+    params <- setParams(params, lib.loc = lib.loc, lib.scale = lib.scale,
+                        lib.norm = lib.norm)
 
     return(params)
 }
@@ -208,6 +230,8 @@ splatEstBCV <- function(counts, params) {
 #' Logistic function parameters are estimated by fitting a logistic function
 #' to the relationship between log2 mean gene expression and the proportion of
 #' zeros in each gene. See \code{\link[stats]{nls}} for details of fitting.
+#' Note this is done on the experiment level, more granular (eg. group or cell)
+#' level dropout is not estimated.
 #'
 # #' The
 # #' presence of dropout is determined by comparing the observed number of zeros
diff --git a/R/splat-simulate.R b/R/splat-simulate.R
index 5f21bebb46f7d2bd164d89bd3d6bc41b2d662852..5b94b1e8a21138f7c8c4209ab2ccda79fc33f4aa 100644
--- a/R/splat-simulate.R
+++ b/R/splat-simulate.R
@@ -37,10 +37,10 @@
 #' The final output is a
 #' \code{\link[SingleCellExperiment]{SingleCellExperiment}} object that
 #' contains the simulated counts but also the values for various intermediate
-#' steps. These are stored in the \code{\link[SummarizedExperiment]{colData}}
-#' (for cell specific information), \code{\link[SummarizedExperiment]{rowData}}
-#' (for gene specific information) or \code{\link[SummarizedExperiment]{assays}}
-#' (for gene by cell matrices) slots. This additional information includes:
+#' steps. These are stored in the \code{\link{colData}} (for cell specific
+#' information), \code{\link{rowData}} (for gene specific information) or
+#' \code{\link{assays}} (for gene by cell matrices) slots. This additional
+#' information includes:
 #' \describe{
 #'     \item{\code{phenoData}}{
 #'         \describe{
@@ -173,7 +173,7 @@ splatSimulate <- function(params = newSplatParams(),
     features <- data.frame(Gene = gene.names)
     rownames(features) <- gene.names
     sim <- SingleCellExperiment(rowData = features, colData = cells,
-                                metadata = list(params = params))
+                                metadata = list(Params = params))
 
     # Make batches vector which is the index of param$batchCells repeated
     # params$batchCells[index] times
@@ -249,7 +249,9 @@ splatSimulatePaths <- function(params = newSplatParams(), verbose = TRUE, ...) {
 
 #' Simulate library sizes
 #'
-#' Simulate expected library sizes from a log-normal distribution
+#' Simulate expected library sizes. Typically a log-normal distribution is used
+#' but there is also the option to use a normal distribution. In this case any
+#' negative values are set to half the minimum non-zero value.
 #'
 #' @param sim SingleCellExperiment to add library size to.
 #' @param params SplatParams object with simulation parameters.
@@ -257,14 +259,22 @@ splatSimulatePaths <- function(params = newSplatParams(), verbose = TRUE, ...) {
 #' @return SingleCellExperiment with simulated library sizes.
 #'
 #' @importFrom SummarizedExperiment colData colData<-
-#' @importFrom stats rlnorm
+#' @importFrom stats rlnorm rnorm
 splatSimLibSizes <- function(sim, params) {
 
     nCells <- getParam(params, "nCells")
     lib.loc <- getParam(params, "lib.loc")
     lib.scale <- getParam(params, "lib.scale")
+    lib.norm <- getParam(params, "lib.norm")
+
+    if (lib.norm) {
+        exp.lib.sizes <- rnorm(nCells, lib.loc, lib.scale)
+        min.lib <- min(exp.lib.sizes[exp.lib.sizes > 0])
+        exp.lib.sizes[exp.lib.sizes < 0] <- min.lib / 2
+    } else {
+        exp.lib.sizes <- rlnorm(nCells, lib.loc, lib.scale)
+    }
 
-    exp.lib.sizes <- rlnorm(nCells, lib.loc, lib.scale)
     colData(sim)$ExpLibSize <- exp.lib.sizes
 
     return(sim)
@@ -351,7 +361,7 @@ splatSimBatchEffects <- function(sim, params) {
 #'
 #' @return SingleCellExperiment with simulated batch means.
 #'
-#' @importFrom SummarizedExperiment rowData rowData<-
+#' @importFrom SummarizedExperiment rowData rowData<- colData
 splatSimBatchCellMeans <- function(sim, params) {
 
     nBatches <- getParam(params, "nBatches")
@@ -697,22 +707,73 @@ splatSimTrueCounts <- function(sim, params) {
 #' @importFrom stats rbinom
 splatSimDropout <- function(sim, params) {
 
-    dropout.present <- getParam(params, "dropout.present")
+    dropout.type <- getParam(params, "dropout.type")
     true.counts <- assays(sim)$TrueCounts
+    dropout.mid <- getParam(params, "dropout.mid")
+    dropout.shape <- getParam(params, "dropout.shape")
+    cell.names <- colData(sim)$Cell
+    gene.names <- rowData(sim)$Gene
+    nCells <- getParam(params, "nCells")
+    nGenes <- getParam(params, "nGenes")
+    nBatches <- getParam(params, "nBatches")
+    nGroups <- getParam(params, "nGroups")
+    cell.means <- assays(sim)$CellMeans
 
-    if (dropout.present) {
-        cell.names <- colData(sim)$Cell
-        gene.names <- rowData(sim)$Gene
-        nCells <- getParam(params, "nCells")
-        nGenes <- getParam(params, "nGenes")
-        dropout.mid <- getParam(params, "dropout.mid")
-        dropout.shape <- getParam(params, "dropout.shape")
-        cell.means <- assays(sim)$CellMeans
+    switch(dropout.type,
+           experiment = {
+               if ((length(dropout.mid) != 1) || length(dropout.shape) != 1) {
+                   stop("dropout.type is set to 'experiment' but dropout.mid ",
+                        "and dropout.shape aren't length 1")
+               }
+
+               dropout.mid <- rep(dropout.mid, nCells)
+               dropout.shape <- rep(dropout.shape, nCells)
+           },
+           batch = {
+               if ((length(dropout.mid) != nBatches) ||
+                   length(dropout.shape) != nBatches) {
+                   stop("dropout.type is set to 'batch' but dropout.mid ",
+                        "and dropout.shape aren't length equal to nBatches ",
+                        "(", nBatches, ")")
+               }
+
+               batches <- as.numeric(factor(colData(sim)$Batch))
+               dropout.mid <- dropout.mid[batches]
+               dropout.shape <- dropout.shape[batches]
+           },
+           group = {
+               if ((length(dropout.mid) != nGroups) ||
+                   length(dropout.shape) != nGroups) {
+                   stop("dropout.type is set to 'group' but dropout.mid ",
+                        "and dropout.shape aren't length equal to nGroups ",
+                        "(", nGroups, ")")
+               }
+
+               if ("Group" %in% colnames(colData(sim))) {
+                   groups <- as.numeric(factor(colData(sim)$Group))
+               } else {
+                   stop("dropout.type is set to 'group' but groups have not ",
+                        "been simulated")
+               }
+
+               dropout.mid <- dropout.mid[groups]
+               dropout.shape <- dropout.shape[groups]
+           },
+           cell = {
+               if ((length(dropout.mid) != nCells) ||
+                   length(dropout.shape) != nCells) {
+                   stop("dropout.type is set to 'cell' but dropout.mid ",
+                        "and dropout.shape aren't length equal to nCells ",
+                        "(", nCells, ")")
+               }
+           })
+
+    if (dropout.type != "none") {
 
         # Generate probabilites based on expression
         drop.prob <- sapply(seq_len(nCells), function(idx) {
             eta <- log(cell.means[, idx])
-            return(logistic(eta, x0 = dropout.mid, k = dropout.shape))
+            return(logistic(eta, x0 = dropout.mid[idx], k = dropout.shape[idx]))
         })
 
         # Decide which counts to keep
diff --git a/R/utils.R b/R/utils.R
index 39e770d8932c8bb185df020cbd45fc54bdf5a47a..0a9098758d0d6490b3749452eb1189717b071104 100644
--- a/R/utils.R
+++ b/R/utils.R
@@ -23,6 +23,9 @@ logistic <- function(x, x0, k) {
 #'         common columns.
 rbindMatched <- function(df1, df2) {
     common.names <- intersect(colnames(df1), colnames(df2))
+    if (length(common.names) < 2) {
+        stop("There must be at least two columns in common")
+    }
     combined <- rbind(df1[, common.names], df2[, common.names])
 
     return(combined)
diff --git a/R/zinb-estimate.R b/R/zinb-estimate.R
index 2a14443ccba5949f9cfba69730a0887b7b4ecdb3..866c3505762cfca877f2e08cddf8efb0ed515ba9 100644
--- a/R/zinb-estimate.R
+++ b/R/zinb-estimate.R
@@ -14,9 +14,9 @@
 #' @param stop.opt stopping criterion for optimization.
 #' @param params ZINBParams object to store estimated values in.
 #' @param verbose logical. Whether to print progress messages.
-#' @param BPPARAM A \code{\link[BiocParallel]{BiocParallelParam}} instance
-#'        giving the parallel back-end to be used. Default is
-#'        \code{\link[BiocParallel]{SerialParam}} which uses a single core.
+#' @param BPPARAM A \code{\link{BiocParallelParam}} instance giving the parallel
+#'        back-end to be used. Default is \code{\link{SerialParam}} which uses a
+#'        single core.
 #' @param ... additional arguments passes to \code{\link[zinbwave]{zinbFit}}.
 #'
 #' @details
@@ -29,7 +29,10 @@
 #'
 #' @examples
 #' \dontrun{
+#' # Load example data
+#' library(scater)
 #' data("sc_example_counts")
+#'
 #' params <- zinbEstimate(sc_example_counts)
 #' params
 #' }
diff --git a/R/zinb-simulate.R b/R/zinb-simulate.R
index 92e93c5aae1c4608da315c1dbecb44c546965804..7ebefa296772125bc7d35423b2d2cf831071109c 100644
--- a/R/zinb-simulate.R
+++ b/R/zinb-simulate.R
@@ -68,7 +68,7 @@ zinbSimulate <- function(params = newZINBParams(), verbose = TRUE, ...) {
                                               Dropouts = zinb.sim$dataDropouts),
                                 rowData = features,
                                 colData = cells,
-                                metadata = list(params = params))
+                                metadata = list(Params = params))
 
     return(sim)
 }
diff --git a/README.md b/README.md
index fc48816dbe07841eea2f928879ef3aff56200cb2..b53a44dbe29bb8b3596a7019fc7277eec8ae0023 100644
--- a/README.md
+++ b/README.md
@@ -1,10 +1,15 @@
 # Splatter
 
+[![Project Status](http://www.repostatus.org/badges/latest/active.svg)](http://www.repostatus.org/#active)
+[![Lifecycle](https://img.shields.io/badge/lifecycle-stable-brightgreen.svg)](https://www.tidyverse.org/lifecycle/#stable)
 [![Travis-CI Build Status](https://travis-ci.org/Oshlack/splatter.svg?branch=master)](https://travis-ci.org/Oshlack/splatter)
 [![Coverage Status](https://img.shields.io/codecov/c/github/Oshlack/splatter/master.svg)](https://codecov.io/github/Oshlack/splatter?branch=master)
 [![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/github/Oshlack/splatter?branch=master&svg=true)](https://ci.appveyor.com/project/Oshlack/splatter)
+[![Bioc Years](https://bioconductor.org/shields/years-in-bioc/splatter.svg)](https://bioconductor.org/packages/devel/bioc/html/splatter.html)
+[![Bioc Stats](https://bioconductor.org/shields/downloads/splatter.svg)](https://bioconductor.org/packages/devel/bioc/html/splatter.html)
+[![Bioc Build](https://bioconductor.org/shields/build/devel/bioc/splatter.svg)](https://bioconductor.org/packages/devel/bioc/html/splatter.html)
 
-![Splatter logo](https://s16.postimg.org/xc6u52b0l/splatter_logo_small.png)
+![Splatter logo](vignettes/splatter-logo-small.png)
 
 Splatter is an R package for the simple simulation of single-cell RNA sequencing
 data. Splatter provides a common interface to multiple simulations that have:
@@ -19,12 +24,9 @@ simulations and real datasets.
 
 ## Installation.
 
-### Development version
+Splatter is available from [Bioconductor][bioc] for R >=3.4.
 
-Splatter has been accepted into the latest version of [Bioconductor][bioc]
-and hence requires the latest version of R (>=3.4).
-
-If you have these installed Splatter can be installed from Bioconductor using
+If you have this installed Splatter can be installed from Bioconductor using
 `biocLite`:
 
 ```{r}
@@ -39,9 +41,7 @@ biocLite("splatter", build_vignettes=TRUE)
 ```
 
 This will also build the vignette and install all suggested dependencies (which
-aren't required for core functionality). Building the vignette may sometimes 
-fail when run from the command line, if this happens try running the install
-command in RStudio.
+aren't required for core functionality).
 
 ## Getting started
 
@@ -61,17 +61,17 @@ This is a detailed document that introduces the main features of Splatter.
 ## Citing Splatter
 
 If you use Splatter please cite our paper ["Zappia L, Phipson B, Oshlack A.
-Splatter: Simulation Of Single-Cell RNA Sequencing Data. bioRxiv. 2017;
-doi:10.1101/133173"][preprint].
+Splatter: Simulation Of Single-Cell RNA Sequencing Data. Genome Biology. 2017;
+doi:10.1186/s13059-017-1305-0"][paper].
 
 ```
-@Article{,
+  @Article{,
     author = {Luke Zappia and Belinda Phipson and Alicia Oshlack},
-    title = {Splatter: Simulation Of Single-Cell RNA Sequencing Data},
-    journal = {bioRxiv},
+    title = {Splatter: simulation of single-cell RNA sequencing data},
+    journal = {Genome Biology},
     year = {2017},
-    url = {http://dx.doi.org/10.1101/133173},
-    doi = {10.1101/133173},
+    url = {http://dx.doi.org/10.1186/s13059-017-1305-0},
+    doi = {10.1186/s13059-017-1305-0},
   }
 ```
 
@@ -80,5 +80,4 @@ doi:10.1101/133173"][preprint].
 [contrib]: https://github.com/Bioconductor/Contributions/issues/209
 [bioc]: https://bioconductor.org/packages/devel/bioc/html/splatter.html
 [vignette]: https://bioconductor.org/packages/devel/bioc/vignettes/splatter/inst/doc/splatter.html
-[preprint]: http://dx.doi.org/10.1101/133173
-
+[paper]: http://dx.doi.org/10.1186/s13059-017-1305-0
diff --git a/_pkgdown.yml b/_pkgdown.yml
index 5a8f3a7499fc3c12f44f98f77d44b9f271916ced..a51d299468259182c553cc4f304d493705ee00b0 100644
--- a/_pkgdown.yml
+++ b/_pkgdown.yml
@@ -22,6 +22,7 @@ reference:
       - '`SCDDParams`'
       - '`SimpleParams`'
       - '`SplatParams`'
+      - '`SparseDCParams`'
       - '`ZINBParams`'
   - title: Estimation
     desc: Functions for estimating parameters
@@ -39,6 +40,7 @@ reference:
       - '`splatEstLib`'
       - '`splatEstMean`'
       - '`splatEstOutlier`'
+      - '`sparseDCEstimate`'
       - '`zinbEstimate`'
   - title: Simulation
     desc: Functions for simulating datasets
@@ -47,7 +49,7 @@ reference:
       - '`lun2Simulate`'
       - '`lunSimulate`'
       - '`mfaSimulate`'
-      - '`phenoEstimate`'
+      - '`phenoSimulate`'
       - '`scDDSimulate`'
       - '`simpleSimulate`'
       - '`splatSimBatchCellMeans`'
@@ -60,6 +62,7 @@ reference:
       - '`splatSimLibSizes`'
       - '`splatSimTrueCounts`'
       - '`splatSimulate`'
+      - '`sparseDCSimulate`'
       - '`zinbSimulate`'
   - title: Comparison functions
     desc: Functions for comparing datasets
@@ -87,5 +90,7 @@ reference:
       - '`rbindMatched`'
       - '`setParamsUnchecked`'
       - '`setParamUnchecked`'
+      - '`showDFs`'
       - '`showPP`'
+      - '`showValues`'
       - '`winsorize`'
diff --git a/docs/LICENSE.html b/docs/LICENSE.html
index 7cf011b57078dcbeefdc53c607d081e60f065336..6a49094cc0b4d247c8d138ccbc21456c5c6d3160 100644
--- a/docs/LICENSE.html
+++ b/docs/LICENSE.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="/index.html">
+  <a href="index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -788,7 +788,7 @@ Public License instead of this License.  But first, please read
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/articles/index.html b/docs/articles/index.html
index 0397c06a5453ca4d43d67d852a1cd9949e45d261..1adddb0175656c9edce00230fb7379a0b1600a0f 100644
--- a/docs/articles/index.html
+++ b/docs/articles/index.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -96,7 +96,7 @@
       </header>
 
       <div class="page-header">
-  <h1>Articles <small>version&nbsp;1.1.8</small></h1>
+  <h1>Articles <small>version&nbsp;1.5.0</small></h1>
 </div>
 
 <div class="row">
@@ -118,7 +118,7 @@
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/articles/splatter.html b/docs/articles/splatter.html
index e0d8ac2b787a46c2c758fdce42ee98b38aabb6e8..92425d11a47c49fd5d6739e30bded4e453bdd38d 100644
--- a/docs/articles/splatter.html
+++ b/docs/articles/splatter.html
@@ -39,7 +39,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
 <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -76,7 +76,7 @@
       <h1>Introduction to Splatter</h1>
                         <h4 class="author">Luke Zappia</h4>
             
-            <h4 class="date">2017-10-13</h4>
+            <h4 class="date">2018-05-02</h4>
           </div>
 
     
@@ -90,20 +90,22 @@
 <h1 class="hasAnchor">
 <a href="#installation" class="anchor"></a>Installation</h1>
 <p>Splatter can be installed from Bioconductor:</p>
-<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw">source</span>(<span class="st">"https://bioconductor.org/biocLite.R"</span>)
-<span class="kw">biocLite</span>(<span class="st">"splatter"</span>)</code></pre></div>
+<div class="sourceCode" id="cb1"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb1-1" data-line-number="1"><span class="kw">source</span>(<span class="st">"https://bioconductor.org/biocLite.R"</span>)</a>
+<a class="sourceLine" id="cb1-2" data-line-number="2"><span class="kw">biocLite</span>(<span class="st">"splatter"</span>)</a></code></pre></div>
 <p>To install the most recent development version from Github use:</p>
-<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw">biocLite</span>(<span class="st">"Oshlack/splatter"</span>, <span class="dt">dependencies =</span> <span class="ot">TRUE</span>, 
-         <span class="dt">build_vignettes =</span> <span class="ot">TRUE</span>)</code></pre></div>
+<div class="sourceCode" id="cb2"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb2-1" data-line-number="1"><span class="kw">biocLite</span>(<span class="st">"Oshlack/splatter"</span>, <span class="dt">dependencies =</span> <span class="ot">TRUE</span>,</a>
+<a class="sourceLine" id="cb2-2" data-line-number="2">         <span class="dt">build_vignettes =</span> <span class="ot">TRUE</span>)</a></code></pre></div>
 </div>
 <div id="quickstart" class="section level1">
 <h1 class="hasAnchor">
 <a href="#quickstart" class="anchor"></a>Quickstart</h1>
 <p>Assuming you already have a matrix of count data similar to that you wish to simulate there are two simple steps to creating a simulated data set with Splatter. Here is an example using the example dataset in the <code>scater</code> package:</p>
-<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="co"># Load package</span>
-<span class="kw">library</span>(splatter)</code></pre></div>
-<pre><code>## Loading required package: scater</code></pre>
-<pre><code>## Loading required package: Biobase</code></pre>
+<div class="sourceCode" id="cb3"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb3-1" data-line-number="1"><span class="co"># Load package</span></a>
+<a class="sourceLine" id="cb3-2" data-line-number="2"><span class="kw">library</span>(splatter)</a></code></pre></div>
+<pre><code>## Loading required package: SingleCellExperiment</code></pre>
+<pre><code>## Loading required package: SummarizedExperiment</code></pre>
+<pre><code>## Loading required package: GenomicRanges</code></pre>
+<pre><code>## Loading required package: stats4</code></pre>
 <pre><code>## Loading required package: BiocGenerics</code></pre>
 <pre><code>## Loading required package: parallel</code></pre>
 <pre><code>## 
@@ -118,23 +120,14 @@
 ##     IQR, mad, sd, var, xtabs</code></pre>
 <pre><code>## The following objects are masked from 'package:base':
 ## 
-##     anyDuplicated, append, as.data.frame, cbind, colMeans,
-##     colnames, colSums, do.call, duplicated, eval, evalq, Filter,
-##     Find, get, grep, grepl, intersect, is.unsorted, lapply,
-##     lengths, Map, mapply, match, mget, order, paste, pmax,
-##     pmax.int, pmin, pmin.int, Position, rank, rbind, Reduce,
-##     rowMeans, rownames, rowSums, sapply, setdiff, sort, table,
-##     tapply, union, unique, unsplit, which, which.max, which.min</code></pre>
-<pre><code>## Welcome to Bioconductor
-## 
-##     Vignettes contain introductory material; view with
-##     'browseVignettes()'. To cite Bioconductor, see
-##     'citation("Biobase")', and for packages 'citation("pkgname")'.</code></pre>
-<pre><code>## Loading required package: ggplot2</code></pre>
-<pre><code>## Loading required package: SingleCellExperiment</code></pre>
-<pre><code>## Loading required package: SummarizedExperiment</code></pre>
-<pre><code>## Loading required package: GenomicRanges</code></pre>
-<pre><code>## Loading required package: stats4</code></pre>
+##     anyDuplicated, append, as.data.frame, basename, cbind,
+##     colMeans, colnames, colSums, dirname, do.call, duplicated,
+##     eval, evalq, Filter, Find, get, grep, grepl, intersect,
+##     is.unsorted, lapply, lengths, Map, mapply, match, mget, order,
+##     paste, pmax, pmax.int, pmin, pmin.int, Position, rank, rbind,
+##     Reduce, rowMeans, rownames, rowSums, sapply, setdiff, sort,
+##     table, tapply, union, unique, unsplit, which, which.max,
+##     which.min</code></pre>
 <pre><code>## Loading required package: S4Vectors</code></pre>
 <pre><code>## 
 ## Attaching package: 'S4Vectors'</code></pre>
@@ -143,6 +136,12 @@
 ##     expand.grid</code></pre>
 <pre><code>## Loading required package: IRanges</code></pre>
 <pre><code>## Loading required package: GenomeInfoDb</code></pre>
+<pre><code>## Loading required package: Biobase</code></pre>
+<pre><code>## Welcome to Bioconductor
+## 
+##     Vignettes contain introductory material; view with
+##     'browseVignettes()'. To cite Bioconductor, see
+##     'citation("Biobase")', and for packages 'citation("pkgname")'.</code></pre>
 <pre><code>## Loading required package: DelayedArray</code></pre>
 <pre><code>## Loading required package: matrixStats</code></pre>
 <pre><code>## 
@@ -150,14 +149,18 @@
 <pre><code>## The following objects are masked from 'package:Biobase':
 ## 
 ##     anyMissing, rowMedians</code></pre>
+<pre><code>## Loading required package: BiocParallel</code></pre>
 <pre><code>## 
 ## Attaching package: 'DelayedArray'</code></pre>
 <pre><code>## The following objects are masked from 'package:matrixStats':
 ## 
 ##     colMaxs, colMins, colRanges, rowMaxs, rowMins, rowRanges</code></pre>
-<pre><code>## The following object is masked from 'package:base':
+<pre><code>## The following objects are masked from 'package:base':
 ## 
-##     apply</code></pre>
+##     aperm, apply</code></pre>
+<div class="sourceCode" id="cb29"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb29-1" data-line-number="1"><span class="co"># Load example data</span></a>
+<a class="sourceLine" id="cb29-2" data-line-number="2"><span class="kw">library</span>(scater)</a></code></pre></div>
+<pre><code>## Loading required package: ggplot2</code></pre>
 <pre><code>## 
 ## Attaching package: 'scater'</code></pre>
 <pre><code>## The following object is masked from 'package:S4Vectors':
@@ -166,12 +169,12 @@
 <pre><code>## The following object is masked from 'package:stats':
 ## 
 ##     filter</code></pre>
-<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="co"># Load example data</span>
-<span class="kw">data</span>(<span class="st">"sc_example_counts"</span>)
-<span class="co"># Estimate parameters from example data</span>
-params &lt;-<span class="st"> </span><span class="kw"><a href="../reference/splatEstimate.html">splatEstimate</a></span>(sc_example_counts)
-<span class="co"># Simulate data using estimated parameters</span>
-sim &lt;-<span class="st"> </span><span class="kw"><a href="../reference/splatSimulate.html">splatSimulate</a></span>(params, <span class="dt">dropout.present =</span> <span class="ot">FALSE</span>)</code></pre></div>
+<div class="sourceCode" id="cb34"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb34-1" data-line-number="1"><span class="kw">data</span>(<span class="st">"sc_example_counts"</span>)</a>
+<a class="sourceLine" id="cb34-2" data-line-number="2"><span class="co"># Estimate parameters from example data</span></a>
+<a class="sourceLine" id="cb34-3" data-line-number="3">params &lt;-<span class="st"> </span><span class="kw"><a href="../reference/splatEstimate.html">splatEstimate</a></span>(sc_example_counts)</a></code></pre></div>
+<pre><code>## NOTE: Library sizes have been found to be normally distributed instead of log-normal. You may want to check this is correct.</code></pre>
+<div class="sourceCode" id="cb36"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb36-1" data-line-number="1"><span class="co"># Simulate data using estimated parameters</span></a>
+<a class="sourceLine" id="cb36-2" data-line-number="2">sim &lt;-<span class="st"> </span><span class="kw"><a href="../reference/splatSimulate.html">splatSimulate</a></span>(params)</a></code></pre></div>
 <pre><code>## Getting parameters...</code></pre>
 <pre><code>## Creating simulation object...</code></pre>
 <pre><code>## Simulating library sizes...</code></pre>
@@ -229,9 +232,11 @@ sim &lt;-<span class="st"> </span><span class="kw"><a href="../reference/splatSi
 <strong>Library size parameters</strong>
 <ul>
 <li>
-<code>lib.loc</code> - Location (meanlog) parameter for the library size log-normal distribution.</li>
+<code>lib.loc</code> - Location (meanlog) parameter for the library size log-normal distribution, or mean for the normal distribution.</li>
 <li>
-<code>lib.scale</code> - Scale (sdlog) parameter for the library size log-normal distribution.</li>
+<code>lib.scale</code> - Scale (sdlog) parameter for the library size log-normal distribution, or sd for the normal distribution.</li>
+<li>
+<code>lib.norm</code> - Whether to use a normal distribution instead of the usual log-normal distribution.</li>
 </ul>
 </li>
 <li>
@@ -280,7 +285,7 @@ sim &lt;-<span class="st"> </span><span class="kw"><a href="../reference/splatSi
 <strong>Dropout parameters</strong>
 <ul>
 <li>
-<code>dropout.present</code> - Logical. Whether to simulate dropout.</li>
+<code>dropout.type</code> - Type of dropout to simulate.</li>
 <li>
 <code>dropout.mid</code> - Midpoint parameter for the dropout logistic function.</li>
 <li>
@@ -310,70 +315,70 @@ sim &lt;-<span class="st"> </span><span class="kw"><a href="../reference/splatSi
 <h1 class="hasAnchor">
 <a href="#the-splatparams-object" class="anchor"></a>The <code>SplatParams</code> object</h1>
 <p>All the parameters for the Splat simulation are stored in a <code>SplatParams</code> object. Let’s create a new one and see what it looks like.</p>
-<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">params &lt;-<span class="st"> </span><span class="kw"><a href="../reference/newParams.html">newSplatParams</a></span>()
-params</code></pre></div>
+<div class="sourceCode" id="cb45"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb45-1" data-line-number="1">params &lt;-<span class="st"> </span><span class="kw"><a href="../reference/newParams.html">newSplatParams</a></span>()</a>
+<a class="sourceLine" id="cb45-2" data-line-number="2">params</a></code></pre></div>
 <pre><code>## A Params object of class SplatParams 
-## Parameters can be (estimable) or [not estimable], 'Default' or 'NOT DEFAULT'. 
+## Parameters can be (estimable) or [not estimable], 'Default' or  'NOT DEFAULT' 
 ## 
 ## Global: 
-## (Genes)  (Cells)   [Seed]  
-##   10000      100   237407  
+## (Genes)  (Cells)   [Seed] 
+##   10000      100   498429 
 ## 
-## 27 additional parameters 
+## 28 additional parameters 
 ## 
 ## Batches: 
-##     [Batches]  [Batch Cells]     [Location]        [Scale]  
-##             1            100            0.1            0.1  
+##     [Batches]  [Batch Cells]     [Location]        [Scale] 
+##             1            100            0.1            0.1 
 ## 
 ## Mean: 
-##  (Rate)  (Shape)  
-##     0.3      0.6  
+##  (Rate)  (Shape) 
+##     0.3      0.6 
 ## 
 ## Library size: 
-## (Location)     (Scale)  
-##         11         0.2  
+## (Location)     (Scale)      (Norm) 
+##         11         0.2       FALSE 
 ## 
 ## Exprs outliers: 
-## (Probability)     (Location)        (Scale)  
-##          0.05              4            0.5  
+## (Probability)     (Location)        (Scale) 
+##          0.05              4            0.5 
 ## 
 ## Groups: 
-##      [Groups]  [Group Probs]  
-##             1              1  
+##      [Groups]  [Group Probs] 
+##             1              1 
 ## 
 ## Diff expr: 
-## [Probability]    [Down Prob]     [Location]        [Scale]  
-##           0.1            0.5            0.1            0.4  
+## [Probability]    [Down Prob]     [Location]        [Scale] 
+##           0.1            0.5            0.1            0.4 
 ## 
 ## BCV: 
-## (Common Disp)          (DoF)  
-##           0.1             60  
+## (Common Disp)          (DoF) 
+##           0.1             60 
 ## 
 ## Dropout: 
-##  [Present]  (Midpoint)     (Shape)  
-##      FALSE           0          -1  
+##     [Type]  (Midpoint)     (Shape) 
+##       none           0          -1 
 ## 
 ## Paths: 
-##         [From]        [Length]          [Skew]    [Non-linear]  
-##              0             100             0.5             0.1  
-## [Sigma Factor]  
+##         [From]        [Length]          [Skew]    [Non-linear] 
+##              0             100             0.5             0.1 
+## [Sigma Factor] 
 ##            0.8</code></pre>
 <p>As well as telling us what type of object we have (“A <code>Params</code> object of class <code>SplatParams</code>”) and showing us the values of the parameter this output gives us some extra information. We can see which parameters can be estimated by the <code>splatEstimate</code> function (those in parentheses), which can’t be estimated (those in brackets) and which have been changed from their default values (those in ALL CAPS).</p>
 <div id="getting-and-setting" class="section level2">
 <h2 class="hasAnchor">
 <a href="#getting-and-setting" class="anchor"></a>Getting and setting</h2>
 <p>If we want to look at a particular parameter, for example the number of genes to simulate, we can extract it using the <code>getParam</code> function:</p>
-<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw"><a href="../reference/getParam.html">getParam</a></span>(params, <span class="st">"nGenes"</span>)</code></pre></div>
+<div class="sourceCode" id="cb47"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb47-1" data-line-number="1"><span class="kw"><a href="../reference/getParam.html">getParam</a></span>(params, <span class="st">"nGenes"</span>)</a></code></pre></div>
 <pre><code>## [1] 10000</code></pre>
 <p>Alternatively, to give a parameter a new value we can use the <code>setParam</code> function:</p>
-<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">params &lt;-<span class="st"> </span><span class="kw"><a href="../reference/setParam.html">setParam</a></span>(params, <span class="st">"nGenes"</span>, <span class="dv">5000</span>)
-<span class="kw"><a href="../reference/getParam.html">getParam</a></span>(params, <span class="st">"nGenes"</span>)</code></pre></div>
+<div class="sourceCode" id="cb49"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb49-1" data-line-number="1">params &lt;-<span class="st"> </span><span class="kw"><a href="../reference/setParam.html">setParam</a></span>(params, <span class="st">"nGenes"</span>, <span class="dv">5000</span>)</a>
+<a class="sourceLine" id="cb49-2" data-line-number="2"><span class="kw"><a href="../reference/getParam.html">getParam</a></span>(params, <span class="st">"nGenes"</span>)</a></code></pre></div>
 <pre><code>## [1] 5000</code></pre>
 <p>If we want to extract multiple parameters (as a list) or set multiple parameters we can use the <code>getParams</code> or <code>setParams</code> functions:</p>
-<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="co"># Set multiple parameters at once (using a list)</span>
-params &lt;-<span class="st"> </span><span class="kw"><a href="../reference/setParams.html">setParams</a></span>(params, <span class="dt">update =</span> <span class="kw">list</span>(<span class="dt">nGenes =</span> <span class="dv">8000</span>, <span class="dt">mean.rate =</span> <span class="fl">0.5</span>))
-<span class="co"># Extract multiple parameters as a list</span>
-<span class="kw"><a href="../reference/getParams.html">getParams</a></span>(params, <span class="kw">c</span>(<span class="st">"nGenes"</span>, <span class="st">"mean.rate"</span>, <span class="st">"mean.shape"</span>))</code></pre></div>
+<div class="sourceCode" id="cb51"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb51-1" data-line-number="1"><span class="co"># Set multiple parameters at once (using a list)</span></a>
+<a class="sourceLine" id="cb51-2" data-line-number="2">params &lt;-<span class="st"> </span><span class="kw"><a href="../reference/setParams.html">setParams</a></span>(params, <span class="dt">update =</span> <span class="kw">list</span>(<span class="dt">nGenes =</span> <span class="dv">8000</span>, <span class="dt">mean.rate =</span> <span class="fl">0.5</span>))</a>
+<a class="sourceLine" id="cb51-3" data-line-number="3"><span class="co"># Extract multiple parameters as a list</span></a>
+<a class="sourceLine" id="cb51-4" data-line-number="4"><span class="kw"><a href="../reference/getParams.html">getParams</a></span>(params, <span class="kw">c</span>(<span class="st">"nGenes"</span>, <span class="st">"mean.rate"</span>, <span class="st">"mean.shape"</span>))</a></code></pre></div>
 <pre><code>## $nGenes
 ## [1] 8000
 ## 
@@ -382,59 +387,59 @@ params &lt;-<span class="st"> </span><span class="kw"><a href="../reference/setP
 ## 
 ## $mean.shape
 ## [1] 0.6</code></pre>
-<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="co"># Set multiple parameters at once (using additional arguments)</span>
-params &lt;-<span class="st"> </span><span class="kw"><a href="../reference/setParams.html">setParams</a></span>(params, <span class="dt">mean.shape =</span> <span class="fl">0.5</span>, <span class="dt">de.prob =</span> <span class="fl">0.2</span>)
-params</code></pre></div>
+<div class="sourceCode" id="cb53"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb53-1" data-line-number="1"><span class="co"># Set multiple parameters at once (using additional arguments)</span></a>
+<a class="sourceLine" id="cb53-2" data-line-number="2">params &lt;-<span class="st"> </span><span class="kw"><a href="../reference/setParams.html">setParams</a></span>(params, <span class="dt">mean.shape =</span> <span class="fl">0.5</span>, <span class="dt">de.prob =</span> <span class="fl">0.2</span>)</a>
+<a class="sourceLine" id="cb53-3" data-line-number="3">params</a></code></pre></div>
 <pre><code>## A Params object of class SplatParams 
-## Parameters can be (estimable) or [not estimable], 'Default' or 'NOT DEFAULT'. 
+## Parameters can be (estimable) or [not estimable], 'Default' or  'NOT DEFAULT' 
 ## 
 ## Global: 
-## (GENES)  (Cells)   [Seed]  
-##    8000      100   237407  
+## (GENES)  (Cells)   [Seed] 
+##    8000      100   498429 
 ## 
-## 27 additional parameters 
+## 28 additional parameters 
 ## 
 ## Batches: 
-##     [Batches]  [Batch Cells]     [Location]        [Scale]  
-##             1            100            0.1            0.1  
+##     [Batches]  [Batch Cells]     [Location]        [Scale] 
+##             1            100            0.1            0.1 
 ## 
 ## Mean: 
-##  (RATE)  (SHAPE)  
-##     0.5      0.5  
+##  (RATE)  (SHAPE) 
+##     0.5      0.5 
 ## 
 ## Library size: 
-## (Location)     (Scale)  
-##         11         0.2  
+## (Location)     (Scale)      (Norm) 
+##         11         0.2       FALSE 
 ## 
 ## Exprs outliers: 
-## (Probability)     (Location)        (Scale)  
-##          0.05              4            0.5  
+## (Probability)     (Location)        (Scale) 
+##          0.05              4            0.5 
 ## 
 ## Groups: 
-##      [Groups]  [Group Probs]  
-##             1              1  
+##      [Groups]  [Group Probs] 
+##             1              1 
 ## 
 ## Diff expr: 
-## [PROBABILITY]    [Down Prob]     [Location]        [Scale]  
-##           0.2            0.5            0.1            0.4  
+## [PROBABILITY]    [Down Prob]     [Location]        [Scale] 
+##           0.2            0.5            0.1            0.4 
 ## 
 ## BCV: 
-## (Common Disp)          (DoF)  
-##           0.1             60  
+## (Common Disp)          (DoF) 
+##           0.1             60 
 ## 
 ## Dropout: 
-##  [Present]  (Midpoint)     (Shape)  
-##      FALSE           0          -1  
+##     [Type]  (Midpoint)     (Shape) 
+##       none           0          -1 
 ## 
 ## Paths: 
-##         [From]        [Length]          [Skew]    [Non-linear]  
-##              0             100             0.5             0.1  
-## [Sigma Factor]  
+##         [From]        [Length]          [Skew]    [Non-linear] 
+##              0             100             0.5             0.1 
+## [Sigma Factor] 
 ##            0.8</code></pre>
 <p>The parameters with have changed are now shown in ALL CAPS to indicate that they been changed form the default.</p>
 <p>We can also set parameters directly when we call <code>newSplatParams</code>:</p>
-<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">params &lt;-<span class="st"> </span><span class="kw"><a href="../reference/newParams.html">newSplatParams</a></span>(<span class="dt">lib.loc =</span> <span class="dv">12</span>, <span class="dt">lib.scale =</span> <span class="fl">0.6</span>)
-<span class="kw"><a href="../reference/getParams.html">getParams</a></span>(params, <span class="kw">c</span>(<span class="st">"lib.loc"</span>, <span class="st">"lib.scale"</span>))</code></pre></div>
+<div class="sourceCode" id="cb55"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb55-1" data-line-number="1">params &lt;-<span class="st"> </span><span class="kw"><a href="../reference/newParams.html">newSplatParams</a></span>(<span class="dt">lib.loc =</span> <span class="dv">12</span>, <span class="dt">lib.scale =</span> <span class="fl">0.6</span>)</a>
+<a class="sourceLine" id="cb55-2" data-line-number="2"><span class="kw"><a href="../reference/getParams.html">getParams</a></span>(params, <span class="kw">c</span>(<span class="st">"lib.loc"</span>, <span class="st">"lib.scale"</span>))</a></code></pre></div>
 <pre><code>## $lib.loc
 ## [1] 12
 ## 
@@ -446,23 +451,24 @@ params</code></pre></div>
 <h1 class="hasAnchor">
 <a href="#estimating-parameters" class="anchor"></a>Estimating parameters</h1>
 <p>Splat allows you to estimate many of it’s parameters from a data set containing counts using the <code>splatEstimate</code> function.</p>
-<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="co"># Check that sc_example counts is an integer matrix</span>
-<span class="kw">class</span>(sc_example_counts)</code></pre></div>
+<div class="sourceCode" id="cb57"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb57-1" data-line-number="1"><span class="co"># Check that sc_example counts is an integer matrix</span></a>
+<a class="sourceLine" id="cb57-2" data-line-number="2"><span class="kw">class</span>(sc_example_counts)</a></code></pre></div>
 <pre><code>## [1] "matrix"</code></pre>
-<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw">typeof</span>(sc_example_counts)</code></pre></div>
+<div class="sourceCode" id="cb59"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb59-1" data-line-number="1"><span class="kw">typeof</span>(sc_example_counts)</a></code></pre></div>
 <pre><code>## [1] "integer"</code></pre>
-<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="co"># Check the dimensions, each row is a gene, each column is a cell</span>
-<span class="kw">dim</span>(sc_example_counts)</code></pre></div>
+<div class="sourceCode" id="cb61"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb61-1" data-line-number="1"><span class="co"># Check the dimensions, each row is a gene, each column is a cell</span></a>
+<a class="sourceLine" id="cb61-2" data-line-number="2"><span class="kw">dim</span>(sc_example_counts)</a></code></pre></div>
 <pre><code>## [1] 2000   40</code></pre>
-<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="co"># Show the first few entries</span>
-sc_example_counts[<span class="dv">1</span><span class="op">:</span><span class="dv">5</span>, <span class="dv">1</span><span class="op">:</span><span class="dv">5</span>]</code></pre></div>
+<div class="sourceCode" id="cb63"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb63-1" data-line-number="1"><span class="co"># Show the first few entries</span></a>
+<a class="sourceLine" id="cb63-2" data-line-number="2">sc_example_counts[<span class="dv">1</span><span class="op">:</span><span class="dv">5</span>, <span class="dv">1</span><span class="op">:</span><span class="dv">5</span>]</a></code></pre></div>
 <pre><code>##           Cell_001 Cell_002 Cell_003 Cell_004 Cell_005
 ## Gene_0001        0      123        2        0        0
 ## Gene_0002      575       65        3     1561     2311
 ## Gene_0003        0        0        0        0     1213
 ## Gene_0004        0        1        0        0        0
 ## Gene_0005        0        0       11        0        0</code></pre>
-<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">params &lt;-<span class="st"> </span><span class="kw"><a href="../reference/splatEstimate.html">splatEstimate</a></span>(sc_example_counts)</code></pre></div>
+<div class="sourceCode" id="cb65"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb65-1" data-line-number="1">params &lt;-<span class="st"> </span><span class="kw"><a href="../reference/splatEstimate.html">splatEstimate</a></span>(sc_example_counts)</a></code></pre></div>
+<pre><code>## NOTE: Library sizes have been found to be normally distributed instead of log-normal. You may want to check this is correct.</code></pre>
 <p>Here we estimated parameters from a counts matrix but <code>splatEstimate</code> can also take a <code>SingleCellExperiment</code> object. The estimation process has the following steps:</p>
 <ol style="list-style-type: decimal">
 <li>Mean parameters are estimated by fitting a gamma distribution to the mean expression levels.</li>
@@ -477,7 +483,7 @@ sc_example_counts[<span class="dv">1</span><span class="op">:</span><span class=
 <h1 class="hasAnchor">
 <a href="#simulating-counts" class="anchor"></a>Simulating counts</h1>
 <p>Once we have a set of parameters we are happy with we can use <code>splatSimulate</code> to simulate counts. If we want to make small adjustments to the parameters we can provide them as additional arguments, alternatively if we don’t supply any parameters the defaults will be used:</p>
-<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">sim &lt;-<span class="st"> </span><span class="kw"><a href="../reference/splatSimulate.html">splatSimulate</a></span>(params, <span class="dt">nGenes =</span> <span class="dv">1000</span>, <span class="dt">dropout.present =</span> <span class="ot">FALSE</span>)</code></pre></div>
+<div class="sourceCode" id="cb67"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb67-1" data-line-number="1">sim &lt;-<span class="st"> </span><span class="kw"><a href="../reference/splatSimulate.html">splatSimulate</a></span>(params, <span class="dt">nGenes =</span> <span class="dv">1000</span>)</a></code></pre></div>
 <pre><code>## Getting parameters...</code></pre>
 <pre><code>## Creating simulation object...</code></pre>
 <pre><code>## Simulating library sizes...</code></pre>
@@ -486,10 +492,10 @@ sc_example_counts[<span class="dv">1</span><span class="op">:</span><span class=
 <pre><code>## Simulating counts..</code></pre>
 <pre><code>## Simulating dropout (if needed)...</code></pre>
 <pre><code>## Done!</code></pre>
-<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">sim</code></pre></div>
+<div class="sourceCode" id="cb76"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb76-1" data-line-number="1">sim</a></code></pre></div>
 <pre><code>## class: SingleCellExperiment 
 ## dim: 1000 40 
-## metadata(1): params
+## metadata(1): Params
 ## assays(6): BatchCellMeans BaseCellMeans ... TrueCounts counts
 ## rownames(1000): Gene1 Gene2 ... Gene999 Gene1000
 ## rowData names(4): Gene BaseGeneMean OutlierFactor GeneMean
@@ -498,53 +504,57 @@ sc_example_counts[<span class="dv">1</span><span class="op">:</span><span class=
 ## reducedDimNames(0):
 ## spikeNames(0):</code></pre>
 <p>Looking at the output of <code>splatSimulate</code> we can see that <code>sim</code> is <code>SingleCellExperiment</code> object with 1000 features (genes) and 40 samples (cells). The main part of this object is a features by samples matrix containing the simulated counts (accessed using <code>counts</code>), although it can also hold other expression measures such as FPKM or TPM. Additionaly a <code>SingleCellExperiment</code> contains phenotype information about each cell (accessed using <code>colData</code>) and feature information about each gene (accessed using <code>rowData</code>). Splatter uses these slots, as well as <code>assays</code>, to store information about the intermediate values of the simulation.</p>
-<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="co"># Access the counts</span>
-<span class="kw">counts</span>(sim)[<span class="dv">1</span><span class="op">:</span><span class="dv">5</span>, <span class="dv">1</span><span class="op">:</span><span class="dv">5</span>]</code></pre></div>
+<div class="sourceCode" id="cb78"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb78-1" data-line-number="1"><span class="co"># Access the counts</span></a>
+<a class="sourceLine" id="cb78-2" data-line-number="2"><span class="kw">counts</span>(sim)[<span class="dv">1</span><span class="op">:</span><span class="dv">5</span>, <span class="dv">1</span><span class="op">:</span><span class="dv">5</span>]</a></code></pre></div>
 <pre><code>##       Cell1 Cell2 Cell3 Cell4 Cell5
-## Gene1   208     2     0     0     0
-## Gene2    48     0     0     0     0
-## Gene3     0     0     0   240     0
-## Gene4     0     0    12   626     0
-## Gene5    58     0    47     0     0</code></pre>
-<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="co"># Information about genes</span>
-<span class="kw">head</span>(<span class="kw">rowData</span>(sim))</code></pre></div>
+## Gene1     0     0     0     0     0
+## Gene2    24     0    15     0     0
+## Gene3     0   112     0     2     0
+## Gene4     0    15    19     8     0
+## Gene5     0   119     0     0     0</code></pre>
+<div class="sourceCode" id="cb80"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb80-1" data-line-number="1"><span class="co"># Information about genes</span></a>
+<a class="sourceLine" id="cb80-2" data-line-number="2"><span class="kw">head</span>(<span class="kw">rowData</span>(sim))</a></code></pre></div>
 <pre><code>## DataFrame with 6 rows and 4 columns
-##       Gene BaseGeneMean OutlierFactor    GeneMean
-##   &lt;factor&gt;    &lt;numeric&gt;     &lt;numeric&gt;   &lt;numeric&gt;
-## 1    Gene1   8.84938916             1  8.84938916
-## 2    Gene2   2.09254274             1  2.09254274
-## 3    Gene3  76.54642638             1 76.54642638
-## 4    Gene4  48.29447650             1 48.29447650
-## 5    Gene5   8.38049805             1  8.38049805
-## 6    Gene6   0.03711706             1  0.03711706</code></pre>
-<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="co"># Information about cells</span>
-<span class="kw">head</span>(<span class="kw">colData</span>(sim))</code></pre></div>
+##       Gene       BaseGeneMean OutlierFactor           GeneMean
+##   &lt;factor&gt;          &lt;numeric&gt;     &lt;numeric&gt;          &lt;numeric&gt;
+## 1    Gene1 0.0130414813167312             1 0.0130414813167312
+## 2    Gene2   8.22812161052673             1   8.22812161052673
+## 3    Gene3   94.0106124465794             1   94.0106124465794
+## 4    Gene4   463.408618692168             1   463.408618692168
+## 5    Gene5   8.17204397802014             1   8.17204397802014
+## 6    Gene6   82.8824018477604             1   82.8824018477604</code></pre>
+<div class="sourceCode" id="cb82"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb82-1" data-line-number="1"><span class="co"># Information about cells</span></a>
+<a class="sourceLine" id="cb82-2" data-line-number="2"><span class="kw">head</span>(<span class="kw">colData</span>(sim))</a></code></pre></div>
 <pre><code>## DataFrame with 6 rows and 3 columns
-##           Cell       Batch ExpLibSize
-##       &lt;factor&gt; &lt;character&gt;  &lt;numeric&gt;
-## Cell1    Cell1      Batch1   369673.5
-## Cell2    Cell2      Batch1   837884.1
-## Cell3    Cell3      Batch1   211900.0
-## Cell4    Cell4      Batch1   469342.1
-## Cell5    Cell5      Batch1   358101.8
-## Cell6    Cell6      Batch1   984061.6</code></pre>
-<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="co"># Gene by cell matrices</span>
-<span class="kw">names</span>(<span class="kw">assays</span>(sim))</code></pre></div>
+##           Cell       Batch       ExpLibSize
+##       &lt;factor&gt; &lt;character&gt;        &lt;numeric&gt;
+## Cell1    Cell1      Batch1 417797.914401539
+## Cell2    Cell2      Batch1 292966.340021102
+## Cell3    Cell3      Batch1 29202.3477378194
+## Cell4    Cell4      Batch1 307931.285977102
+## Cell5    Cell5      Batch1 291609.629194382
+## Cell6    Cell6      Batch1 580684.827308051</code></pre>
+<div class="sourceCode" id="cb84"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb84-1" data-line-number="1"><span class="co"># Gene by cell matrices</span></a>
+<a class="sourceLine" id="cb84-2" data-line-number="2"><span class="kw">names</span>(<span class="kw">assays</span>(sim))</a></code></pre></div>
 <pre><code>## [1] "BatchCellMeans" "BaseCellMeans"  "BCV"            "CellMeans"     
 ## [5] "TrueCounts"     "counts"</code></pre>
-<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="co"># Example of cell means matrix</span>
-<span class="kw">assays</span>(sim)<span class="op">$</span>CellMeans[<span class="dv">1</span><span class="op">:</span><span class="dv">5</span>, <span class="dv">1</span><span class="op">:</span><span class="dv">5</span>]</code></pre></div>
+<div class="sourceCode" id="cb86"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb86-1" data-line-number="1"><span class="co"># Example of cell means matrix</span></a>
+<a class="sourceLine" id="cb86-2" data-line-number="2"><span class="kw">assays</span>(sim)<span class="op">$</span>CellMeans[<span class="dv">1</span><span class="op">:</span><span class="dv">5</span>, <span class="dv">1</span><span class="op">:</span><span class="dv">5</span>]</a></code></pre></div>
 <pre><code>##              Cell1        Cell2        Cell3        Cell4        Cell5
-## Gene1 1.777352e+02 6.087412e-01 6.358857e-17 5.040406e-01 3.086920e-06
-## Gene2 5.735710e+01 8.038331e-06 1.675001e-06 9.275255e-02 5.368496e-08
-## Gene3 1.307104e-03 4.675363e-09 7.657201e-20 2.453874e+02 1.578852e+00
-## Gene4 2.107991e-04 1.060652e-03 1.201788e+01 6.365346e+02 5.394848e-17
-## Gene5 6.441256e+01 8.666657e-05 4.797971e+01 9.699099e-08 8.152520e-15</code></pre>
+## Gene1 1.770411e-03 2.306051e-27 3.092778e-04 1.730713e-38 3.735798e-35
+## Gene2 2.507370e+01 2.388855e-19 1.629559e+01 1.405443e-05 4.289045e-03
+## Gene3 5.586177e-06 1.059315e+02 1.635766e-07 1.327532e+00 1.695889e-14
+## Gene4 1.129532e+00 1.036317e+01 1.679162e+01 8.609940e+00 5.195456e-11
+## Gene5 3.468714e-02 1.040199e+02 1.169722e-03 1.047193e-01 2.080234e-03</code></pre>
 <p>An additional (big) advantage of outputting a <code>SingleCellExperiment</code> is that we get immediate access to other analysis packages, such as the plotting functions in <code>scater</code>. For example we can make a PCA plot:</p>
-<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw">plotPCA</span>(sim, <span class="dt">exprs_values =</span> <span class="st">"counts"</span>)</code></pre></div>
+<div class="sourceCode" id="cb88"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb88-1" data-line-number="1"><span class="co"># Use scater to calculate logcounts</span></a>
+<a class="sourceLine" id="cb88-2" data-line-number="2">sim &lt;-<span class="st"> </span><span class="kw"><a href="http://www.rdocumentation.org/packages/scater/topics/normalize">normalise</a></span>(sim)</a></code></pre></div>
+<pre><code>## Warning in .local(object, ...): using library sizes as size factors</code></pre>
+<div class="sourceCode" id="cb90"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb90-1" data-line-number="1"><span class="co"># Plot PCA</span></a>
+<a class="sourceLine" id="cb90-2" data-line-number="2"><span class="kw"><a href="http://www.rdocumentation.org/packages/scater/topics/plot_reddim">plotPCA</a></span>(sim)</a></code></pre></div>
 <p><img src="splatter_files/figure-html/pca-1.png" width="576" style="display: block; margin: auto;"></p>
 <p>(<strong>NOTE:</strong> Your values and plots may look different as the simulation is random and produces different results each time it is run.)</p>
-<p>For more details about the <code>SingleCellExperiment</code> object refer to the <a href="https://bioconductor.org/packages/devel/bioc/vignettes/SingleCellExperiment/inst/doc/intro.html">vignette</a>. For information about what you can do with <code>scater</code> refer to the <code>scater</code> documentation and <a href="https://bioconductor.org/packages/release/bioc/vignettes/scater/inst/doc/vignette.html">vignette</a>.</p>
+<p>For more details about the <code>SingleCellExperiment</code> object refer to the [vignette] <a href="https://bioconductor.org/packages/devel/bioc/vignettes/SingleCellExperiment/inst/doc/intro.html">SCE-vignette</a>. For information about what you can do with <code>scater</code> refer to the <code>scater</code> documentation and <a href="https://bioconductor.org/packages/release/bioc/vignettes/scater/inst/doc/vignette.html">vignette</a>.</p>
 <p>The <code>splatSimulate</code> function outputs the following additional information about the simulation:</p>
 <ul>
 <li>
@@ -599,9 +609,11 @@ sc_example_counts[<span class="dv">1</span><span class="op">:</span><span class=
 <a href="#simulating-groups" class="anchor"></a>Simulating groups</h2>
 <p>So far we have only simulated a single population of cells but often we are interested in investigating a mixed population of cells and looking to see what cell types are present or what differences there are between them. Splatter is able to simulate these situations by changing the <code>method</code> argument Here we are going to simulate two groups, by specifying the <code>group.prob</code> parameter and setting the <code>method</code> parameter to <code>"groups"</code>:</p>
 <p>(<strong>NOTE:</strong> We have also set the <code>verbose</code> argument to <code>FALSE</code> to stop Splatter printing progress messages.)</p>
-<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">sim.groups &lt;-<span class="st"> </span><span class="kw"><a href="../reference/splatSimulate.html">splatSimulate</a></span>(<span class="dt">group.prob =</span> <span class="kw">c</span>(<span class="fl">0.5</span>, <span class="fl">0.5</span>), <span class="dt">method =</span> <span class="st">"groups"</span>,
-                            <span class="dt">verbose =</span> <span class="ot">FALSE</span>)
-<span class="kw">plotPCA</span>(sim.groups, <span class="dt">colour_by =</span> <span class="st">"Group"</span>, <span class="dt">exprs_values =</span> <span class="st">"counts"</span>)</code></pre></div>
+<div class="sourceCode" id="cb91"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb91-1" data-line-number="1">sim.groups &lt;-<span class="st"> </span><span class="kw"><a href="../reference/splatSimulate.html">splatSimulate</a></span>(<span class="dt">group.prob =</span> <span class="kw">c</span>(<span class="fl">0.5</span>, <span class="fl">0.5</span>), <span class="dt">method =</span> <span class="st">"groups"</span>,</a>
+<a class="sourceLine" id="cb91-2" data-line-number="2">                            <span class="dt">verbose =</span> <span class="ot">FALSE</span>)</a>
+<a class="sourceLine" id="cb91-3" data-line-number="3">sim.groups &lt;-<span class="st"> </span><span class="kw"><a href="http://www.rdocumentation.org/packages/scater/topics/normalize">normalise</a></span>(sim.groups)</a></code></pre></div>
+<pre><code>## Warning in .local(object, ...): using library sizes as size factors</code></pre>
+<div class="sourceCode" id="cb93"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb93-1" data-line-number="1"><span class="kw"><a href="http://www.rdocumentation.org/packages/scater/topics/plot_reddim">plotPCA</a></span>(sim.groups, <span class="dt">colour_by =</span> <span class="st">"Group"</span>)</a></code></pre></div>
 <p><img src="splatter_files/figure-html/groups-1.png" width="576" style="display: block; margin: auto;"></p>
 <p>As we have set both the group probabilites to 0.5 we should get approximately equal numbers of cells in each group (around 50 in this case). If we wanted uneven groups we could set <code>group.prob</code> to any set of probabilites that sum to 1.</p>
 </div>
@@ -609,8 +621,10 @@ sc_example_counts[<span class="dv">1</span><span class="op">:</span><span class=
 <h2 class="hasAnchor">
 <a href="#simulating-paths" class="anchor"></a>Simulating paths</h2>
 <p>The other situation that is often of interest is a differentiation process where one cell type is changing into another. Splatter approximates this process by simulating a series of steps between two groups and randomly assigning each cell to a step. We can create this kind of simulation using the <code>"paths"</code> method.</p>
-<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">sim.paths &lt;-<span class="st"> </span><span class="kw"><a href="../reference/splatSimulate.html">splatSimulate</a></span>(<span class="dt">method =</span> <span class="st">"paths"</span>, <span class="dt">verbose =</span> <span class="ot">FALSE</span>)
-<span class="kw">plotPCA</span>(sim.paths, <span class="dt">colour_by =</span> <span class="st">"Step"</span>, <span class="dt">exprs_values =</span> <span class="st">"counts"</span>)</code></pre></div>
+<div class="sourceCode" id="cb94"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb94-1" data-line-number="1">sim.paths &lt;-<span class="st"> </span><span class="kw"><a href="../reference/splatSimulate.html">splatSimulate</a></span>(<span class="dt">method =</span> <span class="st">"paths"</span>, <span class="dt">verbose =</span> <span class="ot">FALSE</span>)</a>
+<a class="sourceLine" id="cb94-2" data-line-number="2">sim.paths &lt;-<span class="st"> </span><span class="kw"><a href="http://www.rdocumentation.org/packages/scater/topics/normalize">normalise</a></span>(sim.paths)</a></code></pre></div>
+<pre><code>## Warning in .local(object, ...): using library sizes as size factors</code></pre>
+<div class="sourceCode" id="cb96"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb96-1" data-line-number="1"><span class="kw"><a href="http://www.rdocumentation.org/packages/scater/topics/plot_reddim">plotPCA</a></span>(sim.paths, <span class="dt">colour_by =</span> <span class="st">"Step"</span>)</a></code></pre></div>
 <p><img src="splatter_files/figure-html/paths-1.png" width="576" style="display: block; margin: auto;"></p>
 <p>Here the colours represent the “step” of each cell or how far along the differentiation path it is. We can see that the cells with dark colours are more similar to the originating cell type and the light coloured cells are closer to the final, differentiated, cell type. By setting additional parameters it is possible to simulate more complex process (for example multiple mature cell types from a single progenitor).</p>
 </div>
@@ -618,14 +632,17 @@ sc_example_counts[<span class="dv">1</span><span class="op">:</span><span class=
 <h2 class="hasAnchor">
 <a href="#batch-effects" class="anchor"></a>Batch effects</h2>
 <p>Another factor that is important in the analysis of any sequencing experiment are batch effects, technical variation that is common to a set of samples processed at the same time. We apply batch effects by telling Splatter how many cells are in each batch:</p>
-<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">sim.batches &lt;-<span class="st"> </span><span class="kw"><a href="../reference/splatSimulate.html">splatSimulate</a></span>(<span class="dt">batchCells =</span> <span class="kw">c</span>(<span class="dv">50</span>, <span class="dv">50</span>), <span class="dt">verbose =</span> <span class="ot">FALSE</span>)
-<span class="kw">plotPCA</span>(sim.batches, <span class="dt">colour_by =</span> <span class="st">"Batch"</span>, <span class="dt">exprs_values =</span> <span class="st">"counts"</span>)</code></pre></div>
+<div class="sourceCode" id="cb97"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb97-1" data-line-number="1">sim.batches &lt;-<span class="st"> </span><span class="kw"><a href="../reference/splatSimulate.html">splatSimulate</a></span>(<span class="dt">batchCells =</span> <span class="kw">c</span>(<span class="dv">50</span>, <span class="dv">50</span>), <span class="dt">verbose =</span> <span class="ot">FALSE</span>)</a>
+<a class="sourceLine" id="cb97-2" data-line-number="2">sim.batches &lt;-<span class="st"> </span><span class="kw"><a href="http://www.rdocumentation.org/packages/scater/topics/normalize">normalise</a></span>(sim.batches)</a></code></pre></div>
+<pre><code>## Warning in .local(object, ...): using library sizes as size factors</code></pre>
+<div class="sourceCode" id="cb99"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb99-1" data-line-number="1"><span class="kw"><a href="http://www.rdocumentation.org/packages/scater/topics/plot_reddim">plotPCA</a></span>(sim.batches, <span class="dt">colour_by =</span> <span class="st">"Batch"</span>)</a></code></pre></div>
 <p><img src="splatter_files/figure-html/batches-1.png" width="576" style="display: block; margin: auto;"></p>
 <p>This looks at lot like when we simulated groups and that is because the process is very similar. The difference is that batch effects are applied to all genes, not just those that are differentially expressed, and the effects are usually smaller. By combining groups and batches we can simulate both unwanted variation that we aren’t interested in (batch) and the wanted variation we are looking for (group):</p>
-<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">sim.groups &lt;-<span class="st"> </span><span class="kw"><a href="../reference/splatSimulate.html">splatSimulate</a></span>(<span class="dt">batchCells =</span> <span class="kw">c</span>(<span class="dv">50</span>, <span class="dv">50</span>), <span class="dt">group.prob =</span> <span class="kw">c</span>(<span class="fl">0.5</span>, <span class="fl">0.5</span>),
-                            <span class="dt">method =</span> <span class="st">"groups"</span>, <span class="dt">verbose =</span> <span class="ot">FALSE</span>)
-<span class="kw">plotPCA</span>(sim.groups, <span class="dt">shape_by =</span> <span class="st">"Batch"</span>, <span class="dt">colour_by =</span> <span class="st">"Group"</span>,
-        <span class="dt">exprs_values =</span> <span class="st">"counts"</span>)</code></pre></div>
+<div class="sourceCode" id="cb100"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb100-1" data-line-number="1">sim.groups &lt;-<span class="st"> </span><span class="kw"><a href="../reference/splatSimulate.html">splatSimulate</a></span>(<span class="dt">batchCells =</span> <span class="kw">c</span>(<span class="dv">50</span>, <span class="dv">50</span>), <span class="dt">group.prob =</span> <span class="kw">c</span>(<span class="fl">0.5</span>, <span class="fl">0.5</span>),</a>
+<a class="sourceLine" id="cb100-2" data-line-number="2">                            <span class="dt">method =</span> <span class="st">"groups"</span>, <span class="dt">verbose =</span> <span class="ot">FALSE</span>)</a>
+<a class="sourceLine" id="cb100-3" data-line-number="3">sim.groups &lt;-<span class="st"> </span><span class="kw"><a href="http://www.rdocumentation.org/packages/scater/topics/normalize">normalise</a></span>(sim.groups)</a></code></pre></div>
+<pre><code>## Warning in .local(object, ...): using library sizes as size factors</code></pre>
+<div class="sourceCode" id="cb102"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb102-1" data-line-number="1"><span class="kw"><a href="http://www.rdocumentation.org/packages/scater/topics/plot_reddim">plotPCA</a></span>(sim.groups, <span class="dt">shape_by =</span> <span class="st">"Batch"</span>, <span class="dt">colour_by =</span> <span class="st">"Group"</span>)</a></code></pre></div>
 <p><img src="splatter_files/figure-html/batch-groups-1.png" width="576" style="display: block; margin: auto;"></p>
 <p>Here we see that the effects of the group (first component) are stronger than the batch effects (second component) but by adjusting the parameters we could made the batch effects dominate.</p>
 </div>
@@ -639,27 +656,27 @@ sc_example_counts[<span class="dv">1</span><span class="op">:</span><span class=
 <h1 class="hasAnchor">
 <a href="#other-simulations" class="anchor"></a>Other simulations</h1>
 <p>As well as it’s own Splat simulation method the Splatter package contains implementations of other single-cell RNA-seq simulations that have been published or wrappers around simulations included in other packages. To see all the available simulations run the <code><a href="../reference/listSims.html">listSims()</a></code> function:</p>
-<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw"><a href="../reference/listSims.html">listSims</a></span>()</code></pre></div>
-<pre><code>## Splatter currently contains 11 simulations 
+<div class="sourceCode" id="cb103"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb103-1" data-line-number="1"><span class="kw"><a href="../reference/listSims.html">listSims</a></span>()</a></code></pre></div>
+<pre><code>## Splatter currently contains 13 simulations 
 ## 
 ## Splat (splat) 
-## DOI:      GitHub:  
+## DOI: 10.1186/s13059-017-1305-0    GitHub: Oshlack/splatter 
 ## The Splat simulation generates means from a gamma distribution, adjusts them for BCV and generates counts from a gamma-poisson. Dropout and batch effects can be optionally added. 
 ## 
 ## Splat Single (splatSingle) 
-## DOI:      GitHub:  
+## DOI: 10.1186/s13059-017-1305-0    GitHub: Oshlack/splatter 
 ## The Splat simulation with a single population. 
 ## 
 ## Splat Groups (splatGroups) 
-## DOI:      GitHub:  
+## DOI: 10.1186/s13059-017-1305-0    GitHub: Oshlack/splatter 
 ## The Splat simulation with multiple groups. Each group can have it's own differential expression probability and fold change distribution. 
 ## 
 ## Splat Paths (splatPaths) 
-## DOI:      GitHub:  
+## DOI: 10.1186/s13059-017-1305-0    GitHub: Oshlack/splatter 
 ## The Splat simulation with differentiation paths. Each path can have it's own length, skew and probability. Genes can change in non-linear ways. 
 ## 
 ## Simple (simple) 
-## DOI:      GitHub:  
+## DOI: 10.1186/s13059-017-1305-0    GitHub: Oshlack/splatter 
 ## A simple simulation with gamma means and negative binomial counts. 
 ## 
 ## Lun (lun) 
@@ -667,13 +684,17 @@ sc_example_counts[<span class="dv">1</span><span class="op">:</span><span class=
 ## Gamma distributed means and negative binomial counts. Cells are given a size factor and differential expression can be simulated with fixed fold changes. 
 ## 
 ## Lun 2 (lun2) 
-## DOI: 10.1101/073973   GitHub: MarioniLab/PlateEffects2016 
+## DOI: 10.1093/biostatistics/kxw055     GitHub: MarioniLab/PlateEffects2016 
 ## Negative binomial counts where the means and dispersions have been sampled from a real dataset. The core feature of the Lun 2 simulation is the addition of plate effects. Differential expression can be added between two groups of plates and optionally a zero-inflated negative-binomial can be used. 
 ## 
 ## scDD (scDD) 
 ## DOI: 10.1186/s13059-016-1077-y    GitHub: kdkorthauer/scDD 
 ## The scDD simulation samples a given dataset and can simulate differentially expressed and differentially distributed genes between two conditions. 
 ## 
+## BASiCS (BASiCS) 
+## DOI: 10.1371/journal.pcbi.1004333     GitHub: catavallejos/BASiCS 
+## The BASiCS simulation is based on a bayesian model used to deconvolve biological and technical variation and includes spike-ins and batch effects. 
+## 
 ## mfa (mfa) 
 ## DOI: 10.12688/wellcomeopenres.11087.1     GitHub: kieranrcampbell/mfa 
 ## The mfa simulation produces a bifurcating pseudotime trajectory. This can optionally include genes with transient changes in expression and added dropout. 
@@ -684,9 +705,13 @@ sc_example_counts[<span class="dv">1</span><span class="op">:</span><span class=
 ## 
 ## ZINB-WaVE (zinb) 
 ## DOI: 10.1101/125112   GitHub: drisso/zinbwave 
-## The ZINB-WaVE simulation simulates counts from a sophisticated zero-inflated negative-binomial distribution including cell and gene-level covariates.</code></pre>
+## The ZINB-WaVE simulation simulates counts from a sophisticated zero-inflated negative-binomial distribution including cell and gene-level covariates. 
+## 
+## SparseDC (sparseDC) 
+## DOI: 10.1093/nar/gkx1113      GitHub: cran/SparseDC 
+## The SparseDC simulation simulates a set of clusters across two conditions, where some clusters may be present in only one condition.</code></pre>
 <p>(or more conveniently for the vignette as a table)</p>
-<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">knitr<span class="op">::</span><span class="kw"><a href="http://www.rdocumentation.org/packages/knitr/topics/kable">kable</a></span>(<span class="kw"><a href="../reference/listSims.html">listSims</a></span>(<span class="dt">print =</span> <span class="ot">FALSE</span>))</code></pre></div>
+<div class="sourceCode" id="cb105"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb105-1" data-line-number="1">knitr<span class="op">::</span><span class="kw"><a href="http://www.rdocumentation.org/packages/knitr/topics/kable">kable</a></span>(<span class="kw"><a href="../reference/listSims.html">listSims</a></span>(<span class="dt">print =</span> <span class="ot">FALSE</span>))</a></code></pre></div>
 <table class="table">
 <thead><tr class="header">
 <th align="left">Name</th>
@@ -699,36 +724,36 @@ sc_example_counts[<span class="dv">1</span><span class="op">:</span><span class=
 <tr class="odd">
 <td align="left">Splat</td>
 <td align="left">splat</td>
-<td align="left"></td>
-<td align="left"></td>
+<td align="left">10.1186/s13059-017-1305-0</td>
+<td align="left">Oshlack/splatter</td>
 <td align="left">The Splat simulation generates means from a gamma distribution, adjusts them for BCV and generates counts from a gamma-poisson. Dropout and batch effects can be optionally added.</td>
 </tr>
 <tr class="even">
 <td align="left">Splat Single</td>
 <td align="left">splatSingle</td>
-<td align="left"></td>
-<td align="left"></td>
+<td align="left">10.1186/s13059-017-1305-0</td>
+<td align="left">Oshlack/splatter</td>
 <td align="left">The Splat simulation with a single population.</td>
 </tr>
 <tr class="odd">
 <td align="left">Splat Groups</td>
 <td align="left">splatGroups</td>
-<td align="left"></td>
-<td align="left"></td>
+<td align="left">10.1186/s13059-017-1305-0</td>
+<td align="left">Oshlack/splatter</td>
 <td align="left">The Splat simulation with multiple groups. Each group can have it’s own differential expression probability and fold change distribution.</td>
 </tr>
 <tr class="even">
 <td align="left">Splat Paths</td>
 <td align="left">splatPaths</td>
-<td align="left"></td>
-<td align="left"></td>
+<td align="left">10.1186/s13059-017-1305-0</td>
+<td align="left">Oshlack/splatter</td>
 <td align="left">The Splat simulation with differentiation paths. Each path can have it’s own length, skew and probability. Genes can change in non-linear ways.</td>
 </tr>
 <tr class="odd">
 <td align="left">Simple</td>
 <td align="left">simple</td>
-<td align="left"></td>
-<td align="left"></td>
+<td align="left">10.1186/s13059-017-1305-0</td>
+<td align="left">Oshlack/splatter</td>
 <td align="left">A simple simulation with gamma means and negative binomial counts.</td>
 </tr>
 <tr class="even">
@@ -741,7 +766,7 @@ sc_example_counts[<span class="dv">1</span><span class="op">:</span><span class=
 <tr class="odd">
 <td align="left">Lun 2</td>
 <td align="left">lun2</td>
-<td align="left">10.1101/073973</td>
+<td align="left">10.1093/biostatistics/kxw055</td>
 <td align="left">MarioniLab/PlateEffects2016</td>
 <td align="left">Negative binomial counts where the means and dispersions have been sampled from a real dataset. The core feature of the Lun 2 simulation is the addition of plate effects. Differential expression can be added between two groups of plates and optionally a zero-inflated negative-binomial can be used.</td>
 </tr>
@@ -753,26 +778,40 @@ sc_example_counts[<span class="dv">1</span><span class="op">:</span><span class=
 <td align="left">The scDD simulation samples a given dataset and can simulate differentially expressed and differentially distributed genes between two conditions.</td>
 </tr>
 <tr class="odd">
+<td align="left">BASiCS</td>
+<td align="left">BASiCS</td>
+<td align="left">10.1371/journal.pcbi.1004333</td>
+<td align="left">catavallejos/BASiCS</td>
+<td align="left">The BASiCS simulation is based on a bayesian model used to deconvolve biological and technical variation and includes spike-ins and batch effects.</td>
+</tr>
+<tr class="even">
 <td align="left">mfa</td>
 <td align="left">mfa</td>
 <td align="left">10.12688/wellcomeopenres.11087.1</td>
 <td align="left">kieranrcampbell/mfa</td>
 <td align="left">The mfa simulation produces a bifurcating pseudotime trajectory. This can optionally include genes with transient changes in expression and added dropout.</td>
 </tr>
-<tr class="even">
+<tr class="odd">
 <td align="left">PhenoPath</td>
 <td align="left">pheno</td>
 <td align="left">10.1101/159913</td>
 <td align="left">kieranrcampbell/phenopath</td>
 <td align="left">The PhenoPath simulation produces a pseudotime trajectory with different types of genes.</td>
 </tr>
-<tr class="odd">
+<tr class="even">
 <td align="left">ZINB-WaVE</td>
 <td align="left">zinb</td>
 <td align="left">10.1101/125112</td>
 <td align="left">drisso/zinbwave</td>
 <td align="left">The ZINB-WaVE simulation simulates counts from a sophisticated zero-inflated negative-binomial distribution including cell and gene-level covariates.</td>
 </tr>
+<tr class="odd">
+<td align="left">SparseDC</td>
+<td align="left">sparseDC</td>
+<td align="left">10.1093/nar/gkx1113</td>
+<td align="left">cran/SparseDC</td>
+<td align="left">The SparseDC simulation simulates a set of clusters across two conditions, where some clusters may be present in only one condition.</td>
+</tr>
 </tbody>
 </table>
 <p>Each simulation has it’s own prefix which gives the name of the functions associated with that simulation. For example the prefix for the simple simulation is <code>simple</code> so it would store it’s parameters in a <code>SimpleParams</code> object that can be created using <code><a href="../reference/newParams.html">newSimpleParams()</a></code> or estimated from real data using <code><a href="../reference/simpleEstimate.html">simpleEstimate()</a></code>. To simulate data using that simulation you would use <code><a href="../reference/simpleSimulate.html">simpleSimulate()</a></code>. Each simulation returns a <code>SingleCellExperiment</code> object with intermediate values similar to that returned by <code><a href="../reference/splatSimulate.html">splatSimulate()</a></code>. For more detailed information on each simulation see the appropriate help page (eg. <code><a href="../reference/simpleSimulate.html">?simpleSimulate</a></code> for information on how the simple simulation works or <code><a href="../reference/lun2Estimate.html">? lun2Estimate</a></code> for details of how the Lun 2 simulation estimates parameters) or refer to the appropriate paper or package.</p>
@@ -781,60 +820,67 @@ sc_example_counts[<span class="dv">1</span><span class="op">:</span><span class=
 <h1 class="hasAnchor">
 <a href="#other-expression-values" class="anchor"></a>Other expression values</h1>
 <p>Splatter is designed to simulate count data but some analysis methods expect other expression values, particularly length-normalised values such as TPM or FPKM. The <code>scater</code> package has functions for adding these values to a <code>SingleCellExperiment</code> object but they require a length for each gene. The <code>addGeneLengths</code> function can be used to simulate these lengths:</p>
-<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">sim &lt;-<span class="st"> </span><span class="kw"><a href="../reference/simpleSimulate.html">simpleSimulate</a></span>(<span class="dt">verbose =</span> <span class="ot">FALSE</span>)
-sim &lt;-<span class="st"> </span><span class="kw"><a href="../reference/addGeneLengths.html">addGeneLengths</a></span>(sim)
-<span class="kw">head</span>(<span class="kw">rowData</span>(sim))</code></pre></div>
+<div class="sourceCode" id="cb106"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb106-1" data-line-number="1">sim &lt;-<span class="st"> </span><span class="kw"><a href="../reference/simpleSimulate.html">simpleSimulate</a></span>(<span class="dt">verbose =</span> <span class="ot">FALSE</span>)</a>
+<a class="sourceLine" id="cb106-2" data-line-number="2">sim &lt;-<span class="st"> </span><span class="kw"><a href="../reference/addGeneLengths.html">addGeneLengths</a></span>(sim)</a>
+<a class="sourceLine" id="cb106-3" data-line-number="3"><span class="kw">head</span>(<span class="kw">rowData</span>(sim))</a></code></pre></div>
 <pre><code>## DataFrame with 6 rows and 3 columns
-##       Gene   GeneMean    Length
-##   &lt;factor&gt;  &lt;numeric&gt; &lt;numeric&gt;
-## 1    Gene1 0.11512934      9592
-## 2    Gene2 1.08395798      1260
-## 3    Gene3 0.07297126      7150
-## 4    Gene4 0.52861074      2131
-## 5    Gene5 2.07154719      1787
-## 6    Gene6 1.48581784       885</code></pre>
+##       Gene            GeneMean    Length
+##   &lt;factor&gt;           &lt;numeric&gt; &lt;numeric&gt;
+## 1    Gene1    0.31504131758053      1118
+## 2    Gene2 0.00417585217082588      2098
+## 3    Gene3   0.373634067284232      3416
+## 4    Gene4   0.310092742796264       807
+## 5    Gene5    2.88627905029782      4492
+## 6    Gene6   0.610061028603659      7264</code></pre>
 <p>We can then use <code>scater</code> to calculate TPM:</p>
-<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw">tpm</span>(sim) &lt;-<span class="st"> </span><span class="kw">calculateTPM</span>(sim, <span class="kw">rowData</span>(sim)<span class="op">$</span>Length)
-<span class="kw">tpm</span>(sim)[<span class="dv">1</span><span class="op">:</span><span class="dv">5</span>, <span class="dv">1</span><span class="op">:</span><span class="dv">5</span>]</code></pre></div>
+<div class="sourceCode" id="cb108"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb108-1" data-line-number="1"><span class="kw">tpm</span>(sim) &lt;-<span class="st"> </span><span class="kw"><a href="http://www.rdocumentation.org/packages/scater/topics/calculateTPM">calculateTPM</a></span>(sim, <span class="kw">rowData</span>(sim)<span class="op">$</span>Length)</a>
+<a class="sourceLine" id="cb108-2" data-line-number="2"><span class="kw">tpm</span>(sim)[<span class="dv">1</span><span class="op">:</span><span class="dv">5</span>, <span class="dv">1</span><span class="op">:</span><span class="dv">5</span>]</a></code></pre></div>
 <pre><code>##            Cell1      Cell2      Cell3      Cell4      Cell5
 ## Gene1 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
-## Gene2 0.06020259 0.00000000 0.05823678 0.00000000 0.11723920
+## Gene2 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
 ## Gene3 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
-## Gene4 0.00000000 0.03420037 0.00000000 0.00000000 0.00000000
-## Gene5 0.12734516 0.16313595 0.08212461 0.08100124 0.08266446</code></pre>
+## Gene4 0.09404655 0.00000000 0.00000000 0.00000000 0.09265421
+## Gene5 0.03379144 0.01683821 0.03369681 0.01712314 0.08322790</code></pre>
 <p>The default method used by <code>addGeneLengths</code> to simulate lengths is to generate values from a log-normal distribution which are then rounded to give an integer length. The parameters for this distribution are based on human protein coding genes but can be adjusted if needed (for example for other species). Alternatively lengths can be sampled from a provided vector (see <code><a href="../reference/addGeneLengths.html">?addGeneLengths</a></code> for details and an example).</p>
 </div>
 <div id="comparing-simulations-and-real-data" class="section level1">
 <h1 class="hasAnchor">
 <a href="#comparing-simulations-and-real-data" class="anchor"></a>Comparing simulations and real data</h1>
 <p>One thing you might like to do after simulating data is to compare it to a real dataset, or compare simulations with different parameters or models. Splatter provides a function <code>compareSCEs</code> that aims to make these comparisons easier. As the name suggests this function takes a list of <code>SingleCellExperiment</code> objects, combines the datasets and produces some plots comparing them. Let’s make two small simulations and see how they compare.</p>
-<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">sim1 &lt;-<span class="st"> </span><span class="kw"><a href="../reference/splatSimulate.html">splatSimulate</a></span>(<span class="dt">nGenes =</span> <span class="dv">1000</span>, <span class="dt">batchCells =</span> <span class="dv">20</span>, <span class="dt">verbose =</span> <span class="ot">FALSE</span>)
-sim2 &lt;-<span class="st"> </span><span class="kw"><a href="../reference/simpleSimulate.html">simpleSimulate</a></span>(<span class="dt">nGenes =</span> <span class="dv">1000</span>, <span class="dt">nCells =</span> <span class="dv">20</span>, <span class="dt">verbose =</span> <span class="ot">FALSE</span>)
-comparison &lt;-<span class="st"> </span><span class="kw"><a href="../reference/compareSCEs.html">compareSCEs</a></span>(<span class="kw">list</span>(<span class="dt">Splat =</span> sim1, <span class="dt">Simple =</span> sim2))
-
-<span class="kw">names</span>(comparison)</code></pre></div>
+<div class="sourceCode" id="cb110"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb110-1" data-line-number="1">sim1 &lt;-<span class="st"> </span><span class="kw"><a href="../reference/splatSimulate.html">splatSimulate</a></span>(<span class="dt">nGenes =</span> <span class="dv">1000</span>, <span class="dt">batchCells =</span> <span class="dv">20</span>, <span class="dt">verbose =</span> <span class="ot">FALSE</span>)</a>
+<a class="sourceLine" id="cb110-2" data-line-number="2">sim2 &lt;-<span class="st"> </span><span class="kw"><a href="../reference/simpleSimulate.html">simpleSimulate</a></span>(<span class="dt">nGenes =</span> <span class="dv">1000</span>, <span class="dt">nCells =</span> <span class="dv">20</span>, <span class="dt">verbose =</span> <span class="ot">FALSE</span>)</a>
+<a class="sourceLine" id="cb110-3" data-line-number="3">comparison &lt;-<span class="st"> </span><span class="kw"><a href="../reference/compareSCEs.html">compareSCEs</a></span>(<span class="kw">list</span>(<span class="dt">Splat =</span> sim1, <span class="dt">Simple =</span> sim2))</a></code></pre></div>
+<pre><code>## Note that the names of some metrics have changed, see 'Renamed metrics' in ?calculateQCMetrics.
+## Old names are currently maintained for back-compatibility, but may be removed in future releases.
+## Note that the names of some metrics have changed, see 'Renamed metrics' in ?calculateQCMetrics.
+## Old names are currently maintained for back-compatibility, but may be removed in future releases.</code></pre>
+<div class="sourceCode" id="cb112"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb112-1" data-line-number="1"><span class="kw">names</span>(comparison)</a></code></pre></div>
 <pre><code>## [1] "FeatureData" "PhenoData"   "Plots"</code></pre>
-<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw">names</span>(comparison<span class="op">$</span>Plots)</code></pre></div>
+<div class="sourceCode" id="cb114"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb114-1" data-line-number="1"><span class="kw">names</span>(comparison<span class="op">$</span>Plots)</a></code></pre></div>
 <pre><code>## [1] "Means"        "Variances"    "MeanVar"      "LibrarySizes"
 ## [5] "ZerosGene"    "ZerosCell"    "MeanZeros"</code></pre>
 <p>The returned list has three items. The first two are the combined datasets by gene (<code>FeatureData</code>) and by cell (<code>PhenoData</code>) and the third contains some comparison plots (produced using <code>ggplot2</code>), for example a plot of the distribution of means:</p>
-<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">comparison<span class="op">$</span>Plots<span class="op">$</span>Means</code></pre></div>
+<div class="sourceCode" id="cb116"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb116-1" data-line-number="1">comparison<span class="op">$</span>Plots<span class="op">$</span>Means</a></code></pre></div>
 <p><img src="splatter_files/figure-html/comparison-means-1.png" width="576" style="display: block; margin: auto;"></p>
 <p>These are only a few of the plots you might want to consider but it should be easy to make more using the returned data. For example, we could plot the number of expressed genes against the library size:</p>
-<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw">library</span>(<span class="st">"ggplot2"</span>)
-<span class="kw"><a href="http://www.rdocumentation.org/packages/ggplot2/topics/ggplot">ggplot</a></span>(comparison<span class="op">$</span>PhenoData,
-       <span class="kw"><a href="http://www.rdocumentation.org/packages/ggplot2/topics/aes">aes</a></span>(<span class="dt">x =</span> total_counts, <span class="dt">y =</span> total_features, <span class="dt">colour =</span> Dataset)) <span class="op">+</span>
-<span class="st">    </span><span class="kw"><a href="http://www.rdocumentation.org/packages/ggplot2/topics/geom_point">geom_point</a></span>()</code></pre></div>
+<div class="sourceCode" id="cb117"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb117-1" data-line-number="1"><span class="kw">library</span>(<span class="st">"ggplot2"</span>)</a>
+<a class="sourceLine" id="cb117-2" data-line-number="2"><span class="kw"><a href="http://www.rdocumentation.org/packages/ggplot2/topics/ggplot">ggplot</a></span>(comparison<span class="op">$</span>PhenoData,</a>
+<a class="sourceLine" id="cb117-3" data-line-number="3">       <span class="kw"><a href="http://www.rdocumentation.org/packages/ggplot2/topics/aes">aes</a></span>(<span class="dt">x =</span> total_counts, <span class="dt">y =</span> total_features, <span class="dt">colour =</span> Dataset)) <span class="op">+</span></a>
+<a class="sourceLine" id="cb117-4" data-line-number="4"><span class="st">    </span><span class="kw"><a href="http://www.rdocumentation.org/packages/ggplot2/topics/geom_point">geom_point</a></span>()</a></code></pre></div>
 <p><img src="splatter_files/figure-html/comparison-libsize-features-1.png" width="576" style="display: block; margin: auto;"></p>
 <div id="comparing-differences" class="section level2">
 <h2 class="hasAnchor">
 <a href="#comparing-differences" class="anchor"></a>Comparing differences</h2>
 <p>Sometimes instead of visually comparing datasets it may be more interesting to look at the differences between them. We can do this using the <code>diffSCEs</code> function. Similar to <code>compareSCEs</code> this function takes a list of <code>SingleCellExperiment</code> objects but now we also specify one to be a reference. A series of similar plots are returned but instead of showing the overall distributions they demonstrate differences from the reference.</p>
-<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">difference &lt;-<span class="st"> </span><span class="kw"><a href="../reference/diffSCEs.html">diffSCEs</a></span>(<span class="kw">list</span>(<span class="dt">Splat =</span> sim1, <span class="dt">Simple =</span> sim2), <span class="dt">ref =</span> <span class="st">"Simple"</span>)
-difference<span class="op">$</span>Plots<span class="op">$</span>Means</code></pre></div>
+<div class="sourceCode" id="cb118"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb118-1" data-line-number="1">difference &lt;-<span class="st"> </span><span class="kw"><a href="../reference/diffSCEs.html">diffSCEs</a></span>(<span class="kw">list</span>(<span class="dt">Splat =</span> sim1, <span class="dt">Simple =</span> sim2), <span class="dt">ref =</span> <span class="st">"Simple"</span>)</a></code></pre></div>
+<pre><code>## Note that the names of some metrics have changed, see 'Renamed metrics' in ?calculateQCMetrics.
+## Old names are currently maintained for back-compatibility, but may be removed in future releases.
+## Note that the names of some metrics have changed, see 'Renamed metrics' in ?calculateQCMetrics.
+## Old names are currently maintained for back-compatibility, but may be removed in future releases.</code></pre>
+<div class="sourceCode" id="cb120"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb120-1" data-line-number="1">difference<span class="op">$</span>Plots<span class="op">$</span>Means</a></code></pre></div>
 <p><img src="splatter_files/figure-html/difference-1.png" width="576" style="display: block; margin: auto;"></p>
 <p>We also get a series of Quantile-Quantile plot that can be used to compare distributions.</p>
-<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">difference<span class="op">$</span>QQPlots<span class="op">$</span>Means</code></pre></div>
+<div class="sourceCode" id="cb121"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb121-1" data-line-number="1">difference<span class="op">$</span>QQPlots<span class="op">$</span>Means</a></code></pre></div>
 <p><img src="splatter_files/figure-html/difference-qq-1.png" width="576" style="display: block; margin: auto;"></p>
 </div>
 <div id="making-panels" class="section level2">
@@ -842,113 +888,103 @@ difference<span class="op">$</span>Plots<span class="op">$</span>Means</code></p
 <a href="#making-panels" class="anchor"></a>Making panels</h2>
 <p>Each of these comparisons makes several plots which can be a lot to look at. To make this easier, or to produce figures for publications, you can make use of the functions <code>makeCompPanel</code>, <code>makeDiffPanel</code> and <code>makeOverallPanel</code>.</p>
 <p>These functions combine the plots into a single panel using the <code>cowplot</code> package. The panels can be quite large and hard to view (for example in RStudio’s plot viewer) so it can be better to output the panels and view them separately. Luckily <code>cowplot</code> provides a convenient function for saving the images. Here are some suggested parameters for outputting each of the panels:</p>
-<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="co"># This code is just an example and is not run</span>
-panel &lt;-<span class="st"> </span><span class="kw"><a href="../reference/makeCompPanel.html">makeCompPanel</a></span>(comparison)
-cowplot<span class="op">::</span><span class="kw"><a href="http://www.rdocumentation.org/packages/cowplot/topics/save_plot">save_plot</a></span>(<span class="st">"comp_panel.png"</span>, panel, <span class="dt">nrow =</span> <span class="dv">4</span>, <span class="dt">ncol =</span> <span class="dv">3</span>)
-
-panel &lt;-<span class="st"> </span><span class="kw"><a href="../reference/makeDiffPanel.html">makeDiffPanel</a></span>(difference)
-cowplot<span class="op">::</span><span class="kw"><a href="http://www.rdocumentation.org/packages/cowplot/topics/save_plot">save_plot</a></span>(<span class="st">"diff_panel.png"</span>, panel, <span class="dt">nrow =</span> <span class="dv">3</span>, <span class="dt">ncol =</span> <span class="dv">5</span>)
-
-panel &lt;-<span class="st"> </span><span class="kw"><a href="../reference/makeOverallPanel.html">makeOverallPanel</a></span>(comparison, difference)
-cowplot<span class="op">::</span><span class="kw"><a href="http://www.rdocumentation.org/packages/cowplot/topics/save_plot">save_plot</a></span>(<span class="st">"overall_panel.png"</span>, panel, <span class="dt">ncol =</span> <span class="dv">4</span>, <span class="dt">nrow =</span> <span class="dv">7</span>)</code></pre></div>
+<div class="sourceCode" id="cb122"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb122-1" data-line-number="1"><span class="co"># This code is just an example and is not run</span></a>
+<a class="sourceLine" id="cb122-2" data-line-number="2">panel &lt;-<span class="st"> </span><span class="kw"><a href="../reference/makeCompPanel.html">makeCompPanel</a></span>(comparison)</a>
+<a class="sourceLine" id="cb122-3" data-line-number="3">cowplot<span class="op">::</span><span class="kw"><a href="http://www.rdocumentation.org/packages/cowplot/topics/save_plot">save_plot</a></span>(<span class="st">"comp_panel.png"</span>, panel, <span class="dt">nrow =</span> <span class="dv">4</span>, <span class="dt">ncol =</span> <span class="dv">3</span>)</a>
+<a class="sourceLine" id="cb122-4" data-line-number="4"></a>
+<a class="sourceLine" id="cb122-5" data-line-number="5">panel &lt;-<span class="st"> </span><span class="kw"><a href="../reference/makeDiffPanel.html">makeDiffPanel</a></span>(difference)</a>
+<a class="sourceLine" id="cb122-6" data-line-number="6">cowplot<span class="op">::</span><span class="kw"><a href="http://www.rdocumentation.org/packages/cowplot/topics/save_plot">save_plot</a></span>(<span class="st">"diff_panel.png"</span>, panel, <span class="dt">nrow =</span> <span class="dv">3</span>, <span class="dt">ncol =</span> <span class="dv">5</span>)</a>
+<a class="sourceLine" id="cb122-7" data-line-number="7"></a>
+<a class="sourceLine" id="cb122-8" data-line-number="8">panel &lt;-<span class="st"> </span><span class="kw"><a href="../reference/makeOverallPanel.html">makeOverallPanel</a></span>(comparison, difference)</a>
+<a class="sourceLine" id="cb122-9" data-line-number="9">cowplot<span class="op">::</span><span class="kw"><a href="http://www.rdocumentation.org/packages/cowplot/topics/save_plot">save_plot</a></span>(<span class="st">"overall_panel.png"</span>, panel, <span class="dt">ncol =</span> <span class="dv">4</span>, <span class="dt">nrow =</span> <span class="dv">7</span>)</a></code></pre></div>
 </div>
 </div>
 <div id="citing-splatter" class="section level1">
 <h1 class="hasAnchor">
 <a href="#citing-splatter" class="anchor"></a>Citing Splatter</h1>
 <p>If you use Splatter in your work please cite our paper:</p>
-<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw">citation</span>(<span class="st">"splatter"</span>)</code></pre></div>
+<div class="sourceCode" id="cb123"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb123-1" data-line-number="1"><span class="kw">citation</span>(<span class="st">"splatter"</span>)</a></code></pre></div>
 <pre><code>## 
-##   Zappia L, Phipson B, Oshlack A. Splatter: Simulation Of
-##   Single-Cell RNA Sequencing Data. bioRxiv. 2017;
-##   doi:10.1101/133173
+##   Zappia L, Phipson B, Oshlack A. Splatter: Simulation of
+##   single-cell RNA sequencing data. Genome Biology. 2017;
+##   doi:10.1186/s13059-017-1305-0
 ## 
 ## A BibTeX entry for LaTeX users is
 ## 
 ##   @Article{,
 ##     author = {Luke Zappia and Belinda Phipson and Alicia Oshlack},
-##     title = {Splatter: Simulation Of Single-Cell RNA Sequencing Data},
-##     journal = {bioRxiv},
+##     title = {Splatter: simulation of single-cell RNA sequencing data},
+##     journal = {Genome Biology},
 ##     year = {2017},
-##     url = {http://dx.doi.org/10.1101/133173},
-##     doi = {10.1101/133173},
+##     url = {http://dx.doi.org/10.1186/s13059-017-1305-0},
+##     doi = {10.1186/s13059-017-1305-0},
 ##   }</code></pre>
 </div>
 <div id="session-information" class="section level1 unnumbered">
 <h1 class="hasAnchor">
 <a href="#session-information" class="anchor"></a>Session information</h1>
-<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw">sessionInfo</span>()</code></pre></div>
-<pre><code>## R version 3.4.2 (2017-09-28)
+<div class="sourceCode" id="cb125"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb125-1" data-line-number="1"><span class="kw">sessionInfo</span>()</a></code></pre></div>
+<pre><code>## R version 3.5.0 (2018-04-23)
 ## Platform: x86_64-apple-darwin15.6.0 (64-bit)
 ## Running under: macOS Sierra 10.12.6
 ## 
 ## Matrix products: default
-## BLAS: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRblas.0.dylib
-## LAPACK: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRlapack.dylib
+## BLAS: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRblas.0.dylib
+## LAPACK: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRlapack.dylib
 ## 
 ## locale:
 ## [1] en_AU.UTF-8/en_AU.UTF-8/en_AU.UTF-8/C/en_AU.UTF-8/en_AU.UTF-8
 ## 
 ## attached base packages:
-## [1] stats4    parallel  stats     graphics  grDevices utils     datasets 
+## [1] parallel  stats4    stats     graphics  grDevices utils     datasets 
 ## [8] methods   base     
 ## 
 ## other attached packages:
-##  [1] splatter_1.1.7              scater_1.5.16              
-##  [3] SingleCellExperiment_0.99.4 SummarizedExperiment_1.7.10
-##  [5] DelayedArray_0.3.21         matrixStats_0.52.2         
-##  [7] GenomicRanges_1.29.15       GenomeInfoDb_1.13.5        
-##  [9] IRanges_2.11.19             S4Vectors_0.15.12          
-## [11] ggplot2_2.2.1               Biobase_2.37.2             
-## [13] BiocGenerics_0.23.3        
+##  [1] scater_1.8.0                ggplot2_2.2.1              
+##  [3] splatter_1.4.0              SingleCellExperiment_1.2.0 
+##  [5] SummarizedExperiment_1.10.0 DelayedArray_0.6.0         
+##  [7] BiocParallel_1.14.0         matrixStats_0.53.1         
+##  [9] Biobase_2.40.0              GenomicRanges_1.32.0       
+## [11] GenomeInfoDb_1.16.0         IRanges_2.14.0             
+## [13] S4Vectors_0.18.0            BiocGenerics_0.26.0        
 ## 
 ## loaded via a namespace (and not attached):
-##  [1] bitops_1.0-6            bit64_0.9-7            
-##  [3] progress_1.1.2          rprojroot_1.2          
-##  [5] zinbwave_0.99.9         numDeriv_2016.8-1      
-##  [7] tools_3.4.2             backports_1.1.1        
-##  [9] R6_2.2.2                vipor_0.4.5            
-## [11] DBI_0.7                 lazyeval_0.2.0         
-## [13] colorspace_1.3-2        sp_1.2-5               
-## [15] gridExtra_2.3           prettyunits_1.0.2      
-## [17] bit_1.1-12              compiler_3.4.2         
-## [19] glmnet_2.0-13           pspline_1.0-18         
-## [21] labeling_0.3            scales_0.5.0           
-## [23] checkmate_1.8.4         mvtnorm_1.0-6          
-## [25] stringr_1.2.0           digest_0.6.12          
-## [27] rmarkdown_1.6           XVector_0.17.1         
-## [29] pkgconfig_2.0.1         htmltools_0.3.6        
-## [31] akima_0.6-2             highr_0.6              
-## [33] stabledist_0.7-1        ADGofTest_0.3          
-## [35] limma_3.33.14           rlang_0.1.2.9000       
-## [37] RSQLite_2.0             shiny_1.0.5            
-## [39] bindr_0.1               BiocParallel_1.11.11   
-## [41] dplyr_0.7.4             RCurl_1.95-4.8         
-## [43] magrittr_1.5            GenomeInfoDbData_0.99.1
-## [45] Matrix_1.2-11           Rcpp_0.12.13           
-## [47] ggbeeswarm_0.6.0        munsell_0.4.3          
-## [49] viridis_0.4.0           stringi_1.1.5          
-## [51] yaml_2.1.14             edgeR_3.19.7           
-## [53] MASS_7.3-47             zlibbioc_1.23.0        
-## [55] rhdf5_2.21.6            plyr_1.8.4             
-## [57] grid_3.4.2              blob_1.1.0             
-## [59] shinydashboard_0.6.1    lattice_0.20-35        
-## [61] cowplot_0.8.0           splines_3.4.2          
-## [63] locfit_1.5-9.1          knitr_1.17             
-## [65] rjson_0.2.15            softImpute_1.4         
-## [67] codetools_0.2-15        reshape2_1.4.2         
-## [69] biomaRt_2.33.4          XML_3.98-1.9           
-## [71] glue_1.1.1              evaluate_0.10.1        
-## [73] data.table_1.10.4-2     httpuv_1.3.5           
-## [75] foreach_1.4.3           gtable_0.2.0           
-## [77] assertthat_0.2.0        mime_0.5               
-## [79] xtable_1.8-2            survival_2.41-3        
-## [81] pcaPP_1.9-72            viridisLite_0.2.0      
-## [83] gsl_1.9-10.3            tibble_1.3.4           
-## [85] copula_0.999-18         iterators_1.0.8        
-## [87] AnnotationDbi_1.39.4    beeswarm_0.2.3         
-## [89] memoise_1.1.0           tximport_1.5.1         
-## [91] bindrcpp_0.2            fitdistrplus_1.0-9</code></pre>
+##  [1] viridis_0.5.1            edgeR_3.22.0            
+##  [3] splines_3.5.0            viridisLite_0.3.0       
+##  [5] DelayedMatrixStats_1.2.0 shiny_1.0.5             
+##  [7] assertthat_0.2.0         highr_0.6               
+##  [9] sp_1.2-7                 GenomeInfoDbData_1.1.0  
+## [11] vipor_0.4.5              yaml_2.1.19             
+## [13] pillar_1.2.2             backports_1.1.2         
+## [15] lattice_0.20-35          glue_1.2.0              
+## [17] limma_3.36.0             digest_0.6.15           
+## [19] promises_1.0.1           XVector_0.20.0          
+## [21] checkmate_1.8.6          colorspace_1.3-2        
+## [23] cowplot_0.9.2            htmltools_0.3.6         
+## [25] httpuv_1.4.1             Matrix_1.2-14           
+## [27] plyr_1.8.4               pkgconfig_2.0.1         
+## [29] zlibbioc_1.26.0          xtable_1.8-2            
+## [31] scales_0.5.0             later_0.7.2             
+## [33] tibble_1.4.2             lazyeval_0.2.1          
+## [35] crayon_1.3.4             survival_2.42-3         
+## [37] magrittr_1.5             mime_0.5                
+## [39] evaluate_0.10.1          MASS_7.3-50             
+## [41] beeswarm_0.2.3           shinydashboard_0.7.0    
+## [43] tools_3.5.0              fitdistrplus_1.0-9      
+## [45] data.table_1.11.0        stringr_1.3.0           
+## [47] Rhdf5lib_1.2.0           munsell_0.4.3           
+## [49] locfit_1.5-9.1           bindrcpp_0.2.2          
+## [51] akima_0.6-2              compiler_3.5.0          
+## [53] rlang_0.2.0              rhdf5_2.24.0            
+## [55] grid_3.5.0               RCurl_1.95-4.10         
+## [57] tximport_1.8.0           rjson_0.2.15            
+## [59] labeling_0.3             bitops_1.0-6            
+## [61] rmarkdown_1.9            gtable_0.2.0            
+## [63] reshape2_1.4.3           R6_2.2.2                
+## [65] gridExtra_2.3            knitr_1.20              
+## [67] dplyr_0.7.4              bindr_0.1.1             
+## [69] rprojroot_1.3-2          stringi_1.1.7           
+## [71] ggbeeswarm_0.6.0         Rcpp_0.12.16</code></pre>
 </div>
 </div>
   </div>
@@ -1001,7 +1037,7 @@ cowplot<span class="op">::</span><span class="kw"><a href="http://www.rdocumenta
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/articles/splatter_files/figure-html/batch-groups-1.png b/docs/articles/splatter_files/figure-html/batch-groups-1.png
index 41322aa2a5501dc27119bcc6d7a0f07baa7dd0ec..2f196df6de342a9195678df14216622152a4e20d 100644
Binary files a/docs/articles/splatter_files/figure-html/batch-groups-1.png and b/docs/articles/splatter_files/figure-html/batch-groups-1.png differ
diff --git a/docs/articles/splatter_files/figure-html/batches-1.png b/docs/articles/splatter_files/figure-html/batches-1.png
index bf963638b3a926b2f208902579b316730b9b3e99..d3b55be3bfe091a4da544f181e72bca17858ea30 100644
Binary files a/docs/articles/splatter_files/figure-html/batches-1.png and b/docs/articles/splatter_files/figure-html/batches-1.png differ
diff --git a/docs/articles/splatter_files/figure-html/comparison-libsize-features-1.png b/docs/articles/splatter_files/figure-html/comparison-libsize-features-1.png
index d6e1f55c959cf241ad5a23fb6d55004708e24859..a6b748709ae74ba086d9753d64f1720282bcf50c 100644
Binary files a/docs/articles/splatter_files/figure-html/comparison-libsize-features-1.png and b/docs/articles/splatter_files/figure-html/comparison-libsize-features-1.png differ
diff --git a/docs/articles/splatter_files/figure-html/comparison-means-1.png b/docs/articles/splatter_files/figure-html/comparison-means-1.png
index 81a285ee8aee3843ace507b019b2657e7cfce61d..4f9d470aefe42bc824785c6fd41a6459f204e1f8 100644
Binary files a/docs/articles/splatter_files/figure-html/comparison-means-1.png and b/docs/articles/splatter_files/figure-html/comparison-means-1.png differ
diff --git a/docs/articles/splatter_files/figure-html/difference-1.png b/docs/articles/splatter_files/figure-html/difference-1.png
index 1405db3e6111c85d218c40b3c112b1a92d6754ae..f3c15a62ad9c34ed54c48c3110354b1a33f52f86 100644
Binary files a/docs/articles/splatter_files/figure-html/difference-1.png and b/docs/articles/splatter_files/figure-html/difference-1.png differ
diff --git a/docs/articles/splatter_files/figure-html/difference-qq-1.png b/docs/articles/splatter_files/figure-html/difference-qq-1.png
index e52dae0f225a53a639726b32ee9638fdbfb66377..62c271374e124da019770df85000961316039749 100644
Binary files a/docs/articles/splatter_files/figure-html/difference-qq-1.png and b/docs/articles/splatter_files/figure-html/difference-qq-1.png differ
diff --git a/docs/articles/splatter_files/figure-html/groups-1.png b/docs/articles/splatter_files/figure-html/groups-1.png
index b136e94e85faa675927fc998cc7088737609783e..cccea914143b33643b338884d584323e0abdbb0c 100644
Binary files a/docs/articles/splatter_files/figure-html/groups-1.png and b/docs/articles/splatter_files/figure-html/groups-1.png differ
diff --git a/docs/articles/splatter_files/figure-html/paths-1.png b/docs/articles/splatter_files/figure-html/paths-1.png
index 28f0955d1bb6f39b3305d5a6c3d9b5182c78abc2..95c94577508e394d8a557772283b5dfbd93eb89e 100644
Binary files a/docs/articles/splatter_files/figure-html/paths-1.png and b/docs/articles/splatter_files/figure-html/paths-1.png differ
diff --git a/docs/articles/splatter_files/figure-html/pca-1.png b/docs/articles/splatter_files/figure-html/pca-1.png
index 22d50b686571d25bba55632d2034946313d28b7b..9669ad4fcf0ea3de8d4fbd0db97170488f9faaae 100644
Binary files a/docs/articles/splatter_files/figure-html/pca-1.png and b/docs/articles/splatter_files/figure-html/pca-1.png differ
diff --git a/docs/authors.html b/docs/authors.html
index 52fbe4076f3918a4d4da00ca7aa5af3e47dd9159..cb75a40a7d6f1b0ab3c352a5484d749064678728 100644
--- a/docs/authors.html
+++ b/docs/authors.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="/index.html">
+  <a href="index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -102,7 +102,7 @@
       <h1>Citation</h1>
     </div>
 
-    <p>Zappia L, Phipson B and Oshlack A (2017).
+    <p>Zappia L, Phipson B, Oshlack A (2017).
 &ldquo;Splatter: simulation of single-cell RNA sequencing data.&rdquo;
 <em>Genome Biology</em>.
 doi: <a href="http://doi.org/10.1186/s13059-017-1305-0">10.1186/s13059-017-1305-0</a>, <a href="http://dx.doi.org/10.1186/s13059-017-1305-0">http://dx.doi.org/10.1186/s13059-017-1305-0</a>. 
@@ -122,15 +122,15 @@ doi: <a href="http://doi.org/10.1186/s13059-017-1305-0">10.1186/s13059-017-1305-
     <ul class="list-unstyled">
       <li>
         <p><strong>Luke Zappia</strong>. Author, maintainer.
-        </p>
+        <br /><small>0000-0001-7744-8565</small></p>
       </li>
       <li>
         <p><strong>Belinda Phipson</strong>. Author.
-        </p>
+        <br /><small>0000-0002-1711-7454</small></p>
       </li>
       <li>
         <p><strong>Alicia Oshlack</strong>. Author.
-        </p>
+        <br /><small>0000-0001-9788-5690</small></p>
       </li>
     </ul>
 
@@ -145,7 +145,7 @@ doi: <a href="http://doi.org/10.1186/s13059-017-1305-0">10.1186/s13059-017-1305-
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/index.html b/docs/index.html
index a0cd79fa1741025aee2fc52ee0ad95dc3e664daa..b6a03e64a033969e786de401159d245230cf272a 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -39,7 +39,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
 <li>
-  <a href="/index.html">
+  <a href="index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -82,14 +82,12 @@
 <li>Functions for simulating counts using those parameters</li>
 <li>Functions for comparing simulations and real datasets</li>
 </ul>
-<p>Splatter is built on top of <a href="https://github.com/davismcc/scater"><code>scater</code></a> and stores simulations in <code>SCESet</code> objects. Splatter also has functions for comparing simulations and real datasets.</p>
+<p>Splatter is built on top of <a href="https://github.com/davismcc/scater"><code>scater</code></a> and stores simulations in <a href="https://github.com/drisso/SingleCellExperiment"><code>SingleCellExperiment</code></a> objects. Splatter also has functions for comparing simulations and real datasets.</p>
 <p><strong>!Please note!</strong> This site provides documentation for the development version of Splatter. For details on the current release please refer to <a href="https://bioconductor.org/packages/splatter" class="uri">https://bioconductor.org/packages/splatter</a>.</p>
-<div id="installation-" class="section level2">
-<h2 class="hasAnchor">
-<a href="#installation-" class="anchor"></a>Installation.</h2>
-<div id="release-version" class="section level3">
-<h3 class="hasAnchor">
-<a href="#release-version" class="anchor"></a>Release version</h3>
+<div class="section level2">
+<h2>Installation.</h2>
+<div class="section level3">
+<h3>Release version</h3>
 <p>Splatter has been accepted into the latest version of <a href="https://bioconductor.org/packages/splatter">Bioconductor</a> and hence requires the latest version of R (&gt;=3.4).</p>
 <p>If you have these installed Splatter can be installed from Bioconductor using <code>biocLite</code>:</p>
 <pre class="{r}"><code>source("https://bioconductor.org/biocLite.R")
@@ -98,9 +96,8 @@ biocLite("splatter")</code></pre>
 <pre class="{r}"><code><a href="http://www.rdocumentation.org/packages/BiocInstaller/topics/biocLite">biocLite("splatter", build_vignettes=TRUE)</a></code></pre>
 <p>This will also build the vignette and install all suggested dependencies (which aren’t required for core functionality). Building the vignette may sometimes fail when run from the command line, if this happens try running the install command in RStudio.</p>
 </div>
-<div id="development-version" class="section level3">
-<h3 class="hasAnchor">
-<a href="#development-version" class="anchor"></a>Development version</h3>
+<div class="section level3">
+<h3>Development version</h3>
 <p>If you want to try the <a href="https://bioconductor.org/packages/devel/bioc/html/splatter.html">development version</a> this can also be installed from Bioconductor:</p>
 <pre class="{r}"><code>library(BiocInstaller)
 useDevel()
@@ -133,9 +130,12 @@ biocLite("splatter")</code></pre>
 </ul>
 <h2>Developers</h2>
 <ul class="list-unstyled">
-<li>Luke Zappia <br><small class="roles"> Author, maintainer </small> </li>
-<li>Belinda Phipson <br><small class="roles"> Author </small> </li>
-<li>Alicia Oshlack <br><small class="roles"> Author </small> </li>
+<li>Luke Zappia <br><small class="roles"> Author, maintainer </small> <br><small>(0000-0001-7744-8565)</small>
+</li>
+<li>Belinda Phipson <br><small class="roles"> Author </small> <br><small>(0000-0002-1711-7454)</small>
+</li>
+<li>Alicia Oshlack <br><small class="roles"> Author </small> <br><small>(0000-0001-9788-5690)</small>
+</li>
 </ul>
 <h2>Dev status</h2>
 <ul class="list-unstyled">
@@ -155,7 +155,7 @@ biocLite("splatter")</code></pre>
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/news/index.html b/docs/news/index.html
index 71c2603f53a2ef7fe5e51a7df7e83990cc71029b..ea9dd90ffad66fee5a93c55f064295b6ddc9902c 100644
--- a/docs/news/index.html
+++ b/docs/news/index.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -103,57 +103,151 @@
     </div>
 
     <div class="contents">
-    <div id="version-1-1-8-2017-10-13" class="section level2">
-<h2 class="hasAnchor">
-<a href="#version-1-1-8-2017-10-13" class="anchor"></a>Version 1.1.8 (2017-10-13)</h2>
+    <div class="section level2">
+<h2>Version 1.5.0 (2018-01-02)</h2>
+<ul>
+<li>Bioconductor 3.7 devel</li>
+</ul>
+</div>
+    <div class="section level1">
+<h1>Version 1.4.0 (2018-01-02)</h1>
+<ul>
+<li>Bioconductor 3.7 release</li>
+</ul>
+<div class="section level2">
+<h2>Version 1.3.6 (2018-04-30)</h2>
+<ul>
+<li>Set seed in sparseDCEstimate tests</li>
+</ul>
+</div>
+<div class="section level2">
+<h2>Version 1.3.5 (2018-04-25)</h2>
+<ul>
+<li>Replace dropout.present with dropout.type in SplatParams
+<ul>
+<li>Allows users to set dropout by experiment, batch, group or cell</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="section level2">
+<h2>Version 1.3.4 (2018-04-19)</h2>
+<ul>
+<li>Add option to use a normal distribution for library sizes in Splat simulations</li>
+<li>Add SparseDC simulation</li>
+<li>Rename params in metadata slot of simulation to Params for consistency</li>
+<li>Add checks to SplatParams to reset path.from if nGroups changes</li>
+<li>Improve printing of parameters stored as data.frames</li>
+<li>Colourise Params print output and listSims output</li>
+<li>Improve warning message when fitting means in splatEstimate fails</li>
+<li>Simplify problematic documentation links</li>
+</ul>
+<div class="section level3">
+<h3>Version 1.3.3.9010 (2018-04-12)</h3>
+<ul>
+<li>Add option to use a normal distribution for library sizes in Splat simulations</li>
+</ul>
+</div>
+<div class="section level3">
+<h3>Version 1.3.3.9000 (2018-04-12)</h3>
+<ul>
+<li>Replace dropout.present with dropout.type in SplatParams
+<ul>
+<li>Allows more control over dropout.mid and dropout.shape</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<div class="section level2">
+<h2>Version 1.3.3 (2018-03-27)</h2>
+<ul>
+<li>Fix parameter passing bug in scDDEstimate</li>
+</ul>
+</div>
+<div class="section level2">
+<h2>Version 1.3.2 (2018-01-31)</h2>
+<ul>
+<li>Fix QC names that have been changed in scater</li>
+<li>Move scater to Imports and add scater version</li>
+<li>Remove lingering references to SCESets</li>
+<li>Add more tests</li>
+</ul>
+</div>
+<div class="section level2">
+<h2>Version 1.3.1 (2018-01-03)</h2>
+<ul>
+<li>Fix error in vignette caused by changes in scater</li>
+</ul>
+</div>
+<div class="section level2">
+<h2>Version 1.3.0 (2017-10-13)</h2>
+<ul>
+<li>Bioconductor 3.7 devel</li>
+</ul>
+</div>
+<div class="section level2">
+<h2>Version 1.2.2 (2018-03-27)</h2>
+<ul>
+<li>Fix parameter passing bug in scDDEstimate</li>
+</ul>
+</div>
+<div class="section level2">
+<h2>Version 1.2.1 (2017-11-23)</h2>
+<ul>
+<li>Fix zinbwave installation error</li>
+</ul>
+</div>
+</div>
+    <div class="section level1">
+<h1>Version 1.2.0 (2017-10-30)</h1>
+<ul>
+<li>Bioconductor 3.6 release</li>
+</ul>
+<div class="section level2">
+<h2>Version 1.1.8 (2017-10-13)</h2>
 <ul>
 <li>Add BASiCS simulation</li>
 <li>Update Splatter citation</li>
 <li>Update Lun2 reference</li>
 </ul>
 </div>
-    <div id="version-1-1-7-2017-10-05" class="section level2">
-<h2 class="hasAnchor">
-<a href="#version-1-1-7-2017-10-05" class="anchor"></a>Version 1.1.7 (2017-10-05)</h2>
+<div class="section level2">
+<h2>Version 1.1.7 (2017-10-05)</h2>
 <ul>
 <li>Add PhenoPath simulation</li>
 <li>Add ZINB-WaVE simulation</li>
 <li>Adjust mfaSimulate output</li>
 </ul>
 </div>
-    <div id="version-1-1-6-2017-10-02" class="section level2">
-<h2 class="hasAnchor">
-<a href="#version-1-1-6-2017-10-02" class="anchor"></a>Version 1.1.6 (2017-10-02)</h2>
+<div class="section level2">
+<h2>Version 1.1.6 (2017-10-02)</h2>
 <ul>
 <li>Update scDD version</li>
 <li>Add mfa simulation</li>
 </ul>
 </div>
-    <div id="version-1-1-5-2017-09-13" class="section level2">
-<h2 class="hasAnchor">
-<a href="#version-1-1-5-2017-09-13" class="anchor"></a>Version 1.1.5 (2017-09-13)</h2>
+<div class="section level2">
+<h2>Version 1.1.5 (2017-09-13)</h2>
 <ul>
 <li>Convert to SingleCellExperiment</li>
 </ul>
 </div>
-    <div id="version-1-1-4-2017-08-04" class="section level2">
-<h2 class="hasAnchor">
-<a href="#version-1-1-4-2017-08-04" class="anchor"></a>Version 1.1.4 (2017-08-04)</h2>
+<div class="section level2">
+<h2>Version 1.1.4 (2017-08-04)</h2>
 <ul>
 <li>Fix group factors bug</li>
 </ul>
 </div>
-    <div id="version-1-1-3-2017-07-20" class="section level2">
-<h2 class="hasAnchor">
-<a href="#version-1-1-3-2017-07-20" class="anchor"></a>Version 1.1.3 (2017-07-20)</h2>
+<div class="section level2">
+<h2>Version 1.1.3 (2017-07-20)</h2>
 <ul>
 <li>Add verbose option to scDDEstimate</li>
 <li>Change “mean-dropout” to “mean-zeros” in compareSCESets</li>
 </ul>
 </div>
-    <div id="version-1-1-2-2017-07-16" class="section level2">
-<h2 class="hasAnchor">
-<a href="#version-1-1-2-2017-07-16" class="anchor"></a>Version 1.1.2 (2017-07-16)</h2>
+<div class="section level2">
+<h2>Version 1.1.2 (2017-07-16)</h2>
 <ul>
 <li>Update summariseDiff</li>
 <li>Update scDDEstimate, now estimates gene types</li>
@@ -161,54 +255,48 @@
 <li>Import SummarizedExperiment to avoid warnings</li>
 </ul>
 </div>
-    <div id="version-1-1-1-2017-07-07" class="section level2">
-<h2 class="hasAnchor">
-<a href="#version-1-1-1-2017-07-07" class="anchor"></a>Version 1.1.1 (2017-07-07)</h2>
+<div class="section level2">
+<h2>Version 1.1.1 (2017-07-07)</h2>
 <ul>
 <li>Add batch effects to Splat simulation</li>
 <li>Make Splat group assignment probabilistic</li>
 <li>Update SplatParams with new parameters</li>
 </ul>
 </div>
-    <div id="version-1-1-0-2017-07-07" class="section level2">
-<h2 class="hasAnchor">
-<a href="#version-1-1-0-2017-07-07" class="anchor"></a>Version 1.1.0 (2017-07-07)</h2>
+<div class="section level2">
+<h2>Version 1.1.0 (2017-07-07)</h2>
 <ul>
 <li>Bioconductor 3.6 devel</li>
 </ul>
 </div>
-    <div id="version-1-0-3-2017-05-26" class="section level2">
-<h2 class="hasAnchor">
-<a href="#version-1-0-3-2017-05-26" class="anchor"></a>Version 1.0.3 (2017-05-26)</h2>
+<div class="section level2">
+<h2>Version 1.0.3 (2017-05-26)</h2>
 <ul>
 <li>Update citation</li>
 </ul>
 </div>
-    <div id="version-1-0-2-2017-05-15" class="section level2">
-<h2 class="hasAnchor">
-<a href="#version-1-0-2-2017-05-15" class="anchor"></a>Version 1.0.2 (2017-05-15)</h2>
+<div class="section level2">
+<h2>Version 1.0.2 (2017-05-15)</h2>
 <ul>
 <li>Fix error handling when fitting means</li>
 </ul>
 </div>
-    <div id="version-1-0-1-2017-04-28" class="section level2">
-<h2 class="hasAnchor">
-<a href="#version-1-0-1-2017-04-28" class="anchor"></a>Version 1.0.1 (2017-04-28)</h2>
+<div class="section level2">
+<h2>Version 1.0.1 (2017-04-28)</h2>
 <ul>
 <li>Fix scales in some difference plots</li>
 <li>Fix colours in difference plots</li>
 <li>Fix panel legends</li>
 </ul>
 </div>
-    <div id="version-1-0-0-2017-04-28" class="section level1">
-<h1 class="hasAnchor">
-<a href="#version-1-0-0-2017-04-28" class="anchor"></a>Version 1.0.0 (2017-04-28)</h1>
+</div>
+    <div class="section level1">
+<h1>Version 1.0.0 (2017-04-28)</h1>
 <ul>
 <li>Bioconductor 3.5 release</li>
 </ul>
-<div id="version-0-99-15-2017-04-14" class="section level2">
-<h2 class="hasAnchor">
-<a href="#version-0-99-15-2017-04-14" class="anchor"></a>Version 0.99.15 (2017-04-14)</h2>
+<div class="section level2">
+<h2>Version 0.99.15 (2017-04-14)</h2>
 <ul>
 <li>Add summariseDiff function</li>
 <li>Add BPPARAM argument to scDDSimulate</li>
@@ -217,27 +305,24 @@
 <li>Remove estimation of dropout.present</li>
 </ul>
 </div>
-<div id="version-0-99-14-2017-03-28" class="section level2">
-<h2 class="hasAnchor">
-<a href="#version-0-99-14-2017-03-28" class="anchor"></a>Version 0.99.14 (2017-03-28)</h2>
+<div class="section level2">
+<h2>Version 0.99.14 (2017-03-28)</h2>
 <ul>
 <li>Add functions for making comparison panels</li>
 <li>Add panel section to vignette</li>
 <li>Change variance plot scale (for consistency)</li>
 </ul>
 </div>
-<div id="version-0-99-13-2017-03-25" class="section level2">
-<h2 class="hasAnchor">
-<a href="#version-0-99-13-2017-03-25" class="anchor"></a>Version 0.99.13 (2017-03-25)</h2>
+<div class="section level2">
+<h2>Version 0.99.13 (2017-03-25)</h2>
 <ul>
 <li>Modify how Lun2Params stores gene paramters to use data.frame</li>
 <li>Move sampling of genes/cells to lun2Simulate</li>
 <li>Return to old Lun2 nGenes estimate</li>
 </ul>
 </div>
-<div id="version-0-99-12-2017-03-22" class="section level2">
-<h2 class="hasAnchor">
-<a href="#version-0-99-12-2017-03-22" class="anchor"></a>Version 0.99.12 (2017-03-22)</h2>
+<div class="section level2">
+<h2>Version 0.99.12 (2017-03-22)</h2>
 <ul>
 <li>Add diffSCESets function</li>
 <li>Update compareSCESets plots</li>
@@ -246,9 +331,8 @@
 <li>Add infinte bcv.df warning to splatSimulate</li>
 </ul>
 </div>
-<div id="version-0-99-11-2017-03-20" class="section level2">
-<h2 class="hasAnchor">
-<a href="#version-0-99-11-2017-03-20" class="anchor"></a>Version 0.99.11 (2017-03-20)</h2>
+<div class="section level2">
+<h2>Version 0.99.11 (2017-03-20)</h2>
 <ul>
 <li>Add parallel option to lun2Estimate</li>
 <li>Allow non-integer library sizes in Lun2Params</li>
@@ -256,9 +340,8 @@
 <li>Adjust comparison plots</li>
 </ul>
 </div>
-<div id="version-0-99-10-2017-03-07" class="section level2">
-<h2 class="hasAnchor">
-<a href="#version-0-99-10-2017-03-07" class="anchor"></a>Version 0.99.10 (2017-03-07)</h2>
+<div class="section level2">
+<h2>Version 0.99.10 (2017-03-07)</h2>
 <ul>
 <li>Improve Splat estimation procedure</li>
 <li>Update default Splat parameters</li>
@@ -266,92 +349,80 @@
 <li>Add MeanZeros plot to compareSCESets</li>
 </ul>
 </div>
-<div id="version-0-99-9-2017-02-02" class="section level2">
-<h2 class="hasAnchor">
-<a href="#version-0-99-9-2017-02-02" class="anchor"></a>Version 0.99.9 (2017-02-02)</h2>
+<div class="section level2">
+<h2>Version 0.99.9 (2017-02-02)</h2>
 <ul>
 <li>Add addGeneLengths function</li>
 <li>Update scDD reference</li>
 </ul>
 </div>
-<div id="version-0-99-8-2017-01-23" class="section level2">
-<h2 class="hasAnchor">
-<a href="#version-0-99-8-2017-01-23" class="anchor"></a>Version 0.99.8 (2017-01-23)</h2>
+<div class="section level2">
+<h2>Version 0.99.8 (2017-01-23)</h2>
 <ul>
 <li>Fix bug that meant non-linear path factors weren’t stored in output</li>
 </ul>
 </div>
-<div id="version-0-99-7-2017-01-10" class="section level2">
-<h2 class="hasAnchor">
-<a href="#version-0-99-7-2017-01-10" class="anchor"></a>Version 0.99.7 (2017-01-10)</h2>
+<div class="section level2">
+<h2>Version 0.99.7 (2017-01-10)</h2>
 <ul>
 <li>Small changes to avoid NOTEs and reduce check time</li>
 </ul>
 </div>
-<div id="version-0-99-6-2016-12-29" class="section level2">
-<h2 class="hasAnchor">
-<a href="#version-0-99-6-2016-12-29" class="anchor"></a>Version 0.99.6 (2016-12-29)</h2>
+<div class="section level2">
+<h2>Version 0.99.6 (2016-12-29)</h2>
 <ul>
 <li>Add installation to vignette</li>
 <li>Add detail about counts matrix to vignette</li>
 <li>Replace 1:x with seq_len/seq_along</li>
 </ul>
 </div>
-<div id="version-0-99-5-2016-12-28" class="section level2">
-<h2 class="hasAnchor">
-<a href="#version-0-99-5-2016-12-28" class="anchor"></a>Version 0.99.5 (2016-12-28)</h2>
+<div class="section level2">
+<h2>Version 0.99.5 (2016-12-28)</h2>
 <ul>
 <li>Set R_TESTS environment</li>
 </ul>
 </div>
-<div id="version-0-99-4-2016-12-23" class="section level2">
-<h2 class="hasAnchor">
-<a href="#version-0-99-4-2016-12-23" class="anchor"></a>Version 0.99.4 (2016-12-23)</h2>
+<div class="section level2">
+<h2>Version 0.99.4 (2016-12-23)</h2>
 <ul>
 <li>Version bump to start build</li>
 </ul>
 </div>
-<div id="version-0-99-3-2016-12-21" class="section level2">
-<h2 class="hasAnchor">
-<a href="#version-0-99-3-2016-12-21" class="anchor"></a>Version 0.99.3 (2016-12-21)</h2>
+<div class="section level2">
+<h2>Version 0.99.3 (2016-12-21)</h2>
 <ul>
 <li>Fix to match Bioconductor version of scDD</li>
 <li>Add logo to repository</li>
 </ul>
 </div>
-<div id="version-0-99-2-2016-12-13" class="section level2">
-<h2 class="hasAnchor">
-<a href="#version-0-99-2-2016-12-13" class="anchor"></a>Version 0.99.2 (2016-12-13)</h2>
+<div class="section level2">
+<h2>Version 0.99.2 (2016-12-13)</h2>
 <ul>
 <li>Add rownames, colnames to matrices in splatSimulate, lunSimulate</li>
 <li>Bump R version to 3.4</li>
 </ul>
 </div>
-<div id="version-0-99-1-2016-12-12" class="section level2">
-<h2 class="hasAnchor">
-<a href="#version-0-99-1-2016-12-12" class="anchor"></a>Version 0.99.1 (2016-12-12)</h2>
+<div class="section level2">
+<h2>Version 0.99.1 (2016-12-12)</h2>
 <ul>
 <li>Address Biocondutor build warnings, notes</li>
 </ul>
 </div>
 </div>
-    <div id="version-0-99-0-2016-12-05" class="section level1">
-<h1 class="hasAnchor">
-<a href="#version-0-99-0-2016-12-05" class="anchor"></a>Version 0.99.0 (2016-12-05)</h1>
+    <div class="section level1">
+<h1>Version 0.99.0 (2016-12-05)</h1>
 <ul>
 <li>Submit to Bioconductor</li>
 </ul>
-<div id="version-0-12-1-2016-11-25" class="section level2">
-<h2 class="hasAnchor">
-<a href="#version-0-12-1-2016-11-25" class="anchor"></a>Version 0.12.1 (2016-11-25)</h2>
+<div class="section level2">
+<h2>Version 0.12.1 (2016-11-25)</h2>
 <ul>
 <li>Fix bug in compareSCESets</li>
 <li>Dataset order is now kept in plots</li>
 </ul>
 </div>
-<div id="version-0-12-0-2016-10-25" class="section level2">
-<h2 class="hasAnchor">
-<a href="#version-0-12-0-2016-10-25" class="anchor"></a>Version 0.12.0 (2016-10-25)</h2>
+<div class="section level2">
+<h2>Version 0.12.0 (2016-10-25)</h2>
 <ul>
 <li>Add compareSCESets function</li>
 <li>Update vignette</li>
@@ -359,91 +430,79 @@
 <li>Add logo</li>
 </ul>
 </div>
-<div id="version-0-11-1-2016-11-23" class="section level2">
-<h2 class="hasAnchor">
-<a href="#version-0-11-1-2016-11-23" class="anchor"></a>Version 0.11.1 (2016-11-23)</h2>
+<div class="section level2">
+<h2>Version 0.11.1 (2016-11-23)</h2>
 <ul>
 <li>Fix bug in splatSimulatePaths that caused NAs</li>
 </ul>
 </div>
-<div id="version-0-11-0-2016-11-22" class="section level2">
-<h2 class="hasAnchor">
-<a href="#version-0-11-0-2016-11-22" class="anchor"></a>Version 0.11.0 (2016-11-22)</h2>
+<div class="section level2">
+<h2>Version 0.11.0 (2016-11-22)</h2>
 <ul>
 <li>Make compatible with Bioconductor 3.4</li>
 </ul>
 </div>
-<div id="version-0-10-1-2016-10-17" class="section level2">
-<h2 class="hasAnchor">
-<a href="#version-0-10-1-2016-10-17" class="anchor"></a>Version 0.10.1 (2016-10-17)</h2>
+<div class="section level2">
+<h2>Version 0.10.1 (2016-10-17)</h2>
 <ul>
 <li>Fix error for SCESets in lun2Estimate, scDDEstimate</li>
 </ul>
 </div>
-<div id="version-0-10-0-2016-10-16" class="section level2">
-<h2 class="hasAnchor">
-<a href="#version-0-10-0-2016-10-16" class="anchor"></a>Version 0.10.0 (2016-10-16)</h2>
+<div class="section level2">
+<h2>Version 0.10.0 (2016-10-16)</h2>
 <ul>
 <li>Add listSims function</li>
 <li>Add vignette</li>
 </ul>
 </div>
-<div id="version-0-9-0-2016-10-15" class="section level2">
-<h2 class="hasAnchor">
-<a href="#version-0-9-0-2016-10-15" class="anchor"></a>Version 0.9.0 (2016-10-15)</h2>
+<div class="section level2">
+<h2>Version 0.9.0 (2016-10-15)</h2>
 <ul>
 <li>Add scDD simulation</li>
 </ul>
 </div>
-<div id="version-0-8-0-2016-10-15" class="section level2">
-<h2 class="hasAnchor">
-<a href="#version-0-8-0-2016-10-15" class="anchor"></a>Version 0.8.0 (2016-10-15)</h2>
+<div class="section level2">
+<h2>Version 0.8.0 (2016-10-15)</h2>
 <ul>
 <li>Add Lun2 simulation</li>
 </ul>
 </div>
-<div id="version-0-7-0-2016-10-14" class="section level2">
-<h2 class="hasAnchor">
-<a href="#version-0-7-0-2016-10-14" class="anchor"></a>Version 0.7.0 (2016-10-14)</h2>
+<div class="section level2">
+<h2>Version 0.7.0 (2016-10-14)</h2>
 <ul>
 <li>Redesign how parameters are stored</li>
 <li>Each simulation now has it’s own S4 Params class</li>
 <li>Modify exisiting simulations to use new parameter objects</li>
 </ul>
 </div>
-<div id="version-0-6-0-2016-10-12" class="section level2">
-<h2 class="hasAnchor">
-<a href="#version-0-6-0-2016-10-12" class="anchor"></a>Version 0.6.0 (2016-10-12)</h2>
+<div class="section level2">
+<h2>Version 0.6.0 (2016-10-12)</h2>
 <ul>
 <li>Add Lun simulation</li>
 <li>Modify splatParams to take Lun parameters</li>
 </ul>
 </div>
-<div id="version-0-5-0-2016-10-12" class="section level2">
-<h2 class="hasAnchor">
-<a href="#version-0-5-0-2016-10-12" class="anchor"></a>Version 0.5.0 (2016-10-12)</h2>
+<div class="section level2">
+<h2>Version 0.5.0 (2016-10-12)</h2>
 <ul>
 <li>Add simple simulation</li>
 </ul>
 </div>
-<div id="version-0-4-0-2016-10-12" class="section level2">
-<h2 class="hasAnchor">
-<a href="#version-0-4-0-2016-10-12" class="anchor"></a>Version 0.4.0 (2016-10-12)</h2>
+<div class="section level2">
+<h2>Version 0.4.0 (2016-10-12)</h2>
 <ul>
 <li>Add splatter simulations</li>
 <li>Modify some parts of splatParams and fix bugs</li>
 </ul>
 </div>
-<div id="version-0-3-0-2016-10-06" class="section level2">
-<h2 class="hasAnchor">
-<a href="#version-0-3-0-2016-10-06" class="anchor"></a>Version 0.3.0 (2016-10-06)</h2>
+<div class="section level2">
+<h2>Version 0.3.0 (2016-10-06)</h2>
 <ul>
 <li>Added parameter estimation functions</li>
 </ul>
 </div>
-<div id="version-0-2-0-2016-10-06" class="section level2">
-<h2 class="hasAnchor">
-<a href="#version-0-2-0-2016-10-06" class="anchor"></a>Version 0.2.0 (2016-10-06)</h2>
+<div class="section level2">
+<h2>Version 0.2.0 (2016-10-06)</h2>
 <ul>
 <li>Added splatParams object</li>
 <li>Added functions for interacting with splatParams</li>
@@ -457,20 +516,11 @@
     <div id="tocnav">
       <h2>Contents</h2>
       <ul class="nav nav-pills nav-stacked">
-        <li><a href="#version-1-1-8-2017-10-13">1.1.8</a></li>
-        <li><a href="#version-1-1-7-2017-10-05">1.1.7</a></li>
-        <li><a href="#version-1-1-6-2017-10-02">1.1.6</a></li>
-        <li><a href="#version-1-1-5-2017-09-13">1.1.5</a></li>
-        <li><a href="#version-1-1-4-2017-08-04">1.1.4</a></li>
-        <li><a href="#version-1-1-3-2017-07-20">1.1.3</a></li>
-        <li><a href="#version-1-1-2-2017-07-16">1.1.2</a></li>
-        <li><a href="#version-1-1-1-2017-07-07">1.1.1</a></li>
-        <li><a href="#version-1-1-0-2017-07-07">1.1.0</a></li>
-        <li><a href="#version-1-0-3-2017-05-26">1.0.3</a></li>
-        <li><a href="#version-1-0-2-2017-05-15">1.0.2</a></li>
-        <li><a href="#version-1-0-1-2017-04-28">1.0.1</a></li>
-        <li><a href="#version-1-0-0-2017-04-28">1.0.0</a></li>
-        <li><a href="#version-0-99-0-2016-12-05">0.99.0</a></li>
+        <li><a href="#NA">1.5.0</a></li>
+        <li><a href="#NA">1.4.0</a></li>
+        <li><a href="#NA">1.2.0</a></li>
+        <li><a href="#NA">1.0.0</a></li>
+        <li><a href="#NA">0.99.0</a></li>
       </ul>
     </div>
   </div>
@@ -483,7 +533,7 @@
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/BASiCSEstimate.html b/docs/reference/BASiCSEstimate.html
index ba67f96f9a1acf5b2153caee7614daf0a6514a91..0d69930b40068e9bd51ca8465575c866ca11080b 100644
--- a/docs/reference/BASiCSEstimate.html
+++ b/docs/reference/BASiCSEstimate.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -109,10 +109,10 @@
   <span class='kw'>thin</span> <span class='kw'>=</span> <span class='fl'>10</span>, <span class='kw'>burn</span> <span class='kw'>=</span> <span class='fl'>5000</span>, <span class='kw'>params</span> <span class='kw'>=</span> <span class='fu'><a href='newParams.html'>newBASiCSParams</a></span>(), <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>,
   <span class='kw'>progress</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, <span class='no'>...</span>)
 
-<span class='co'># S3 method for SCESet</span>
-<span class='fu'>BASiCSEstimate</span>(<span class='no'>counts</span>, <span class='kw'>spike.info</span> <span class='kw'>=</span> <span class='kw'>NULL</span>, <span class='kw'>batch</span> <span class='kw'>=</span> <span class='kw'>NULL</span>,
-  <span class='kw'>n</span> <span class='kw'>=</span> <span class='fl'>20000</span>, <span class='kw'>thin</span> <span class='kw'>=</span> <span class='fl'>10</span>, <span class='kw'>burn</span> <span class='kw'>=</span> <span class='fl'>5000</span>, <span class='kw'>params</span> <span class='kw'>=</span> <span class='fu'><a href='newParams.html'>newBASiCSParams</a></span>(),
-  <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, <span class='kw'>progress</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, <span class='no'>...</span>)
+<span class='co'># S3 method for SingleCellExperiment</span>
+<span class='fu'>BASiCSEstimate</span>(<span class='no'>counts</span>, <span class='kw'>spike.info</span> <span class='kw'>=</span> <span class='kw'>NULL</span>,
+  <span class='kw'>batch</span> <span class='kw'>=</span> <span class='kw'>NULL</span>, <span class='kw'>n</span> <span class='kw'>=</span> <span class='fl'>20000</span>, <span class='kw'>thin</span> <span class='kw'>=</span> <span class='fl'>10</span>, <span class='kw'>burn</span> <span class='kw'>=</span> <span class='fl'>5000</span>,
+  <span class='kw'>params</span> <span class='kw'>=</span> <span class='fu'><a href='newParams.html'>newBASiCSParams</a></span>(), <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, <span class='kw'>progress</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, <span class='no'>...</span>)
 
 <span class='co'># S3 method for matrix</span>
 <span class='fu'>BASiCSEstimate</span>(<span class='no'>counts</span>, <span class='kw'>spike.info</span> <span class='kw'>=</span> <span class='kw'>NULL</span>, <span class='kw'>batch</span> <span class='kw'>=</span> <span class='kw'>NULL</span>,
@@ -124,8 +124,8 @@
     <colgroup><col class="name" /><col class="desc" /></colgroup>
     <tr>
       <th>counts</th>
-      <td><p>either a counts matrix or an SCESet object containing count
-data to estimate parameters from.</p></td>
+      <td><p>either a counts matrix or a SingleCellExperiment object
+containing count data to estimate parameters from.</p></td>
     </tr>
     <tr>
       <th>spike.info</th>
@@ -186,7 +186,10 @@ information is provided there must be at least two batches. See
 
     <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2>
     <pre class="examples"><span class='co'># NOT RUN {</span>
+<span class='co'># Load example data</span>
+<span class='fu'>library</span>(<span class='no'>scater</span>)
 <span class='fu'>data</span>(<span class='st'>"sc_example_counts"</span>)
+
 <span class='no'>spike.info</span> <span class='kw'>&lt;-</span> <span class='fu'>data.frame</span>(<span class='kw'>Name</span> <span class='kw'>=</span> <span class='fu'>rownames</span>(<span class='no'>sc_example_counts</span>)[<span class='fl'>1</span>:<span class='fl'>10</span>],
                          <span class='kw'>Input</span> <span class='kw'>=</span> <span class='fu'>rnorm</span>(<span class='fl'>10</span>, <span class='fl'>500</span>, <span class='fl'>200</span>),
                          <span class='kw'>stringsAsFactors</span> <span class='kw'>=</span> <span class='fl'>FALSE</span>)
@@ -216,7 +219,7 @@ information is provided there must be at least two batches. See
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/BASiCSParams.html b/docs/reference/BASiCSParams.html
index b15e37bd6414e05eea5cd4ba74d0497c2c1040bc..721e44280c49263924766396eab2f0620eea2a7e 100644
--- a/docs/reference/BASiCSParams.html
+++ b/docs/reference/BASiCSParams.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -160,7 +160,7 @@
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/BASiCSSimulate.html b/docs/reference/BASiCSSimulate.html
index 4b37c1d6797780df31355f1d692fe9782ed9f3bb..34629d645e635d2f3e2da26bcd401dbf659537f6 100644
--- a/docs/reference/BASiCSSimulate.html
+++ b/docs/reference/BASiCSSimulate.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -133,8 +133,8 @@
 
     <p>This function is just a wrapper around <code><a href='http://www.rdocumentation.org/packages/BASiCS/topics/BASiCS_Sim'>BASiCS_Sim</a></code> that
 takes a <code><a href='BASiCSParams.html'>BASiCSParams</a></code>, runs the simulation then converts the
-output to an <code><a href='http://www.rdocumentation.org/packages/scater/topics/SCESet'>SCESet</a></code> object. See
-<code><a href='http://www.rdocumentation.org/packages/BASiCS/topics/BASiCS_Sim'>BASiCS_Sim</a></code> for more details of how the simulation
+output to a <code><a href='http://www.rdocumentation.org/packages/SingleCellExperiment/topics/SingleCellExperiment'>SingleCellExperiment</a></code> object.
+See <code><a href='http://www.rdocumentation.org/packages/BASiCS/topics/BASiCS_Sim'>BASiCS_Sim</a></code> for more details of how the simulation
 works.</p>
     
     <h2 class="hasAnchor" id="references"><a class="anchor" href="#references"></a>References</h2>
@@ -171,7 +171,7 @@ Single-Cell Sequencing data. PLoS Comput. Biol. (2015).</p>
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/Lun2Params.html b/docs/reference/Lun2Params.html
index 6d912230a51cc362914aecb3e01db0e38b0fcb58..87d793c939c22681b6237a72cefdaaa31712fb15 100644
--- a/docs/reference/Lun2Params.html
+++ b/docs/reference/Lun2Params.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -166,7 +166,7 @@
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/LunParams.html b/docs/reference/LunParams.html
index 6ec76c4f386ae1fb69eb58a54f9e76065dc05193..c84c8c617c7f9efc18d8c89592758cd4c45e0662 100644
--- a/docs/reference/LunParams.html
+++ b/docs/reference/LunParams.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -158,7 +158,7 @@
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/MFAParams.html b/docs/reference/MFAParams.html
index 0038585a753d6c7dbff932a21cf636aadb211748..5e5ac99d70c0080a3e787f3157e5310a4e57fcd8 100644
--- a/docs/reference/MFAParams.html
+++ b/docs/reference/MFAParams.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -145,7 +145,7 @@ the mfa simulation see <code><a href='mfaSimulate.html'>mfaSimulate</a></code>.<
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/Params.html b/docs/reference/Params.html
index 219c8cd2239ac9e15df1b1ece80087a794775bf8..6825352b634a8fa1825f59ea38b920dad90e6992 100644
--- a/docs/reference/Params.html
+++ b/docs/reference/Params.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -134,7 +134,7 @@
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/PhenoParams.html b/docs/reference/PhenoParams.html
index 79dce00cb9cb926c15759b34cfa0740bcdefcd10..2c75b53dc01849419544edfc830f3f4e3e188076 100644
--- a/docs/reference/PhenoParams.html
+++ b/docs/reference/PhenoParams.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -144,7 +144,7 @@ see <code><a href='phenoSimulate.html'>phenoSimulate</a></code>.</p>
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/SCDDParams.html b/docs/reference/SCDDParams.html
index e819d63d8f52a377b0609803c50ae8d54471b996..c50fe4550f236ba2bbcd3e6ceef3dfd33bb1dd2e 100644
--- a/docs/reference/SCDDParams.html
+++ b/docs/reference/SCDDParams.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -151,7 +151,7 @@ the scDD simulation see <code><a href='scDDSimulate.html'>scDDSimulate</a></code
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/SimpleParams.html b/docs/reference/SimpleParams.html
index e7512c99c3fae780aa89dd4655e95cd4b3a99119..7149329bd1510066471fc3cbd40c2893e7c8b8d7 100644
--- a/docs/reference/SimpleParams.html
+++ b/docs/reference/SimpleParams.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -142,7 +142,7 @@ see <code><a href='simpleSimulate.html'>simpleSimulate</a></code>.</p>
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/SparseDCParams.html b/docs/reference/SparseDCParams.html
new file mode 100644
index 0000000000000000000000000000000000000000..b106fa1fda38ead9d176e12e0109dcbb47543042
--- /dev/null
+++ b/docs/reference/SparseDCParams.html
@@ -0,0 +1,161 @@
+<!-- Generated by pkgdown: do not edit by hand -->
+<!DOCTYPE html>
+<html>
+  <head>
+  <meta charset="utf-8">
+<meta http-equiv="X-UA-Compatible" content="IE=edge">
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+<title>The SparseDCParams class — SparseDCParams • Splatter</title>
+
+<!-- jquery -->
+<script src="https://code.jquery.com/jquery-3.1.0.min.js" integrity="sha384-nrOSfDHtoPMzJHjVTdCopGqIqeYETSXhZDFyniQ8ZHcVy08QesyHcnOUpMpqnmWq" crossorigin="anonymous"></script>
+<!-- Bootstrap -->
+<link href="https://maxcdn.bootstrapcdn.com/bootswatch/3.3.7/cosmo/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous">
+
+<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
+
+<!-- Font Awesome icons -->
+<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-T8Gy5hrqNKT+hzMclPo118YTQO6cYprQmhrYwIiQ/3axmI1hQomh7Ud2hPOy8SP1" crossorigin="anonymous">
+
+
+<!-- pkgdown -->
+<link href="../pkgdown.css" rel="stylesheet">
+<script src="../jquery.sticky-kit.min.js"></script>
+<script src="../pkgdown.js"></script>
+  <link href="../extra.css" rel="stylesheet">
+  
+<!-- mathjax -->
+<script src='https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML'></script>
+
+<!--[if lt IE 9]>
+<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
+<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
+<![endif]-->
+
+
+<!-- Google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-52309538-4', 'auto');
+  ga('send', 'pageview');
+
+</script>
+
+  </head>
+
+  <body>
+    <div class="container template-reference-topic">
+      <header>
+      <div class="navbar navbar-default navbar-fixed-top" role="navigation">
+  <div class="container">
+    <div class="navbar-header">
+      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar">
+        <span class="icon-bar"></span>
+        <span class="icon-bar"></span>
+        <span class="icon-bar"></span>
+      </button>
+      <a class="navbar-brand" href="../index.html">splatter</a>
+    </div>
+    <div id="navbar" class="navbar-collapse collapse">
+      <ul class="nav navbar-nav">
+        <li>
+  <a href="../index.html">
+    <span class="fa fa-home fa-lg"></span>
+     
+  </a>
+</li>
+<li>
+  <a href="../articles/splatter.html">Get Started</a>
+</li>
+<li>
+  <a href="../reference/index.html">Reference</a>
+</li>
+<li>
+  <a href="../news/index.html">News</a>
+</li>
+      </ul>
+      
+      <ul class="nav navbar-nav navbar-right">
+        <li>
+  <a href="https://github.com/Oshlack/splatter">
+    <span class="fa fa-github fa-lg"></span>
+     
+  </a>
+</li>
+      </ul>
+    </div><!--/.nav-collapse -->
+  </div><!--/.container -->
+</div><!--/.navbar -->
+
+      
+      </header>
+
+      <div class="row">
+  <div class="col-md-9 contents">
+    <div class="page-header">
+    <h1>The SparseDCParams class</h1>
+    </div>
+
+    
+    <p>S4 class that holds parameters for the SparseDC simulation.</p>
+    
+
+        
+    <h2 class="hasAnchor" id="parameters"><a class="anchor" href="#parameters"></a>Parameters</h2>
+
+    
+    <p>The SparseDC simulation uses the following parameters:</p><dl class='dl-horizontal'>
+    <dt><code>nGenes</code></dt><dd><p>The number of genes to simulate in each condition.</p></dd>
+    <dt><code>nCells</code></dt><dd><p>The number of cells to simulate.</p></dd>
+    <dt><code>[seed]</code></dt><dd><p>Seed to use for generating random numbers.</p></dd>
+    <dt><code>markers.n</code></dt><dd><p>Number of marker genes to simulate for each
+    cluster.</p></dd>
+    <dt><code>markers.shared</code></dt><dd><p>Number of marker genes for each cluster
+    shared between conditions. Must be less than or equal to
+    <code>markers.n</code></p></dd>.
+    <dt><code>[markers.same]</code></dt><dd><p>Logical. Whether each cluster should have
+    the same set of marker genes.</p></dd>
+    <dt><code>clusts.c1</code></dt><dd><p>Numeric vector of clusters present in
+    condition 1. The number of times a cluster is repeated controls the
+    proportion of cells from that cluster.</p></dd>
+    <dt><code>clusts.c2</code></dt><dd><p>Numeric vector of clusters present in
+    condition 2. The number of times a cluster is repeated controls the
+    proportion of cells from that cluster.</p></dd>
+    <dt><code>[mean.lower]</code></dt><dd><p>Lower bound for cluster gene means.</p></dd>
+    <dt><code>[mean.upper]</code></dt><dd><p>Upper bound for cluster gene means.</p></dd>
+</dl>
+    <p>The parameters not shown in brackets can be estimated from real data using
+<code><a href='sparseDCEstimate.html'>sparseDCEstimate</a></code>. For details of the SparseDC simulation
+see <code><a href='sparseDCSimulate.html'>sparseDCSimulate</a></code>.</p>
+    
+
+  </div>
+  <div class="col-md-3 hidden-xs hidden-sm" id="sidebar">
+    <h2>Contents</h2>
+    <ul class="nav nav-pills nav-stacked">
+      
+      <li><a href="#parameters">Parameters</a></li>
+          </ul>
+
+  </div>
+</div>
+
+      <footer>
+      <div class="copyright">
+  <p>Developed by Luke Zappia, Belinda Phipson, Alicia Oshlack.</p>
+</div>
+
+<div class="pkgdown">
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
+</div>
+
+      </footer>
+   </div>
+
+  </body>
+</html>
diff --git a/docs/reference/SplatParams.html b/docs/reference/SplatParams.html
index 9a310a42cfa82c34db968d38d81116859d4d956a..1734151e69507c1be5cf17fcc20a064dffab01ec 100644
--- a/docs/reference/SplatParams.html
+++ b/docs/reference/SplatParams.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -130,9 +130,13 @@
         </dl></p></dd>
     <dt><em>Library size parameters</em></dt><dd><p><dl class='dl-horizontal'>
             <dt><code>lib.loc</code></dt><dd><p>Location (meanlog) parameter for the
-            library size log-normal distribution.</p></dd>
+            library size log-normal distribution, or mean parameter if a
+            normal distribution is used.</p></dd>
             <dt><code>lib.scale</code></dt><dd><p>Scale (sdlog) parameter for the library
-            size log-normal distribution.</p></dd>
+            size log-normal distribution, or sd parameter if a normal
+            distribution is used.</p></dd>
+            <dt><code>lib.norm</code></dt><dd><p>Logical. Whether to use a normal
+            distribution for library sizes instead of a log-normal.</p></dd>
         </dl></p></dd>
     <dt><em>Expression outlier parameters</em></dt><dd><p><dl class='dl-horizontal'>
             <dt><code>out.prob</code></dt><dd><p>Probability that a gene is an expression
@@ -167,8 +171,12 @@
             chi-squared distribution.</p></dd>
         </dl></p></dd>
     <dt><em>Dropout parameters</em></dt><dd><p><dl class='dl-horizontal'>
-            <dt><code>dropout.present</code></dt><dd><p>Logical. Whether to simulate
-            dropout.</p></dd>
+            <dt><code>dropout.type</code></dt><dd><p>The type of dropout to simulate.
+            "none" indicates no dropout, "experiment" is global dropout using
+            the same parameters for every cell, "batch" uses the same
+            parameters for every cell in each batch, "group" uses the same
+            parameters for every cell in each groups and "cell" uses a
+            different set of parameters for each cell.</p></dd>
             <dt><code>dropout.mid</code></dt><dd><p>Midpoint parameter for the dropout
             logistic function.</p></dd>
             <dt><code>dropout.shape</code></dt><dd><p>Shape parameter for the dropout
@@ -222,7 +230,7 @@ see <code><a href='splatSimulate.html'>splatSimulate</a></code>.</p>
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/ZINBParams.html b/docs/reference/ZINBParams.html
index 531f0b99428c90fb54fea5a6c93b55cc50b3cf8b..b20caf51ab9229ff5810d5532db821900241acaa 100644
--- a/docs/reference/ZINBParams.html
+++ b/docs/reference/ZINBParams.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -141,7 +141,7 @@ see <code><a href='zinbSimulate.html'>zinbSimulate</a></code>.</p>
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/addFeatureStats.html b/docs/reference/addFeatureStats.html
index 09f2c7d45453b831d5795b704ef917265ec4d296..5455a8cd0d5206b9c13e9223a5805478350f1877 100644
--- a/docs/reference/addFeatureStats.html
+++ b/docs/reference/addFeatureStats.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -144,10 +144,10 @@ calculating statistics.</p></td>
 
     <p>Currently adds the following statistics: mean, variance, coefficient of
 variation, median and median absolute deviation. Statistics are added to
-the <code><a href='http://www.rdocumentation.org/packages/SummarizedExperiment/topics/SummarizedExperiment-class'>rowData</a></code> slot and are named
-<code>Stat[Log]Value[No0]</code> where <code>Log</code> and <code>No0</code> are added if those
-arguments are true. UpperCamelCase is used to differentiate these columns
-from those added by analysis packages.</p>
+the <code>rowData</code> slot and are named <code>Stat[Log]Value[No0]</code> where
+<code>Log</code> and <code>No0</code> are added if those arguments are true.
+UpperCamelCase is used to differentiate these columns from those added by
+analysis packages.</p>
     
 
   </div>
@@ -170,7 +170,7 @@ from those added by analysis packages.</p>
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/addGeneLengths.html b/docs/reference/addGeneLengths.html
index b6a9822baabea89b856596969d345db80946c8df..592a18620c3a1d616b803e73d539c92ff4613512 100644
--- a/docs/reference/addGeneLengths.html
+++ b/docs/reference/addGeneLengths.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -140,7 +140,7 @@
     <h2 class="hasAnchor" id="details"><a class="anchor" href="#details"></a>Details</h2>
 
     <p>This function adds simulated gene lengths to the
-<code><a href='http://www.rdocumentation.org/packages/SummarizedExperiment/topics/SummarizedExperiment-class'>rowData</a></code> slot of a
+<code>rowData</code> slot of a
 <code><a href='http://www.rdocumentation.org/packages/SingleCellExperiment/topics/SingleCellExperiment'>SingleCellExperiment</a></code> object that can be
 used for calculating length normalised expression values such as TPM or FPKM.
 The <code>generate</code> method simulates lengths using a (rounded) log-normal
@@ -154,14 +154,14 @@ vector.</p>
     <pre class="examples"><div class='input'><span class='co'># Default generate method</span>
 <span class='no'>sce</span> <span class='kw'>&lt;-</span> <span class='fu'><a href='simpleSimulate.html'>simpleSimulate</a></span>()</div><div class='output co'>#&gt; <span class='message'>Simulating means...</span></div><div class='output co'>#&gt; <span class='message'>Simulating counts...</span></div><div class='output co'>#&gt; <span class='message'>Creating final dataset...</span></div><div class='input'><span class='no'>sce</span> <span class='kw'>&lt;-</span> <span class='fu'>addGeneLengths</span>(<span class='no'>sce</span>)
 <span class='fu'>head</span>(<span class='fu'>rowData</span>(<span class='no'>sce</span>))</div><div class='output co'>#&gt; DataFrame with 6 rows and 3 columns
-#&gt;       Gene     GeneMean    Length
-#&gt;   &lt;factor&gt;    &lt;numeric&gt; &lt;numeric&gt;
-#&gt; 1    Gene1 0.7546303813       885
-#&gt; 2    Gene2 0.1242896647      2280
-#&gt; 3    Gene3 0.1160044662      3160
-#&gt; 4    Gene4 0.1938835897      1612
-#&gt; 5    Gene5 0.0020382615      1890
-#&gt; 6    Gene6 0.0006305612      1488</div><div class='input'># Sample method (human coding genes)
+#&gt;       Gene             GeneMean    Length
+#&gt;   &lt;factor&gt;            &lt;numeric&gt; &lt;numeric&gt;
+#&gt; 1    Gene1     1.08758043949668      1146
+#&gt; 2    Gene2   0.0748348805693826      2984
+#&gt; 3    Gene3 4.39134549612356e-05      4834
+#&gt; 4    Gene4     2.50529281404367      2495
+#&gt; 5    Gene5     6.13362394694411      3769
+#&gt; 6    Gene6     1.42330674557448      4022</div><div class='input'># Sample method (human coding genes)
 </div><span class='co'># NOT RUN {</span>
 <span class='fu'>library</span>(<span class='no'>TxDb.Hsapiens.UCSC.hg19.knownGene</span>)
 <span class='fu'>library</span>(<span class='no'>GenomicFeatures</span>)
@@ -193,7 +193,7 @@ vector.</p>
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/bridge.html b/docs/reference/bridge.html
index 10ca1eb6d96ba4e5021c2f9e007a05b2b48638ab..c92b62b3c3afd42fa89abb6b941eb1b2710eaa8f 100644
--- a/docs/reference/bridge.html
+++ b/docs/reference/bridge.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -156,7 +156,7 @@ a random walk with fixed end points.</p>
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/compareSCEs.html b/docs/reference/compareSCEs.html
index d1ec1daae19d927f28f5e2ef4c7ba2a1237eefd7..5d6fb33d7c9a2d60c5aca7caf642ef8025046a3c 100644
--- a/docs/reference/compareSCEs.html
+++ b/docs/reference/compareSCEs.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -170,8 +170,9 @@ using <code><a href='http://www.rdocumentation.org/packages/ggplot2/topics/ggplo
     
 
     <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2>
-    <pre class="examples"><div class='input'><span class='no'>sim1</span> <span class='kw'>&lt;-</span> <span class='fu'><a href='splatSimulate.html'>splatSimulate</a></span>(<span class='kw'>nGenes</span> <span class='kw'>=</span> <span class='fl'>1000</span>, <span class='kw'>batchCells</span> <span class='kw'>=</span> <span class='fl'>20</span>)</div><div class='output co'>#&gt; <span class='message'>Getting parameters...</span></div><div class='output co'>#&gt; <span class='message'>Creating simulation object...</span></div><div class='output co'>#&gt; <span class='message'>Simulating library sizes...</span></div><div class='output co'>#&gt; <span class='message'>Simulating gene means...</span></div><div class='output co'>#&gt; <span class='message'>Simulating BCV...</span></div><div class='output co'>#&gt; <span class='message'>Simulating counts..</span></div><div class='output co'>#&gt; <span class='message'>Simulating dropout (if needed)...</span></div><div class='output co'>#&gt; <span class='message'>Done!</span></div><div class='input'><span class='no'>sim2</span> <span class='kw'>&lt;-</span> <span class='fu'><a href='simpleSimulate.html'>simpleSimulate</a></span>(<span class='kw'>nGenes</span> <span class='kw'>=</span> <span class='fl'>1000</span>, <span class='kw'>nCells</span> <span class='kw'>=</span> <span class='fl'>20</span>)</div><div class='output co'>#&gt; <span class='message'>Simulating means...</span></div><div class='output co'>#&gt; <span class='message'>Simulating counts...</span></div><div class='output co'>#&gt; <span class='message'>Creating final dataset...</span></div><div class='input'><span class='no'>comparison</span> <span class='kw'>&lt;-</span> <span class='fu'>compareSCEs</span>(<span class='fu'>list</span>(<span class='kw'>Splat</span> <span class='kw'>=</span> <span class='no'>sim1</span>, <span class='kw'>Simple</span> <span class='kw'>=</span> <span class='no'>sim2</span>))
-<span class='fu'>names</span>(<span class='no'>comparison</span>)</div><div class='output co'>#&gt; [1] "FeatureData" "PhenoData"   "Plots"      </div><div class='input'><span class='fu'>names</span>(<span class='no'>comparison</span>$<span class='no'>Plots</span>)</div><div class='output co'>#&gt; [1] "Means"        "Variances"    "MeanVar"      "LibrarySizes" "ZerosGene"   
+    <pre class="examples"><div class='input'><span class='no'>sim1</span> <span class='kw'>&lt;-</span> <span class='fu'><a href='splatSimulate.html'>splatSimulate</a></span>(<span class='kw'>nGenes</span> <span class='kw'>=</span> <span class='fl'>1000</span>, <span class='kw'>batchCells</span> <span class='kw'>=</span> <span class='fl'>20</span>)</div><div class='output co'>#&gt; <span class='message'>Getting parameters...</span></div><div class='output co'>#&gt; <span class='message'>Creating simulation object...</span></div><div class='output co'>#&gt; <span class='message'>Simulating library sizes...</span></div><div class='output co'>#&gt; <span class='message'>Simulating gene means...</span></div><div class='output co'>#&gt; <span class='message'>Simulating BCV...</span></div><div class='output co'>#&gt; <span class='message'>Simulating counts..</span></div><div class='output co'>#&gt; <span class='message'>Simulating dropout (if needed)...</span></div><div class='output co'>#&gt; <span class='message'>Done!</span></div><div class='input'><span class='no'>sim2</span> <span class='kw'>&lt;-</span> <span class='fu'><a href='simpleSimulate.html'>simpleSimulate</a></span>(<span class='kw'>nGenes</span> <span class='kw'>=</span> <span class='fl'>1000</span>, <span class='kw'>nCells</span> <span class='kw'>=</span> <span class='fl'>20</span>)</div><div class='output co'>#&gt; <span class='message'>Simulating means...</span></div><div class='output co'>#&gt; <span class='message'>Simulating counts...</span></div><div class='output co'>#&gt; <span class='message'>Creating final dataset...</span></div><div class='input'><span class='no'>comparison</span> <span class='kw'>&lt;-</span> <span class='fu'>compareSCEs</span>(<span class='fu'>list</span>(<span class='kw'>Splat</span> <span class='kw'>=</span> <span class='no'>sim1</span>, <span class='kw'>Simple</span> <span class='kw'>=</span> <span class='no'>sim2</span>))</div><div class='output co'>#&gt; <span class='message'>Note that the names of some metrics have changed, see 'Renamed metrics' in ?calculateQCMetrics.</span>
+#&gt; <span class='message'>Old names are currently maintained for back-compatibility, but may be removed in future releases.</span></div><div class='output co'>#&gt; <span class='message'>Note that the names of some metrics have changed, see 'Renamed metrics' in ?calculateQCMetrics.</span>
+#&gt; <span class='message'>Old names are currently maintained for back-compatibility, but may be removed in future releases.</span></div><div class='input'><span class='fu'>names</span>(<span class='no'>comparison</span>)</div><div class='output co'>#&gt; [1] "FeatureData" "PhenoData"   "Plots"      </div><div class='input'><span class='fu'>names</span>(<span class='no'>comparison</span>$<span class='no'>Plots</span>)</div><div class='output co'>#&gt; [1] "Means"        "Variances"    "MeanVar"      "LibrarySizes" "ZerosGene"   
 #&gt; [6] "ZerosCell"    "MeanZeros"   </div></pre>
   </div>
   <div class="col-md-3 hidden-xs hidden-sm" id="sidebar">
@@ -195,7 +196,7 @@ using <code><a href='http://www.rdocumentation.org/packages/ggplot2/topics/ggplo
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/diffSCEs.html b/docs/reference/diffSCEs.html
index 500f55f6e2ccb6fc2ffb7477b6b443d6092ed1bf..6ee0aef841bcaf1a554fe2cdd8fb988f46571466 100644
--- a/docs/reference/diffSCEs.html
+++ b/docs/reference/diffSCEs.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -192,8 +192,9 @@ using <code><a href='http://www.rdocumentation.org/packages/ggplot2/topics/ggplo
     
 
     <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2>
-    <pre class="examples"><div class='input'><span class='no'>sim1</span> <span class='kw'>&lt;-</span> <span class='fu'><a href='splatSimulate.html'>splatSimulate</a></span>(<span class='kw'>nGenes</span> <span class='kw'>=</span> <span class='fl'>1000</span>, <span class='kw'>batchCells</span> <span class='kw'>=</span> <span class='fl'>20</span>)</div><div class='output co'>#&gt; <span class='message'>Getting parameters...</span></div><div class='output co'>#&gt; <span class='message'>Creating simulation object...</span></div><div class='output co'>#&gt; <span class='message'>Simulating library sizes...</span></div><div class='output co'>#&gt; <span class='message'>Simulating gene means...</span></div><div class='output co'>#&gt; <span class='message'>Simulating BCV...</span></div><div class='output co'>#&gt; <span class='message'>Simulating counts..</span></div><div class='output co'>#&gt; <span class='message'>Simulating dropout (if needed)...</span></div><div class='output co'>#&gt; <span class='message'>Done!</span></div><div class='input'><span class='no'>sim2</span> <span class='kw'>&lt;-</span> <span class='fu'><a href='simpleSimulate.html'>simpleSimulate</a></span>(<span class='kw'>nGenes</span> <span class='kw'>=</span> <span class='fl'>1000</span>, <span class='kw'>nCells</span> <span class='kw'>=</span> <span class='fl'>20</span>)</div><div class='output co'>#&gt; <span class='message'>Simulating means...</span></div><div class='output co'>#&gt; <span class='message'>Simulating counts...</span></div><div class='output co'>#&gt; <span class='message'>Creating final dataset...</span></div><div class='input'><span class='no'>difference</span> <span class='kw'>&lt;-</span> <span class='fu'>diffSCEs</span>(<span class='fu'>list</span>(<span class='kw'>Splat</span> <span class='kw'>=</span> <span class='no'>sim1</span>, <span class='kw'>Simple</span> <span class='kw'>=</span> <span class='no'>sim2</span>), <span class='kw'>ref</span> <span class='kw'>=</span> <span class='st'>"Simple"</span>)
-<span class='fu'>names</span>(<span class='no'>difference</span>)</div><div class='output co'>#&gt; [1] "Reference"   "FeatureData" "PhenoData"   "Plots"       "QQPlots"    </div><div class='input'><span class='fu'>names</span>(<span class='no'>difference</span>$<span class='no'>Plots</span>)</div><div class='output co'>#&gt; [1] "Means"        "Variances"    "MeanVar"      "LibrarySizes" "ZerosGene"   
+    <pre class="examples"><div class='input'><span class='no'>sim1</span> <span class='kw'>&lt;-</span> <span class='fu'><a href='splatSimulate.html'>splatSimulate</a></span>(<span class='kw'>nGenes</span> <span class='kw'>=</span> <span class='fl'>1000</span>, <span class='kw'>batchCells</span> <span class='kw'>=</span> <span class='fl'>20</span>)</div><div class='output co'>#&gt; <span class='message'>Getting parameters...</span></div><div class='output co'>#&gt; <span class='message'>Creating simulation object...</span></div><div class='output co'>#&gt; <span class='message'>Simulating library sizes...</span></div><div class='output co'>#&gt; <span class='message'>Simulating gene means...</span></div><div class='output co'>#&gt; <span class='message'>Simulating BCV...</span></div><div class='output co'>#&gt; <span class='message'>Simulating counts..</span></div><div class='output co'>#&gt; <span class='message'>Simulating dropout (if needed)...</span></div><div class='output co'>#&gt; <span class='message'>Done!</span></div><div class='input'><span class='no'>sim2</span> <span class='kw'>&lt;-</span> <span class='fu'><a href='simpleSimulate.html'>simpleSimulate</a></span>(<span class='kw'>nGenes</span> <span class='kw'>=</span> <span class='fl'>1000</span>, <span class='kw'>nCells</span> <span class='kw'>=</span> <span class='fl'>20</span>)</div><div class='output co'>#&gt; <span class='message'>Simulating means...</span></div><div class='output co'>#&gt; <span class='message'>Simulating counts...</span></div><div class='output co'>#&gt; <span class='message'>Creating final dataset...</span></div><div class='input'><span class='no'>difference</span> <span class='kw'>&lt;-</span> <span class='fu'>diffSCEs</span>(<span class='fu'>list</span>(<span class='kw'>Splat</span> <span class='kw'>=</span> <span class='no'>sim1</span>, <span class='kw'>Simple</span> <span class='kw'>=</span> <span class='no'>sim2</span>), <span class='kw'>ref</span> <span class='kw'>=</span> <span class='st'>"Simple"</span>)</div><div class='output co'>#&gt; <span class='message'>Note that the names of some metrics have changed, see 'Renamed metrics' in ?calculateQCMetrics.</span>
+#&gt; <span class='message'>Old names are currently maintained for back-compatibility, but may be removed in future releases.</span></div><div class='output co'>#&gt; <span class='message'>Note that the names of some metrics have changed, see 'Renamed metrics' in ?calculateQCMetrics.</span>
+#&gt; <span class='message'>Old names are currently maintained for back-compatibility, but may be removed in future releases.</span></div><div class='input'><span class='fu'>names</span>(<span class='no'>difference</span>)</div><div class='output co'>#&gt; [1] "Reference"   "FeatureData" "PhenoData"   "Plots"       "QQPlots"    </div><div class='input'><span class='fu'>names</span>(<span class='no'>difference</span>$<span class='no'>Plots</span>)</div><div class='output co'>#&gt; [1] "Means"        "Variances"    "MeanVar"      "LibrarySizes" "ZerosGene"   
 #&gt; [6] "ZerosCell"    "MeanZeros"   </div></pre>
   </div>
   <div class="col-md-3 hidden-xs hidden-sm" id="sidebar">
@@ -217,7 +218,7 @@ using <code><a href='http://www.rdocumentation.org/packages/ggplot2/topics/ggplo
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/expandParams.html b/docs/reference/expandParams.html
index 9b7b0e3d2d7fb0c6727155bf415eff3d49b9c435..d6ee6f7e5d5c9e9208e9a900b68f654285d69ff6 100644
--- a/docs/reference/expandParams.html
+++ b/docs/reference/expandParams.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -153,7 +153,7 @@ the number of groups.</p>
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/getLNormFactors.html b/docs/reference/getLNormFactors.html
index 522bee79fd9333ac24ed4a0e2db0a46bd4e48c67..c157131adcfb86d85f09ad4d1e936901495cec37 100644
--- a/docs/reference/getLNormFactors.html
+++ b/docs/reference/getLNormFactors.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -156,7 +156,7 @@ from 1.</p></td>
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/getParam.html b/docs/reference/getParam.html
index fce5d8559378bcc3458f9526fc491e45f4e54791..c606e868d166a0ebe075ebb8c5aacd5f176c8439 100644
--- a/docs/reference/getParam.html
+++ b/docs/reference/getParam.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -152,7 +152,7 @@
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/getParams.html b/docs/reference/getParams.html
index 0090051c4bf79a04d83299d35d1ac3005678cd6a..7a1af5951c39a397004d7e3dd55687a6169dc121 100644
--- a/docs/reference/getParams.html
+++ b/docs/reference/getParams.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -156,7 +156,7 @@
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/getPathOrder.html b/docs/reference/getPathOrder.html
index c5be15aaaaa896ce9250145eef24364cdee309b5..87b35c87ccf5e2be63e7efe4129967be7be88326 100644
--- a/docs/reference/getPathOrder.html
+++ b/docs/reference/getPathOrder.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -141,7 +141,7 @@ from.</p></td>
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/index.html b/docs/reference/index.html
index 5cb5e3398c3b1b55529090eb278472970ab326af..a561dd4f0cf82e9b56ef046471180aa4cd451200 100644
--- a/docs/reference/index.html
+++ b/docs/reference/index.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -100,7 +100,7 @@
     <div class="page-header">
       <h1>
         Reference
-        <small>version&nbsp;1.1.8</small>
+        <small>version&nbsp;1.5.0</small>
       </h1>
     </div>
 
@@ -122,7 +122,7 @@
         <tr>
           <!--  -->
           <td>
-            <p><code><a href="newParams.html">newBASiCSParams</a></code> <code><a href="newParams.html">newLun2Params</a></code> <code><a href="newParams.html">newLunParams</a></code> <code><a href="newParams.html">newMFAParams</a></code> <code><a href="newParams.html">newPhenoParams</a></code> <code><a href="newParams.html">newSCDDParams</a></code> <code><a href="newParams.html">newSimpleParams</a></code> <code><a href="newParams.html">newSplatParams</a></code> <code><a href="newParams.html">newZINBParams</a></code> </p>
+            <p><code><a href="newParams.html">newBASiCSParams</a></code> <code><a href="newParams.html">newLun2Params</a></code> <code><a href="newParams.html">newLunParams</a></code> <code><a href="newParams.html">newMFAParams</a></code> <code><a href="newParams.html">newPhenoParams</a></code> <code><a href="newParams.html">newSCDDParams</a></code> <code><a href="newParams.html">newSimpleParams</a></code> <code><a href="newParams.html">newSparseDCParams</a></code> <code><a href="newParams.html">newSplatParams</a></code> <code><a href="newParams.html">newZINBParams</a></code> </p>
           </td>
           <td><p>New Params</p></td>
         </tr><tr>
@@ -203,6 +203,12 @@
             <p><code><a href="SplatParams.html">SplatParams</a></code> </p>
           </td>
           <td><p>The SplatParams class</p></td>
+        </tr><tr>
+          <!--  -->
+          <td>
+            <p><code><a href="SparseDCParams.html">SparseDCParams</a></code> </p>
+          </td>
+          <td><p>The SparseDCParams class</p></td>
         </tr><tr>
           <!--  -->
           <td>
@@ -295,6 +301,12 @@
             <p><code><a href="splatEstOutlier.html">splatEstOutlier</a></code> </p>
           </td>
           <td><p>Estimate Splat expression outlier parameters</p></td>
+        </tr><tr>
+          <!--  -->
+          <td>
+            <p><code><a href="sparseDCEstimate.html">sparseDCEstimate</a></code> </p>
+          </td>
+          <td><p>Estimate SparseDC simulation parameters</p></td>
         </tr><tr>
           <!--  -->
           <td>
@@ -336,9 +348,9 @@
         </tr><tr>
           <!--  -->
           <td>
-            <p><code><a href="phenoEstimate.html">phenoEstimate</a></code> </p>
+            <p><code><a href="phenoSimulate.html">phenoSimulate</a></code> </p>
           </td>
-          <td><p>Estimate PhenoPath simulation parameters</p></td>
+          <td><p>PhenoPath simulation</p></td>
         </tr><tr>
           <!--  -->
           <td>
@@ -411,6 +423,12 @@
             <p><code><a href="splatSimulate.html">splatSimulate</a></code> <code><a href="splatSimulate.html">splatSimulateSingle</a></code> <code><a href="splatSimulate.html">splatSimulateGroups</a></code> <code><a href="splatSimulate.html">splatSimulatePaths</a></code> </p>
           </td>
           <td><p>Splat simulation</p></td>
+        </tr><tr>
+          <!--  -->
+          <td>
+            <p><code><a href="sparseDCSimulate.html">sparseDCSimulate</a></code> </p>
+          </td>
+          <td><p>SparseDC simulation</p></td>
         </tr><tr>
           <!--  -->
           <td>
@@ -543,12 +561,24 @@
             <p><code><a href="setParamUnchecked.html">setParamUnchecked</a></code> </p>
           </td>
           <td><p>Set a parameter UNCHECKED</p></td>
+        </tr><tr>
+          <!--  -->
+          <td>
+            <p><code><a href="showDFs.html">showDFs</a></code> </p>
+          </td>
+          <td><p>Show data.frame</p></td>
         </tr><tr>
           <!--  -->
           <td>
             <p><code><a href="showPP.html">showPP</a></code> </p>
           </td>
           <td><p>Show pretty print</p></td>
+        </tr><tr>
+          <!--  -->
+          <td>
+            <p><code><a href="showValues.html">showValues</a></code> </p>
+          </td>
+          <td><p>Show vales</p></td>
         </tr><tr>
           <!--  -->
           <td>
@@ -580,7 +610,7 @@
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/listSims.html b/docs/reference/listSims.html
index 2393fa095adb1e6eaa7eae4f68698a8810abf187..df9e49eb61506eef825880d258b5ef5db44f9d2e 100644
--- a/docs/reference/listSims.html
+++ b/docs/reference/listSims.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -124,7 +124,7 @@ displayed.</p>
     
 
     <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2>
-    <pre class="examples"><div class='input'><span class='fu'>listSims</span>()</div><div class='output co'>#&gt; Splatter currently contains 12 simulations 
+    <pre class="examples"><div class='input'><span class='fu'>listSims</span>()</div><div class='output co'>#&gt; Splatter currently contains 13 simulations 
 #&gt; 
 #&gt; Splat (splat) 
 #&gt; DOI: 10.1186/s13059-017-1305-0 	 GitHub: Oshlack/splatter 
@@ -173,6 +173,10 @@ displayed.</p>
 #&gt; ZINB-WaVE (zinb) 
 #&gt; DOI: 10.1101/125112 	 GitHub: drisso/zinbwave 
 #&gt; The ZINB-WaVE simulation simulates counts from a sophisticated zero-inflated negative-binomial distribution including cell and gene-level covariates. 
+#&gt; 
+#&gt; SparseDC (sparseDC) 
+#&gt; DOI: 10.1093/nar/gkx1113 	 GitHub: cran/SparseDC 
+#&gt; The SparseDC simulation simulates a set of clusters across two conditions, where some clusters may be present in only one condition. 
 #&gt; </div></pre>
   </div>
   <div class="col-md-3 hidden-xs hidden-sm" id="sidebar">
@@ -194,7 +198,7 @@ displayed.</p>
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/logistic.html b/docs/reference/logistic.html
index 5f8cce0465cda42b03d3d6ed61e9f49d5c924853..c599ed5b8848e61f993a2cfa427c8a589e8a019c 100644
--- a/docs/reference/logistic.html
+++ b/docs/reference/logistic.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -147,7 +147,7 @@
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/lun2Estimate.html b/docs/reference/lun2Estimate.html
index 981a52b6ac4c56dfcd1225dba9d2fb704891fdb6..0e3a98599e128068c870487799cc385d9b9d1a71 100644
--- a/docs/reference/lun2Estimate.html
+++ b/docs/reference/lun2Estimate.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -144,9 +144,9 @@ the data.</p></td>
     </tr>
     <tr>
       <th>BPPARAM</th>
-      <td><p>A <code><a href='http://www.rdocumentation.org/packages/BiocParallel/topics/BiocParallelParam-class'>BiocParallelParam</a></code> instance
-giving the parallel back-end to be used. Default is
-<code><a href='http://www.rdocumentation.org/packages/BiocParallel/topics/SerialParam-class'>SerialParam</a></code> which uses a single core.</p></td>
+      <td><p>A <code>BiocParallelParam</code> instance giving the parallel
+back-end to be used. Default is <code>SerialParam</code> which uses a
+single core.</p></td>
     </tr>
     </table>
     
@@ -161,8 +161,11 @@ giving the parallel back-end to be used. Default is
 
     <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2>
     <pre class="examples"><span class='co'># NOT RUN {</span>
+<span class='co'># Load example data</span>
+<span class='fu'>library</span>(<span class='no'>scater</span>)
 <span class='fu'>data</span>(<span class='st'>"sc_example_counts"</span>)
 <span class='fu'>data</span>(<span class='st'>"sc_example_cell_info"</span>)
+
 <span class='no'>plates</span> <span class='kw'>&lt;-</span> <span class='fu'>factor</span>(<span class='no'>sc_example_cell_info</span>$<span class='no'>Mutation_Status</span>)
 <span class='no'>params</span> <span class='kw'>&lt;-</span> <span class='fu'>lun2Estimate</span>(<span class='no'>sc_example_counts</span>, <span class='no'>plates</span>, <span class='kw'>min.size</span> <span class='kw'>=</span> <span class='fl'>20</span>)
 <span class='no'>params</span>
@@ -189,7 +192,7 @@ giving the parallel back-end to be used. Default is
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/lun2Simulate.html b/docs/reference/lun2Simulate.html
index b4caa06e495f89049b38e68256c146e8484b6120..5efaca28755ef77fd6759e259d465502508b3219 100644
--- a/docs/reference/lun2Simulate.html
+++ b/docs/reference/lun2Simulate.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -185,7 +185,7 @@ expression analyses of single-cell RNA-seq data. Biostatistics (2017).</p>
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/lunEstimate.html b/docs/reference/lunEstimate.html
index d616dc41eca3b506b56ed44d6a7d2c4e0b58bdac..576cfe236bf9a12337046ecd3d042094b97e46ee 100644
--- a/docs/reference/lunEstimate.html
+++ b/docs/reference/lunEstimate.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -139,32 +139,35 @@ for more details on the parameters.</p>
     
 
     <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2>
-    <pre class="examples"><div class='input'><span class='fu'>data</span>(<span class='st'>"sc_example_counts"</span>)
+    <pre class="examples"><div class='input'><span class='co'># Load example data</span>
+<span class='fu'>library</span>(<span class='no'>scater</span>)
+<span class='fu'>data</span>(<span class='st'>"sc_example_counts"</span>)
+
 <span class='no'>params</span> <span class='kw'>&lt;-</span> <span class='fu'>lunEstimate</span>(<span class='no'>sc_example_counts</span>)
 <span class='no'>params</span></div><div class='output co'>#&gt; A Params object of class LunParams 
-#&gt; Parameters can be (estimable) or [not estimable], 'Default' or 'NOT DEFAULT'. 
+#&gt; Parameters can be (estimable) or [not estimable], 'Default' or  'NOT DEFAULT' 
 #&gt; 
 #&gt; Global: 
-#&gt; (GENES)  (CELLS)   [Seed]  
-#&gt;    2000       40   736969  
+#&gt; (GENES)  (CELLS)   [Seed] 
+#&gt;    2000       40   171612 
 #&gt; 
 #&gt; 9 additional parameters 
 #&gt; 
 #&gt; Mean: 
-#&gt;  [Rate]  [Shape]  
-#&gt;       2        2  
+#&gt;  [Rate]  [Shape] 
+#&gt;       2        2 
 #&gt; 
 #&gt; Counts: 
-#&gt; [Dispersion]  
-#&gt;          0.1  
+#&gt; [Dispersion] 
+#&gt;          0.1 
 #&gt; 
 #&gt; Groups: 
-#&gt;      [Groups]  [GROUP CELLS]  
-#&gt;             1             40  
+#&gt;      [GROUPS]  [GROUP CELLS] 
+#&gt;             1             40 
 #&gt; 
 #&gt; Diff expr: 
-#&gt;   [Genes]  [Up Prop]    [Up FC]  [Down FC]  
-#&gt;      1000        0.5          5          0  
+#&gt;   [Genes]  [Up Prop]    [Up FC]  [Down FC] 
+#&gt;      1000        0.5          5          0 
 #&gt; </div></pre>
   </div>
   <div class="col-md-3 hidden-xs hidden-sm" id="sidebar">
@@ -188,7 +191,7 @@ for more details on the parameters.</p>
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/lunSimulate.html b/docs/reference/lunSimulate.html
index 31bd82a4d9e1a77d385931ac948c4b4f0b203d45..84ca3dea19be4b33ed29f7e0f7d8c3a79d38462a 100644
--- a/docs/reference/lunSimulate.html
+++ b/docs/reference/lunSimulate.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -177,7 +177,7 @@ RNA sequencing data with many zero counts. Genome Biology (2016).</p>
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/makeCompPanel.html b/docs/reference/makeCompPanel.html
index 952d7e03ae0fa742e966137455968c5a238f335d..b0184c32a219c0b2a11ab486cd3e0730bc9674a2 100644
--- a/docs/reference/makeCompPanel.html
+++ b/docs/reference/makeCompPanel.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -159,7 +159,7 @@
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/makeDiffPanel.html b/docs/reference/makeDiffPanel.html
index 91a4c2ecf2af1fea4bfafd7d2375870fc006cfbe..cfabb097a54c05571ccc1ab21f2101d40f3bcbc0 100644
--- a/docs/reference/makeDiffPanel.html
+++ b/docs/reference/makeDiffPanel.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -159,7 +159,7 @@
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/makeOverallPanel.html b/docs/reference/makeOverallPanel.html
index 78c41a557bd16aaf909c25a023c2fe4f491356b8..09aab89a32d8366e0aef790cad52c96a45f018b0 100644
--- a/docs/reference/makeOverallPanel.html
+++ b/docs/reference/makeOverallPanel.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -141,8 +141,8 @@ single panel.</p>
     <pre class="examples"><span class='co'># NOT RUN {</span>
 <span class='no'>sim1</span> <span class='kw'>&lt;-</span> <span class='fu'><a href='splatSimulate.html'>splatSimulate</a></span>(<span class='kw'>nGenes</span> <span class='kw'>=</span> <span class='fl'>1000</span>, <span class='kw'>batchCells</span> <span class='kw'>=</span> <span class='fl'>20</span>)
 <span class='no'>sim2</span> <span class='kw'>&lt;-</span> <span class='fu'><a href='simpleSimulate.html'>simpleSimulate</a></span>(<span class='kw'>nGenes</span> <span class='kw'>=</span> <span class='fl'>1000</span>, <span class='kw'>nCells</span> <span class='kw'>=</span> <span class='fl'>20</span>)
-<span class='no'>comparison</span> <span class='kw'>&lt;-</span> <span class='fu'>compSCESets</span>(<span class='fu'>list</span>(<span class='kw'>Splat</span> <span class='kw'>=</span> <span class='no'>sim1</span>, <span class='kw'>Simple</span> <span class='kw'>=</span> <span class='no'>sim2</span>))
-<span class='no'>difference</span> <span class='kw'>&lt;-</span> <span class='fu'>diffSCESets</span>(<span class='fu'>list</span>(<span class='kw'>Splat</span> <span class='kw'>=</span> <span class='no'>sim1</span>, <span class='kw'>Simple</span> <span class='kw'>=</span> <span class='no'>sim2</span>), <span class='kw'>ref</span> <span class='kw'>=</span> <span class='st'>"Simple"</span>)
+<span class='no'>comparison</span> <span class='kw'>&lt;-</span> <span class='fu'>compSCEs</span>(<span class='fu'>list</span>(<span class='kw'>Splat</span> <span class='kw'>=</span> <span class='no'>sim1</span>, <span class='kw'>Simple</span> <span class='kw'>=</span> <span class='no'>sim2</span>))
+<span class='no'>difference</span> <span class='kw'>&lt;-</span> <span class='fu'><a href='diffSCEs.html'>diffSCEs</a></span>(<span class='fu'>list</span>(<span class='kw'>Splat</span> <span class='kw'>=</span> <span class='no'>sim1</span>, <span class='kw'>Simple</span> <span class='kw'>=</span> <span class='no'>sim2</span>), <span class='kw'>ref</span> <span class='kw'>=</span> <span class='st'>"Simple"</span>)
 <span class='no'>panel</span> <span class='kw'>&lt;-</span> <span class='fu'>makeOverallPanel</span>(<span class='no'>comparison</span>, <span class='no'>difference</span>)
 <span class='co'># }</span><div class='input'>
 </div></pre>
@@ -166,7 +166,7 @@ single panel.</p>
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/mfaEstimate.html b/docs/reference/mfaEstimate.html
index b43414b65a219a848445f1e94afefd0396f2d7f2..eba1a78adae4f72467ca47276ca1f1d551eb706e 100644
--- a/docs/reference/mfaEstimate.html
+++ b/docs/reference/mfaEstimate.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -140,28 +140,31 @@ details on the parameters.</p>
     
 
     <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2>
-    <pre class="examples"><div class='input'><span class='fu'>data</span>(<span class='st'>"sc_example_counts"</span>)
+    <pre class="examples"><div class='input'><span class='co'># Load example data</span>
+<span class='fu'>library</span>(<span class='no'>scater</span>)
+<span class='fu'>data</span>(<span class='st'>"sc_example_counts"</span>)
+
 <span class='no'>params</span> <span class='kw'>&lt;-</span> <span class='fu'>mfaEstimate</span>(<span class='no'>sc_example_counts</span>)
 <span class='no'>params</span></div><div class='output co'>#&gt; A Params object of class MFAParams 
-#&gt; Parameters can be (estimable) or [not estimable], 'Default' or 'NOT DEFAULT'. 
+#&gt; Parameters can be (estimable) or [not estimable], 'Default' or  'NOT DEFAULT' 
 #&gt; 
 #&gt; Global: 
-#&gt; (GENES)  (CELLS)   [Seed]  
-#&gt;    2000       40   736969  
+#&gt; (GENES)  (CELLS)   [Seed] 
+#&gt;    2000       40   171612 
 #&gt; 
 #&gt; 4 additional parameters 
 #&gt; 
 #&gt; Transient: 
-#&gt; [Proportion]  
-#&gt;            0  
+#&gt; [Proportion] 
+#&gt;            0 
 #&gt; 
 #&gt; Negative: 
-#&gt; [Zero]  
-#&gt;   TRUE  
+#&gt; [Zero] 
+#&gt;   TRUE 
 #&gt; 
 #&gt; Dropout: 
-#&gt;           [Present]             (LAMBDA)  
-#&gt;               FALSE  0.00352186231063193  
+#&gt;           [Present]             (LAMBDA) 
+#&gt;               FALSE  0.00352186231063193 
 #&gt; </div></pre>
   </div>
   <div class="col-md-3 hidden-xs hidden-sm" id="sidebar">
@@ -185,7 +188,7 @@ details on the parameters.</p>
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/mfaSimulate.html b/docs/reference/mfaSimulate.html
index f0365d753ec6394242e02404a28ab09a3f01f52c..2ae55715e72e997799799e0ce24ed991b5635637 100644
--- a/docs/reference/mfaSimulate.html
+++ b/docs/reference/mfaSimulate.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -173,7 +173,7 @@ Open Research (2017).</p>
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/newParams.html b/docs/reference/newParams.html
index 251cb3170c7793aade3520a787c2c3411b4acf52..8ca19cd443bb4c4b896bb06cc2006544aafc1325 100644
--- a/docs/reference/newParams.html
+++ b/docs/reference/newParams.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -120,6 +120,8 @@ Params subtypes.</p>
 
 <span class='fu'>newSimpleParams</span>(<span class='no'>...</span>)
 
+<span class='fu'>newSparseDCParams</span>(<span class='no'>...</span>)
+
 <span class='fu'>newSplatParams</span>(<span class='no'>...</span>)
 
 <span class='fu'>newZINBParams</span>(<span class='no'>...</span>)</pre>
@@ -161,7 +163,7 @@ Params subtypes.</p>
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/phenoEstimate.html b/docs/reference/phenoEstimate.html
index 97e7ff6a611b1e15d97df595839dc584064b0029..5e0282edc3d79577126d21153ac1d69929dfc0a7 100644
--- a/docs/reference/phenoEstimate.html
+++ b/docs/reference/phenoEstimate.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -141,20 +141,23 @@ See <code><a href='PhenoParams.html'>PhenoParams</a></code> for more details on
     
 
     <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2>
-    <pre class="examples"><div class='input'><span class='fu'>data</span>(<span class='st'>"sc_example_counts"</span>)
+    <pre class="examples"><div class='input'><span class='co'># Load example data</span>
+<span class='fu'>library</span>(<span class='no'>scater</span>)
+<span class='fu'>data</span>(<span class='st'>"sc_example_counts"</span>)
+
 <span class='no'>params</span> <span class='kw'>&lt;-</span> <span class='fu'>phenoEstimate</span>(<span class='no'>sc_example_counts</span>)
 <span class='no'>params</span></div><div class='output co'>#&gt; A Params object of class PhenoParams 
-#&gt; Parameters can be (estimable) or [not estimable], 'Default' or 'NOT DEFAULT'. 
+#&gt; Parameters can be (estimable) or [not estimable], 'Default' or  'NOT DEFAULT' 
 #&gt; 
 #&gt; Global: 
-#&gt; (GENES)  (CELLS)   [Seed]  
-#&gt;    2000       40   736969  
+#&gt; (GENES)  (CELLS)   [Seed] 
+#&gt;    2000       40   171612 
 #&gt; 
 #&gt; 4 additional parameters 
 #&gt; 
 #&gt; Genes: 
-#&gt;              [DE]              [PST]       [PST + BETA]  [DE + PST + BETA]  
-#&gt;               500                500                500                500  
+#&gt;              [DE]              [PST]       [PST + BETA]  [DE + PST + BETA] 
+#&gt;               500                500                500                500 
 #&gt; </div></pre>
   </div>
   <div class="col-md-3 hidden-xs hidden-sm" id="sidebar">
@@ -178,7 +181,7 @@ See <code><a href='PhenoParams.html'>PhenoParams</a></code> for more details on
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/phenoSimulate.html b/docs/reference/phenoSimulate.html
index 1d84c2c4e049e029cefe5fc5ec6829f553cf4d12..1ed90a231f3802cce94d90af937b9e92176d34de 100644
--- a/docs/reference/phenoSimulate.html
+++ b/docs/reference/phenoSimulate.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -136,7 +136,7 @@
 <code><a href='PhenoParams.html'>PhenoParams</a></code>, runs the simulation then converts the
 output from log-expression to counts and returns a
 <code><a href='http://www.rdocumentation.org/packages/SingleCellExperiment/topics/SingleCellExperiment'>SingleCellExperiment</a></code> object. The original
-simulated log-expression values are returned in the <code>LogExprs</code> asssay.
+simulated log-expression values are returned in the <code>LogExprs</code> assay.
 See <code><a href='http://www.rdocumentation.org/packages/phenopath/topics/simulate_phenopath'>simulate_phenopath</a></code> and the PhenoPath paper for
 more details about how the simulation works.</p>
     
@@ -176,7 +176,7 @@ and environmental backgrounds across single-cells and populations. bioRxiv
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/rbindMatched.html b/docs/reference/rbindMatched.html
index f7064fb599c626583b0b12a342f1b52fb93b0176..d88500a9c0d2819ad1c3b1274b0af4719331d59c 100644
--- a/docs/reference/rbindMatched.html
+++ b/docs/reference/rbindMatched.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -145,7 +145,7 @@ to both.</p>
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/scDDEstimate.html b/docs/reference/scDDEstimate.html
index 19ec722e1ad62bedf9456f9952e507c87b8d4f66..a5b2409a2653605f36dd3a39865a8ae467f49782 100644
--- a/docs/reference/scDDEstimate.html
+++ b/docs/reference/scDDEstimate.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -138,9 +138,9 @@ containing count data to estimate parameters from.</p></td>
     </tr>
     <tr>
       <th>BPPARAM</th>
-      <td><p>A <code><a href='http://www.rdocumentation.org/packages/BiocParallel/topics/BiocParallelParam-class'>BiocParallelParam</a></code> instance
-giving the parallel back-end to be used. Default is
-<code><a href='http://www.rdocumentation.org/packages/BiocParallel/topics/SerialParam-class'>SerialParam</a></code> which uses a single core.</p></td>
+      <td><p>A <code>BiocParallelParam</code> instance giving the parallel
+back-end to be used. Default is <code>SerialParam</code> which uses a
+single core.</p></td>
     </tr>
     <tr>
       <th>...</th>
@@ -172,9 +172,12 @@ simulate. The output is then converted to a SCDDParams object. See
 
     <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2>
     <pre class="examples"><span class='co'># NOT RUN {</span>
+<span class='co'># Load example data</span>
+<span class='fu'>library</span>(<span class='no'>scater</span>)
 <span class='fu'>data</span>(<span class='st'>"sc_example_counts"</span>)
+
 <span class='no'>conditions</span> <span class='kw'>&lt;-</span> <span class='fu'>sample</span>(<span class='fl'>1</span>:<span class='fl'>2</span>, <span class='fu'>ncol</span>(<span class='no'>sc_example_counts</span>), <span class='kw'>replace</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>)
-<span class='no'>params</span> <span class='kw'>&lt;-</span> <span class='fu'>scDDEstimate</span>(<span class='no'>sc_example_counts</span>, <span class='no'>conditions</span>)
+<span class='no'>params</span> <span class='kw'>&lt;-</span> <span class='fu'>scDDEstimate</span>(<span class='no'>sc_example_counts</span>, <span class='kw'>conditions</span> <span class='kw'>=</span> <span class='no'>conditions</span>)
 <span class='no'>params</span>
 <span class='co'># }</span></pre>
   </div>
@@ -199,7 +202,7 @@ simulate. The output is then converted to a SCDDParams object. See
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/scDDSimulate.html b/docs/reference/scDDSimulate.html
index 397d4b5a9be488614c20e026080bb59adc9dee3c..c188de988e69e6344630afec446c4e85e4a06bb6 100644
--- a/docs/reference/scDDSimulate.html
+++ b/docs/reference/scDDSimulate.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -130,9 +130,9 @@ plots.</p></td>
     </tr>
     <tr>
       <th>BPPARAM</th>
-      <td><p>A <code><a href='http://www.rdocumentation.org/packages/BiocParallel/topics/BiocParallelParam-class'>BiocParallelParam</a></code> instance
-giving the parallel back-end to be used. Default is
-<code><a href='http://www.rdocumentation.org/packages/BiocParallel/topics/SerialParam-class'>SerialParam</a></code> which uses a single core.</p></td>
+      <td><p>A <code>BiocParallelParam</code> instance giving the parallel
+back-end to be used. Default is <code>SerialParam</code> which uses a
+single core.</p></td>
     </tr>
     <tr>
       <th>...</th>
@@ -190,7 +190,7 @@ single-cell RNA-seq experiments. Genome Biology (2016).</p>
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/setParam.html b/docs/reference/setParam.html
index d8975e913a431d10446f27806a522837fa53aa8c..25667556cb6f92e6f8c58b279a5fd65f082b515a 100644
--- a/docs/reference/setParam.html
+++ b/docs/reference/setParam.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -156,21 +156,21 @@
     <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2>
     <pre class="examples"><div class='input'><span class='no'>params</span> <span class='kw'>&lt;-</span> <span class='fu'><a href='newParams.html'>newSimpleParams</a></span>()
 <span class='fu'>setParam</span>(<span class='no'>params</span>, <span class='st'>"nGenes"</span>, <span class='fl'>100</span>)</div><div class='output co'>#&gt; A Params object of class SimpleParams 
-#&gt; Parameters can be (estimable) or [not estimable], 'Default' or 'NOT DEFAULT'. 
+#&gt; Parameters can be (estimable) or [not estimable], 'Default' or  'NOT DEFAULT' 
 #&gt; 
 #&gt; Global: 
-#&gt; (GENES)  (Cells)   [Seed]  
-#&gt;     100      100   736969  
+#&gt; (GENES)  (Cells)   [Seed] 
+#&gt;     100      100   171612 
 #&gt; 
 #&gt; 3 additional parameters 
 #&gt; 
 #&gt; Mean: 
-#&gt;  (Rate)  (Shape)  
-#&gt;     0.3      0.4  
+#&gt;  (Rate)  (Shape) 
+#&gt;     0.3      0.4 
 #&gt; 
 #&gt; Counts: 
-#&gt; [Dispersion]  
-#&gt;          0.1  
+#&gt; [Dispersion] 
+#&gt;          0.1 
 #&gt; </div><div class='input'>
 </div></pre>
   </div>
@@ -193,7 +193,7 @@
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/setParamUnchecked.html b/docs/reference/setParamUnchecked.html
index c17d16d083f34929258668732830b0be74dabd5f..eb023a41d84931337a7e8da49074f22604b2ae34 100644
--- a/docs/reference/setParamUnchecked.html
+++ b/docs/reference/setParamUnchecked.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -151,7 +151,7 @@ VALIDITY!</p>
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/setParams.html b/docs/reference/setParams.html
index 72d6c08ee1b49d80cc593c4ebb0fd8cfad2e8a93..9eaa5750b684b6d2a0e0bd00c6bf14fe39e568ac 100644
--- a/docs/reference/setParams.html
+++ b/docs/reference/setParams.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -142,57 +142,57 @@ them manually), see examples.</p>
     <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2>
     <pre class="examples"><div class='input'><span class='no'>params</span> <span class='kw'>&lt;-</span> <span class='fu'><a href='newParams.html'>newSimpleParams</a></span>()
 <span class='no'>params</span></div><div class='output co'>#&gt; A Params object of class SimpleParams 
-#&gt; Parameters can be (estimable) or [not estimable], 'Default' or 'NOT DEFAULT'. 
+#&gt; Parameters can be (estimable) or [not estimable], 'Default' or  'NOT DEFAULT' 
 #&gt; 
 #&gt; Global: 
-#&gt; (Genes)  (Cells)   [Seed]  
-#&gt;   10000      100   736969  
+#&gt; (Genes)  (Cells)   [Seed] 
+#&gt;   10000      100   171612 
 #&gt; 
 #&gt; 3 additional parameters 
 #&gt; 
 #&gt; Mean: 
-#&gt;  (Rate)  (Shape)  
-#&gt;     0.3      0.4  
+#&gt;  (Rate)  (Shape) 
+#&gt;     0.3      0.4 
 #&gt; 
 #&gt; Counts: 
-#&gt; [Dispersion]  
-#&gt;          0.1  
+#&gt; [Dispersion] 
+#&gt;          0.1 
 #&gt; </div><div class='input'><span class='co'># Set individually</span>
 <span class='no'>params</span> <span class='kw'>&lt;-</span> <span class='fu'>setParams</span>(<span class='no'>params</span>, <span class='kw'>nGenes</span> <span class='kw'>=</span> <span class='fl'>1000</span>, <span class='kw'>nCells</span> <span class='kw'>=</span> <span class='fl'>50</span>)
 <span class='no'>params</span></div><div class='output co'>#&gt; A Params object of class SimpleParams 
-#&gt; Parameters can be (estimable) or [not estimable], 'Default' or 'NOT DEFAULT'. 
+#&gt; Parameters can be (estimable) or [not estimable], 'Default' or  'NOT DEFAULT' 
 #&gt; 
 #&gt; Global: 
-#&gt; (GENES)  (CELLS)   [Seed]  
-#&gt;    1000       50   736969  
+#&gt; (GENES)  (CELLS)   [Seed] 
+#&gt;    1000       50   171612 
 #&gt; 
 #&gt; 3 additional parameters 
 #&gt; 
 #&gt; Mean: 
-#&gt;  (Rate)  (Shape)  
-#&gt;     0.3      0.4  
+#&gt;  (Rate)  (Shape) 
+#&gt;     0.3      0.4 
 #&gt; 
 #&gt; Counts: 
-#&gt; [Dispersion]  
-#&gt;          0.1  
+#&gt; [Dispersion] 
+#&gt;          0.1 
 #&gt; </div><div class='input'><span class='co'># Set via update list</span>
 <span class='no'>params</span> <span class='kw'>&lt;-</span> <span class='fu'>setParams</span>(<span class='no'>params</span>, <span class='fu'>list</span>(<span class='kw'>mean.rate</span> <span class='kw'>=</span> <span class='fl'>0.2</span>, <span class='kw'>mean.shape</span> <span class='kw'>=</span> <span class='fl'>0.8</span>))
 <span class='no'>params</span></div><div class='output co'>#&gt; A Params object of class SimpleParams 
-#&gt; Parameters can be (estimable) or [not estimable], 'Default' or 'NOT DEFAULT'. 
+#&gt; Parameters can be (estimable) or [not estimable], 'Default' or  'NOT DEFAULT' 
 #&gt; 
 #&gt; Global: 
-#&gt; (GENES)  (CELLS)   [Seed]  
-#&gt;    1000       50   736969  
+#&gt; (GENES)  (CELLS)   [Seed] 
+#&gt;    1000       50   171612 
 #&gt; 
 #&gt; 3 additional parameters 
 #&gt; 
 #&gt; Mean: 
-#&gt;  (RATE)  (SHAPE)  
-#&gt;     0.2      0.8  
+#&gt;  (RATE)  (SHAPE) 
+#&gt;     0.2      0.8 
 #&gt; 
 #&gt; Counts: 
-#&gt; [Dispersion]  
-#&gt;          0.1  
+#&gt; [Dispersion] 
+#&gt;          0.1 
 #&gt; </div></pre>
   </div>
   <div class="col-md-3 hidden-xs hidden-sm" id="sidebar">
@@ -216,7 +216,7 @@ them manually), see examples.</p>
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/setParamsUnchecked.html b/docs/reference/setParamsUnchecked.html
index e88d82d34519ce01667ca4b8ee58acd6e2e06bd0..0d7ea93cf90280470ee7d87457327fe90ff3ba9c 100644
--- a/docs/reference/setParamsUnchecked.html
+++ b/docs/reference/setParamsUnchecked.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -159,7 +159,7 @@ them manually), see examples. THE FINAL OBJECT IS NOT CHECKED FOR VALIDITY!</p>
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/showDFs.html b/docs/reference/showDFs.html
new file mode 100644
index 0000000000000000000000000000000000000000..f913211b171ef1ad74511347e01fc54c35ae1879
--- /dev/null
+++ b/docs/reference/showDFs.html
@@ -0,0 +1,147 @@
+<!-- Generated by pkgdown: do not edit by hand -->
+<!DOCTYPE html>
+<html>
+  <head>
+  <meta charset="utf-8">
+<meta http-equiv="X-UA-Compatible" content="IE=edge">
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+<title>Show data.frame — showDFs • Splatter</title>
+
+<!-- jquery -->
+<script src="https://code.jquery.com/jquery-3.1.0.min.js" integrity="sha384-nrOSfDHtoPMzJHjVTdCopGqIqeYETSXhZDFyniQ8ZHcVy08QesyHcnOUpMpqnmWq" crossorigin="anonymous"></script>
+<!-- Bootstrap -->
+<link href="https://maxcdn.bootstrapcdn.com/bootswatch/3.3.7/cosmo/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous">
+
+<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
+
+<!-- Font Awesome icons -->
+<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-T8Gy5hrqNKT+hzMclPo118YTQO6cYprQmhrYwIiQ/3axmI1hQomh7Ud2hPOy8SP1" crossorigin="anonymous">
+
+
+<!-- pkgdown -->
+<link href="../pkgdown.css" rel="stylesheet">
+<script src="../jquery.sticky-kit.min.js"></script>
+<script src="../pkgdown.js"></script>
+  <link href="../extra.css" rel="stylesheet">
+  
+<!-- mathjax -->
+<script src='https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML'></script>
+
+<!--[if lt IE 9]>
+<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
+<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
+<![endif]-->
+
+
+<!-- Google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-52309538-4', 'auto');
+  ga('send', 'pageview');
+
+</script>
+
+  </head>
+
+  <body>
+    <div class="container template-reference-topic">
+      <header>
+      <div class="navbar navbar-default navbar-fixed-top" role="navigation">
+  <div class="container">
+    <div class="navbar-header">
+      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar">
+        <span class="icon-bar"></span>
+        <span class="icon-bar"></span>
+        <span class="icon-bar"></span>
+      </button>
+      <a class="navbar-brand" href="../index.html">splatter</a>
+    </div>
+    <div id="navbar" class="navbar-collapse collapse">
+      <ul class="nav navbar-nav">
+        <li>
+  <a href="../index.html">
+    <span class="fa fa-home fa-lg"></span>
+     
+  </a>
+</li>
+<li>
+  <a href="../articles/splatter.html">Get Started</a>
+</li>
+<li>
+  <a href="../reference/index.html">Reference</a>
+</li>
+<li>
+  <a href="../news/index.html">News</a>
+</li>
+      </ul>
+      
+      <ul class="nav navbar-nav navbar-right">
+        <li>
+  <a href="https://github.com/Oshlack/splatter">
+    <span class="fa fa-github fa-lg"></span>
+     
+  </a>
+</li>
+      </ul>
+    </div><!--/.nav-collapse -->
+  </div><!--/.container -->
+</div><!--/.navbar -->
+
+      
+      </header>
+
+      <div class="row">
+  <div class="col-md-9 contents">
+    <div class="page-header">
+    <h1>Show data.frame</h1>
+    </div>
+
+    
+    <p>Function used for pretty printing data.frame parameters.</p>
+    
+
+    <pre class="usage"><span class='fu'>showDFs</span>(<span class='no'>dfs</span>, <span class='no'>not.default</span>)</pre>
+    
+    <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a> Arguments</h2>
+    <table class="ref-arguments">
+    <colgroup><col class="name" /><col class="desc" /></colgroup>
+    <tr>
+      <th>dfs</th>
+      <td><p>list of data.frames to show.</p></td>
+    </tr>
+    <tr>
+      <th>not.default</th>
+      <td><p>logical vector giving which have changed from the default.</p></td>
+    </tr>
+    </table>
+    
+
+  </div>
+  <div class="col-md-3 hidden-xs hidden-sm" id="sidebar">
+    <h2>Contents</h2>
+    <ul class="nav nav-pills nav-stacked">
+      <li><a href="#arguments">Arguments</a></li>
+                </ul>
+
+  </div>
+</div>
+
+      <footer>
+      <div class="copyright">
+  <p>Developed by Luke Zappia, Belinda Phipson, Alicia Oshlack.</p>
+</div>
+
+<div class="pkgdown">
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
+</div>
+
+      </footer>
+   </div>
+
+  </body>
+</html>
diff --git a/docs/reference/showPP.html b/docs/reference/showPP.html
index 9b91e3b80f5367b3b5a12b1f976db75516ecca99..151a11b2f092942dfb59ab8699f94af165cea4f5 100644
--- a/docs/reference/showPP.html
+++ b/docs/reference/showPP.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -143,7 +143,7 @@
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/showValues.html b/docs/reference/showValues.html
new file mode 100644
index 0000000000000000000000000000000000000000..86c0a1e9f4dfa8073c717290534dd99148d06cfa
--- /dev/null
+++ b/docs/reference/showValues.html
@@ -0,0 +1,147 @@
+<!-- Generated by pkgdown: do not edit by hand -->
+<!DOCTYPE html>
+<html>
+  <head>
+  <meta charset="utf-8">
+<meta http-equiv="X-UA-Compatible" content="IE=edge">
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+<title>Show vales — showValues • Splatter</title>
+
+<!-- jquery -->
+<script src="https://code.jquery.com/jquery-3.1.0.min.js" integrity="sha384-nrOSfDHtoPMzJHjVTdCopGqIqeYETSXhZDFyniQ8ZHcVy08QesyHcnOUpMpqnmWq" crossorigin="anonymous"></script>
+<!-- Bootstrap -->
+<link href="https://maxcdn.bootstrapcdn.com/bootswatch/3.3.7/cosmo/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous">
+
+<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
+
+<!-- Font Awesome icons -->
+<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-T8Gy5hrqNKT+hzMclPo118YTQO6cYprQmhrYwIiQ/3axmI1hQomh7Ud2hPOy8SP1" crossorigin="anonymous">
+
+
+<!-- pkgdown -->
+<link href="../pkgdown.css" rel="stylesheet">
+<script src="../jquery.sticky-kit.min.js"></script>
+<script src="../pkgdown.js"></script>
+  <link href="../extra.css" rel="stylesheet">
+  
+<!-- mathjax -->
+<script src='https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML'></script>
+
+<!--[if lt IE 9]>
+<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
+<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
+<![endif]-->
+
+
+<!-- Google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-52309538-4', 'auto');
+  ga('send', 'pageview');
+
+</script>
+
+  </head>
+
+  <body>
+    <div class="container template-reference-topic">
+      <header>
+      <div class="navbar navbar-default navbar-fixed-top" role="navigation">
+  <div class="container">
+    <div class="navbar-header">
+      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar">
+        <span class="icon-bar"></span>
+        <span class="icon-bar"></span>
+        <span class="icon-bar"></span>
+      </button>
+      <a class="navbar-brand" href="../index.html">splatter</a>
+    </div>
+    <div id="navbar" class="navbar-collapse collapse">
+      <ul class="nav navbar-nav">
+        <li>
+  <a href="../index.html">
+    <span class="fa fa-home fa-lg"></span>
+     
+  </a>
+</li>
+<li>
+  <a href="../articles/splatter.html">Get Started</a>
+</li>
+<li>
+  <a href="../reference/index.html">Reference</a>
+</li>
+<li>
+  <a href="../news/index.html">News</a>
+</li>
+      </ul>
+      
+      <ul class="nav navbar-nav navbar-right">
+        <li>
+  <a href="https://github.com/Oshlack/splatter">
+    <span class="fa fa-github fa-lg"></span>
+     
+  </a>
+</li>
+      </ul>
+    </div><!--/.nav-collapse -->
+  </div><!--/.container -->
+</div><!--/.navbar -->
+
+      
+      </header>
+
+      <div class="row">
+  <div class="col-md-9 contents">
+    <div class="page-header">
+    <h1>Show vales</h1>
+    </div>
+
+    
+    <p>Function used for pretty printing scale or vector parameters.</p>
+    
+
+    <pre class="usage"><span class='fu'>showValues</span>(<span class='no'>values</span>, <span class='no'>not.default</span>)</pre>
+    
+    <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a> Arguments</h2>
+    <table class="ref-arguments">
+    <colgroup><col class="name" /><col class="desc" /></colgroup>
+    <tr>
+      <th>values</th>
+      <td><p>list of values to show.</p></td>
+    </tr>
+    <tr>
+      <th>not.default</th>
+      <td><p>logical vector giving which have changed from the default.</p></td>
+    </tr>
+    </table>
+    
+
+  </div>
+  <div class="col-md-3 hidden-xs hidden-sm" id="sidebar">
+    <h2>Contents</h2>
+    <ul class="nav nav-pills nav-stacked">
+      <li><a href="#arguments">Arguments</a></li>
+                </ul>
+
+  </div>
+</div>
+
+      <footer>
+      <div class="copyright">
+  <p>Developed by Luke Zappia, Belinda Phipson, Alicia Oshlack.</p>
+</div>
+
+<div class="pkgdown">
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
+</div>
+
+      </footer>
+   </div>
+
+  </body>
+</html>
diff --git a/docs/reference/simpleEstimate.html b/docs/reference/simpleEstimate.html
index 43fa74cd6854f6647b848f5d544344cdae30b09f..ea463237ea9c02b0e2c9f15b9153804a0e5d1bf8 100644
--- a/docs/reference/simpleEstimate.html
+++ b/docs/reference/simpleEstimate.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -142,24 +142,27 @@ details on the parameters.</p>
     
 
     <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2>
-    <pre class="examples"><div class='input'><span class='fu'>data</span>(<span class='st'>"sc_example_counts"</span>)
+    <pre class="examples"><div class='input'><span class='co'># Load example data</span>
+<span class='fu'>library</span>(<span class='no'>scater</span>)
+<span class='fu'>data</span>(<span class='st'>"sc_example_counts"</span>)
+
 <span class='no'>params</span> <span class='kw'>&lt;-</span> <span class='fu'>simpleEstimate</span>(<span class='no'>sc_example_counts</span>)
 <span class='no'>params</span></div><div class='output co'>#&gt; A Params object of class SimpleParams 
-#&gt; Parameters can be (estimable) or [not estimable], 'Default' or 'NOT DEFAULT'. 
+#&gt; Parameters can be (estimable) or [not estimable], 'Default' or  'NOT DEFAULT' 
 #&gt; 
 #&gt; Global: 
-#&gt; (GENES)  (CELLS)   [Seed]  
-#&gt;    2000       40   736969  
+#&gt; (GENES)  (CELLS)   [Seed] 
+#&gt;    2000       40   171612 
 #&gt; 
 #&gt; 3 additional parameters 
 #&gt; 
 #&gt; Mean: 
-#&gt;             (RATE)             (SHAPE)  
-#&gt; 0.0008052293183292   0.131835949613878  
+#&gt;             (RATE)             (SHAPE) 
+#&gt; 0.0008052293183292   0.131835949613878 
 #&gt; 
 #&gt; Counts: 
-#&gt; [Dispersion]  
-#&gt;          0.1  
+#&gt; [Dispersion] 
+#&gt;          0.1 
 #&gt; </div></pre>
   </div>
   <div class="col-md-3 hidden-xs hidden-sm" id="sidebar">
@@ -183,7 +186,7 @@ details on the parameters.</p>
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/simpleSimulate.html b/docs/reference/simpleSimulate.html
index e96bf35ffcf92fb3721137a2e7c1c313a0e24c6b..cf7047ddfb614ffc48c756324724150a4841c93a 100644
--- a/docs/reference/simpleSimulate.html
+++ b/docs/reference/simpleSimulate.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -164,7 +164,7 @@ details of the parameters.</p>
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/sparseDCEstimate.html b/docs/reference/sparseDCEstimate.html
new file mode 100644
index 0000000000000000000000000000000000000000..82b4ad9304e6613ac4a93a153018b26818b32a26
--- /dev/null
+++ b/docs/reference/sparseDCEstimate.html
@@ -0,0 +1,222 @@
+<!-- Generated by pkgdown: do not edit by hand -->
+<!DOCTYPE html>
+<html>
+  <head>
+  <meta charset="utf-8">
+<meta http-equiv="X-UA-Compatible" content="IE=edge">
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+<title>Estimate SparseDC simulation parameters — sparseDCEstimate • Splatter</title>
+
+<!-- jquery -->
+<script src="https://code.jquery.com/jquery-3.1.0.min.js" integrity="sha384-nrOSfDHtoPMzJHjVTdCopGqIqeYETSXhZDFyniQ8ZHcVy08QesyHcnOUpMpqnmWq" crossorigin="anonymous"></script>
+<!-- Bootstrap -->
+<link href="https://maxcdn.bootstrapcdn.com/bootswatch/3.3.7/cosmo/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous">
+
+<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
+
+<!-- Font Awesome icons -->
+<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-T8Gy5hrqNKT+hzMclPo118YTQO6cYprQmhrYwIiQ/3axmI1hQomh7Ud2hPOy8SP1" crossorigin="anonymous">
+
+
+<!-- pkgdown -->
+<link href="../pkgdown.css" rel="stylesheet">
+<script src="../jquery.sticky-kit.min.js"></script>
+<script src="../pkgdown.js"></script>
+  <link href="../extra.css" rel="stylesheet">
+  
+<!-- mathjax -->
+<script src='https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML'></script>
+
+<!--[if lt IE 9]>
+<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
+<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
+<![endif]-->
+
+
+<!-- Google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-52309538-4', 'auto');
+  ga('send', 'pageview');
+
+</script>
+
+  </head>
+
+  <body>
+    <div class="container template-reference-topic">
+      <header>
+      <div class="navbar navbar-default navbar-fixed-top" role="navigation">
+  <div class="container">
+    <div class="navbar-header">
+      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar">
+        <span class="icon-bar"></span>
+        <span class="icon-bar"></span>
+        <span class="icon-bar"></span>
+      </button>
+      <a class="navbar-brand" href="../index.html">splatter</a>
+    </div>
+    <div id="navbar" class="navbar-collapse collapse">
+      <ul class="nav navbar-nav">
+        <li>
+  <a href="../index.html">
+    <span class="fa fa-home fa-lg"></span>
+     
+  </a>
+</li>
+<li>
+  <a href="../articles/splatter.html">Get Started</a>
+</li>
+<li>
+  <a href="../reference/index.html">Reference</a>
+</li>
+<li>
+  <a href="../news/index.html">News</a>
+</li>
+      </ul>
+      
+      <ul class="nav navbar-nav navbar-right">
+        <li>
+  <a href="https://github.com/Oshlack/splatter">
+    <span class="fa fa-github fa-lg"></span>
+     
+  </a>
+</li>
+      </ul>
+    </div><!--/.nav-collapse -->
+  </div><!--/.container -->
+</div><!--/.navbar -->
+
+      
+      </header>
+
+      <div class="row">
+  <div class="col-md-9 contents">
+    <div class="page-header">
+    <h1>Estimate SparseDC simulation parameters</h1>
+    </div>
+
+    
+    <p>Estimate simulation parameters for the SparseDC simulation from a real
+dataset.</p>
+    
+
+    <pre class="usage"><span class='fu'>sparseDCEstimate</span>(<span class='no'>counts</span>, <span class='no'>conditions</span>, <span class='no'>nclusters</span>, <span class='kw'>norm</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>,
+  <span class='kw'>params</span> <span class='kw'>=</span> <span class='fu'><a href='newParams.html'>newSparseDCParams</a></span>())
+
+<span class='co'># S3 method for SingleCellExperiment</span>
+<span class='fu'>sparseDCEstimate</span>(<span class='no'>counts</span>, <span class='no'>conditions</span>, <span class='no'>nclusters</span>,
+  <span class='kw'>norm</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, <span class='kw'>params</span> <span class='kw'>=</span> <span class='fu'><a href='newParams.html'>newSparseDCParams</a></span>())
+
+<span class='co'># S3 method for matrix</span>
+<span class='fu'>sparseDCEstimate</span>(<span class='no'>counts</span>, <span class='no'>conditions</span>, <span class='no'>nclusters</span>, <span class='kw'>norm</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>,
+  <span class='kw'>params</span> <span class='kw'>=</span> <span class='fu'><a href='newParams.html'>newSparseDCParams</a></span>())</pre>
+    
+    <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a> Arguments</h2>
+    <table class="ref-arguments">
+    <colgroup><col class="name" /><col class="desc" /></colgroup>
+    <tr>
+      <th>counts</th>
+      <td><p>either a counts matrix or an SingleCellExperiment object
+containing count data to estimate parameters from.</p></td>
+    </tr>
+    <tr>
+      <th>conditions</th>
+      <td><p>numeric vector giving the condition each cell belongs to.</p></td>
+    </tr>
+    <tr>
+      <th>nclusters</th>
+      <td><p>number of cluster present in the dataset.</p></td>
+    </tr>
+    <tr>
+      <th>norm</th>
+      <td><p>logical, whether to libray size normalise counts before
+estimation. Set this to FALSE if counts is already normalised.</p></td>
+    </tr>
+    <tr>
+      <th>params</th>
+      <td><p>PhenoParams object to store estimated values in.</p></td>
+    </tr>
+    </table>
+    
+    <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2>
+
+    <p>SparseParams object containing the estimated parameters.</p>
+    
+    <h2 class="hasAnchor" id="details"><a class="anchor" href="#details"></a>Details</h2>
+
+    <p>The <code>nGenes</code> and <code>nCells</code> parameters are taken from the size of the
+input data. The counts are preprocessed using
+<code><a href='http://www.rdocumentation.org/packages/SparseDC/topics/pre_proc_data'>pre_proc_data</a></code> and then parameters are estimated using
+<code><a href='http://www.rdocumentation.org/packages/SparseDC/topics/sparsedc_cluster'>sparsedc_cluster</a></code> using lambda values calculated using
+<code><a href='http://www.rdocumentation.org/packages/SparseDC/topics/lambda1_calculator'>lambda1_calculator</a></code> and
+<code><a href='http://www.rdocumentation.org/packages/SparseDC/topics/lambda2_calculator'>lambda2_calculator</a></code>.</p>
+<p>See <code><a href='SparseDCParams.html'>SparseDCParams</a></code> for more details on the parameters.</p>
+    
+
+    <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2>
+    <pre class="examples"><div class='input'><span class='co'># Load example data</span>
+<span class='fu'>library</span>(<span class='no'>scater</span>)
+<span class='fu'>data</span>(<span class='st'>"sc_example_counts"</span>)
+
+<span class='fu'>set.seed</span>(<span class='fl'>1</span>)
+<span class='no'>conditions</span> <span class='kw'>&lt;-</span> <span class='fu'>sample</span>(<span class='fl'>1</span>:<span class='fl'>2</span>, <span class='fu'>ncol</span>(<span class='no'>sc_example_counts</span>), <span class='kw'>replace</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>)
+
+<span class='no'>params</span> <span class='kw'>&lt;-</span> <span class='fu'>sparseDCEstimate</span>(<span class='no'>sc_example_counts</span>[<span class='fl'>1</span>:<span class='fl'>500</span>, ], <span class='no'>conditions</span>,
+                           <span class='kw'>nclusters</span> <span class='kw'>=</span> <span class='fl'>3</span>)
+<span class='no'>params</span></div><div class='output co'>#&gt; A Params object of class SparseDCParams 
+#&gt; Parameters can be (estimable) or [not estimable], 'Default' or  'NOT DEFAULT' 
+#&gt; 
+#&gt; Global: 
+#&gt; (GENES)  (CELLS)   [Seed] 
+#&gt;     500       20   171612 
+#&gt; 
+#&gt; 7 additional parameters 
+#&gt; 
+#&gt; Markers: 
+#&gt; (NUMBER)  (SHARED)    [Same] 
+#&gt;        1         1     FALSE 
+#&gt; 
+#&gt; Clusters: 
+#&gt; (CONDITION 1)  (CONDITION 2) 
+#&gt;       1, 2, 3        1, 2, 3 
+#&gt; 
+#&gt; Means: 
+#&gt; [Lower]  [Upper] 
+#&gt;       1        2 
+#&gt; </div></pre>
+  </div>
+  <div class="col-md-3 hidden-xs hidden-sm" id="sidebar">
+    <h2>Contents</h2>
+    <ul class="nav nav-pills nav-stacked">
+      <li><a href="#arguments">Arguments</a></li>
+      
+      <li><a href="#value">Value</a></li>
+
+      <li><a href="#details">Details</a></li>
+      
+      <li><a href="#examples">Examples</a></li>
+    </ul>
+
+  </div>
+</div>
+
+      <footer>
+      <div class="copyright">
+  <p>Developed by Luke Zappia, Belinda Phipson, Alicia Oshlack.</p>
+</div>
+
+<div class="pkgdown">
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
+</div>
+
+      </footer>
+   </div>
+
+  </body>
+</html>
diff --git a/docs/reference/sparseDCSimulate.html b/docs/reference/sparseDCSimulate.html
new file mode 100644
index 0000000000000000000000000000000000000000..f7ac26d99dd7119300b7dfa3c67fde7323fe5cd7
--- /dev/null
+++ b/docs/reference/sparseDCSimulate.html
@@ -0,0 +1,188 @@
+<!-- Generated by pkgdown: do not edit by hand -->
+<!DOCTYPE html>
+<html>
+  <head>
+  <meta charset="utf-8">
+<meta http-equiv="X-UA-Compatible" content="IE=edge">
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+<title>SparseDC simulation — sparseDCSimulate • Splatter</title>
+
+<!-- jquery -->
+<script src="https://code.jquery.com/jquery-3.1.0.min.js" integrity="sha384-nrOSfDHtoPMzJHjVTdCopGqIqeYETSXhZDFyniQ8ZHcVy08QesyHcnOUpMpqnmWq" crossorigin="anonymous"></script>
+<!-- Bootstrap -->
+<link href="https://maxcdn.bootstrapcdn.com/bootswatch/3.3.7/cosmo/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous">
+
+<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
+
+<!-- Font Awesome icons -->
+<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-T8Gy5hrqNKT+hzMclPo118YTQO6cYprQmhrYwIiQ/3axmI1hQomh7Ud2hPOy8SP1" crossorigin="anonymous">
+
+
+<!-- pkgdown -->
+<link href="../pkgdown.css" rel="stylesheet">
+<script src="../jquery.sticky-kit.min.js"></script>
+<script src="../pkgdown.js"></script>
+  <link href="../extra.css" rel="stylesheet">
+  
+<!-- mathjax -->
+<script src='https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML'></script>
+
+<!--[if lt IE 9]>
+<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
+<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
+<![endif]-->
+
+
+<!-- Google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-52309538-4', 'auto');
+  ga('send', 'pageview');
+
+</script>
+
+  </head>
+
+  <body>
+    <div class="container template-reference-topic">
+      <header>
+      <div class="navbar navbar-default navbar-fixed-top" role="navigation">
+  <div class="container">
+    <div class="navbar-header">
+      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar">
+        <span class="icon-bar"></span>
+        <span class="icon-bar"></span>
+        <span class="icon-bar"></span>
+      </button>
+      <a class="navbar-brand" href="../index.html">splatter</a>
+    </div>
+    <div id="navbar" class="navbar-collapse collapse">
+      <ul class="nav navbar-nav">
+        <li>
+  <a href="../index.html">
+    <span class="fa fa-home fa-lg"></span>
+     
+  </a>
+</li>
+<li>
+  <a href="../articles/splatter.html">Get Started</a>
+</li>
+<li>
+  <a href="../reference/index.html">Reference</a>
+</li>
+<li>
+  <a href="../news/index.html">News</a>
+</li>
+      </ul>
+      
+      <ul class="nav navbar-nav navbar-right">
+        <li>
+  <a href="https://github.com/Oshlack/splatter">
+    <span class="fa fa-github fa-lg"></span>
+     
+  </a>
+</li>
+      </ul>
+    </div><!--/.nav-collapse -->
+  </div><!--/.container -->
+</div><!--/.navbar -->
+
+      
+      </header>
+
+      <div class="row">
+  <div class="col-md-9 contents">
+    <div class="page-header">
+    <h1>SparseDC simulation</h1>
+    </div>
+
+    
+    <p>Simulate counts from cluster in two conditions using the SparseDC method.</p>
+    
+
+    <pre class="usage"><span class='fu'>sparseDCSimulate</span>(<span class='kw'>params</span> <span class='kw'>=</span> <span class='fu'><a href='newParams.html'>newSparseDCParams</a></span>(), <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, <span class='no'>...</span>)</pre>
+    
+    <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a> Arguments</h2>
+    <table class="ref-arguments">
+    <colgroup><col class="name" /><col class="desc" /></colgroup>
+    <tr>
+      <th>params</th>
+      <td><p>SparseDCParams object containing simulation parameters.</p></td>
+    </tr>
+    <tr>
+      <th>verbose</th>
+      <td><p>logical. Whether to print progress messages</p></td>
+    </tr>
+    <tr>
+      <th>...</th>
+      <td><p>any additional parameter settings to override what is provided in
+<code>params</code>.</p></td>
+    </tr>
+    </table>
+    
+    <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2>
+
+    <p>SingleCellExperiment containing simulated counts</p>
+    
+    <h2 class="hasAnchor" id="details"><a class="anchor" href="#details"></a>Details</h2>
+
+    <p>This function is just a wrapper around
+<code><a href='http://www.rdocumentation.org/packages/SparseDC/topics/sim_data'>sim_data</a></code> that takes a
+<code><a href='SparseDCParams.html'>SparseDCParams</a></code>, runs the simulation then converts the
+output from log-expression to counts and returns a
+<code><a href='http://www.rdocumentation.org/packages/SingleCellExperiment/topics/SingleCellExperiment'>SingleCellExperiment</a></code> object. The original
+simulated log-expression values are returned in the <code>LogExprs</code> assay.
+See <code><a href='http://www.rdocumentation.org/packages/SparseDC/topics/sim_data'>sim_data</a></code> and the SparseDC paper for
+more details about how the simulation works.</p>
+    
+    <h2 class="hasAnchor" id="references"><a class="anchor" href="#references"></a>References</h2>
+
+    <p>Campbell K, Yau C. Uncovering genomic trajectories with heterogeneous genetic
+and environmental backgrounds across single-cells and populations. bioRxiv
+(2017).</p>
+<p>Barron M, Zhang S, Li J. A sparse differential clustering algorithm for
+tracing cell type changes via single-cell RNA-sequencing data.
+Nucleic Acids Research (2017).</p>
+<p>Paper: <a href='10.1093/nar/gkx1113'>10.1093/nar/gkx1113</a></p>
+    
+
+    <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2>
+    <pre class="examples"><div class='input'><span class='no'>sim</span> <span class='kw'>&lt;-</span> <span class='fu'>sparseDCSimulate</span>()</div><div class='output co'>#&gt; <span class='message'>Simulating counts...</span></div><div class='output co'>#&gt; <span class='message'>Creating final dataset...</span></div><div class='input'>
+</div></pre>
+  </div>
+  <div class="col-md-3 hidden-xs hidden-sm" id="sidebar">
+    <h2>Contents</h2>
+    <ul class="nav nav-pills nav-stacked">
+      <li><a href="#arguments">Arguments</a></li>
+      
+      <li><a href="#value">Value</a></li>
+
+      <li><a href="#details">Details</a></li>
+
+      <li><a href="#references">References</a></li>
+      
+      <li><a href="#examples">Examples</a></li>
+    </ul>
+
+  </div>
+</div>
+
+      <footer>
+      <div class="copyright">
+  <p>Developed by Luke Zappia, Belinda Phipson, Alicia Oshlack.</p>
+</div>
+
+<div class="pkgdown">
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
+</div>
+
+      </footer>
+   </div>
+
+  </body>
+</html>
diff --git a/docs/reference/splatEstBCV.html b/docs/reference/splatEstBCV.html
index 2787af928f78be9c71cc527d3315c6ca057fa042..bc5d7fe51f9b2a1fc038ab16d5de62069fee3871 100644
--- a/docs/reference/splatEstBCV.html
+++ b/docs/reference/splatEstBCV.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -155,7 +155,7 @@ apply a small correction, <code>disp = 0.1 + 0.25 * edgeR.disp</code>.</p>
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/splatEstDropout.html b/docs/reference/splatEstDropout.html
index f00cf74e780a5f48d6edb487159796a46fcaeec0..f763342199c29592a1ed2e4f6db4860ac07bb705 100644
--- a/docs/reference/splatEstDropout.html
+++ b/docs/reference/splatEstDropout.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -129,7 +129,9 @@ when simulating dropout.</p>
 
     <p>Logistic function parameters are estimated by fitting a logistic function
 to the relationship between log2 mean gene expression and the proportion of
-zeros in each gene. See <code><a href='http://www.rdocumentation.org/packages/stats/topics/nls'>nls</a></code> for details of fitting.</p>
+zeros in each gene. See <code><a href='http://www.rdocumentation.org/packages/stats/topics/nls'>nls</a></code> for details of fitting.
+Note this is done on the experiment level, more granular (eg. group or cell)
+level dropout is not estimated.</p>
     
 
   </div>
@@ -152,7 +154,7 @@ zeros in each gene. See <code><a href='http://www.rdocumentation.org/packages/st
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/splatEstLib.html b/docs/reference/splatEstLib.html
index c986a2cc9b7d3dea0195b0447cdfc2746f21764a..3fbc04a936f2d18f6c696050468b097930290068 100644
--- a/docs/reference/splatEstLib.html
+++ b/docs/reference/splatEstLib.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -102,8 +102,10 @@
     </div>
 
     
-    <p>A log-normal distribution is fitted to the library sizes and the estimated
-parameters are added to the params object. See
+    <p>The Shapiro-Wilk test is used to determine if the library sizes are
+normally distributed. If so a normal distribution is fitted to the library
+sizes, if not (most cases) a log-normal distribution is fitted and the
+estimated parameters are added to the params object. See
 <code><a href='http://www.rdocumentation.org/packages/fitdistrplus/topics/fitdist'>fitdist</a></code> for details on the fitting.</p>
     
 
@@ -145,7 +147,7 @@ parameters are added to the params object. See
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/splatEstMean.html b/docs/reference/splatEstMean.html
index 4443f94dc1573f4d9baceeddb67a970d98591d1d..91e7ec9bb715aaac9589ade3c12fb1d59c62038e 100644
--- a/docs/reference/splatEstMean.html
+++ b/docs/reference/splatEstMean.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -156,7 +156,7 @@ and 90th percentiles.</p>
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/splatEstOutlier.html b/docs/reference/splatEstOutlier.html
index 647896a9896f4b974bfc3b855a728c02d4a20d79..c9a7b95af1da084aa758e1587843207c9240b061 100644
--- a/docs/reference/splatEstOutlier.html
+++ b/docs/reference/splatEstOutlier.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -157,7 +157,7 @@ scale parameters using <code><a href='http://www.rdocumentation.org/packages/fit
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/splatEstimate.html b/docs/reference/splatEstimate.html
index 9f05e80243496b1dba1b35239aefe9867acc0e4a..0d4661afd5a9ff0a04d9d726873780502d5cf7e6 100644
--- a/docs/reference/splatEstimate.html
+++ b/docs/reference/splatEstimate.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -142,52 +142,54 @@ containing count data to estimate parameters from.</p></td>
     
 
     <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2>
-    <pre class="examples"><div class='input'><span class='fu'>data</span>(<span class='st'>"sc_example_counts"</span>)
-<span class='no'>params</span> <span class='kw'>&lt;-</span> <span class='fu'>splatEstimate</span>(<span class='no'>sc_example_counts</span>)
-<span class='no'>params</span></div><div class='output co'>#&gt; A Params object of class SplatParams 
-#&gt; Parameters can be (estimable) or [not estimable], 'Default' or 'NOT DEFAULT'. 
+    <pre class="examples"><div class='input'><span class='co'># Load example data</span>
+<span class='fu'>library</span>(<span class='no'>scater</span>)
+<span class='fu'>data</span>(<span class='st'>"sc_example_counts"</span>)
+
+<span class='no'>params</span> <span class='kw'>&lt;-</span> <span class='fu'>splatEstimate</span>(<span class='no'>sc_example_counts</span>)</div><div class='output co'>#&gt; <span class='message'>NOTE: Library sizes have been found to be normally distributed instead of log-normal. You may want to check this is correct.</span></div><div class='input'><span class='no'>params</span></div><div class='output co'>#&gt; A Params object of class SplatParams 
+#&gt; Parameters can be (estimable) or [not estimable], 'Default' or  'NOT DEFAULT' 
 #&gt; 
 #&gt; Global: 
-#&gt; (GENES)  (CELLS)   [Seed]  
-#&gt;    2000       40   736969  
+#&gt; (GENES)  (CELLS)   [Seed] 
+#&gt;    2000       40   171612 
 #&gt; 
-#&gt; 27 additional parameters 
+#&gt; 28 additional parameters 
 #&gt; 
 #&gt; Batches: 
-#&gt;     [Batches]  [BATCH CELLS]     [Location]        [Scale]  
-#&gt;             1             40            0.1            0.1  
+#&gt;     [BATCHES]  [BATCH CELLS]     [Location]        [Scale] 
+#&gt;             1             40            0.1            0.1 
 #&gt; 
 #&gt; Mean: 
-#&gt;             (RATE)             (SHAPE)  
-#&gt; 0.0032639148887191   0.419304527025529  
+#&gt;             (RATE)             (SHAPE) 
+#&gt; 0.0032639148887191   0.419304527025529 
 #&gt; 
 #&gt; Library size: 
-#&gt;       (LOCATION)           (SCALE)  
-#&gt; 12.7053037408488  0.58910919018286  
+#&gt;       (LOCATION)           (SCALE)            (NORM) 
+#&gt;       388947.775  231618.775891602              TRUE 
 #&gt; 
 #&gt; Exprs outliers: 
-#&gt;       (PROBABILITY)           (LOCATION)              (SCALE)  
-#&gt; 0.00623376623376623     4.22280669039478    0.422108697251885  
+#&gt;       (PROBABILITY)           (LOCATION)              (SCALE) 
+#&gt; 0.00623376623376623     4.22280669039478    0.422108697251885 
 #&gt; 
 #&gt; Groups: 
-#&gt;      [Groups]  [Group Probs]  
-#&gt;             1              1  
+#&gt;      [Groups]  [Group Probs] 
+#&gt;             1              1 
 #&gt; 
 #&gt; Diff expr: 
-#&gt; [Probability]    [Down Prob]     [Location]        [Scale]  
-#&gt;           0.1            0.5            0.1            0.4  
+#&gt; [Probability]    [Down Prob]     [Location]        [Scale] 
+#&gt;           0.1            0.5            0.1            0.4 
 #&gt; 
 #&gt; BCV: 
-#&gt;    (COMMON DISP)             (DOF)  
-#&gt; 3.21969047393022  14.7262017878812  
+#&gt;    (COMMON DISP)             (DOF) 
+#&gt; 3.21969047393022  14.7262017878812 
 #&gt; 
 #&gt; Dropout: 
-#&gt;          [Present]          (MIDPOINT)             (SHAPE)  
-#&gt;              FALSE    5.00420976858168  -0.652889139821156  
+#&gt;             [Type]          (MIDPOINT)             (SHAPE) 
+#&gt;               none    5.00420976858168  -0.652889139821156 
 #&gt; 
 #&gt; Paths: 
-#&gt;         [From]        [Length]          [Skew]    [Non-linear]  [Sigma Factor]  
-#&gt;              0             100             0.5             0.1             0.8  
+#&gt;         [From]        [Length]          [Skew]    [Non-linear]  [Sigma Factor] 
+#&gt;              0             100             0.5             0.1             0.8 
 #&gt; </div></pre>
   </div>
   <div class="col-md-3 hidden-xs hidden-sm" id="sidebar">
@@ -211,7 +213,7 @@ containing count data to estimate parameters from.</p></td>
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/splatSimBCVMeans.html b/docs/reference/splatSimBCVMeans.html
index 7e0c42284bda2151802ffbaf65c12907050e6088..5d210d3a8f914b96c50c7f46d07f81c2688de284 100644
--- a/docs/reference/splatSimBCVMeans.html
+++ b/docs/reference/splatSimBCVMeans.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -145,7 +145,7 @@ and inverse gamma distribution.</p>
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/splatSimBatchCellMeans.html b/docs/reference/splatSimBatchCellMeans.html
index 5600e9430a9763870a8e484db31f1828f4e99360..66a3a1ed4d51078240c62c43138d8e5136b522c4 100644
--- a/docs/reference/splatSimBatchCellMeans.html
+++ b/docs/reference/splatSimBatchCellMeans.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -144,7 +144,7 @@ factors.</p>
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/splatSimBatchEffects.html b/docs/reference/splatSimBatchEffects.html
index 1b059e35b8c711fffb44d4d684d12683336b118b..920063de9fc083caf2deb18afcc5c35cba2ae59e 100644
--- a/docs/reference/splatSimBatchEffects.html
+++ b/docs/reference/splatSimBatchEffects.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -145,7 +145,7 @@ means for each batch.</p>
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/splatSimCellMeans.html b/docs/reference/splatSimCellMeans.html
index cb90535a07415a3082bcb67920746df4b51a36fb..522d75dc9bc16659328c3345c45f3e98ec84eac6 100644
--- a/docs/reference/splatSimCellMeans.html
+++ b/docs/reference/splatSimCellMeans.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -151,7 +151,7 @@ means are adjusted for each cell's expected library size.</p>
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/splatSimDE.html b/docs/reference/splatSimDE.html
index cf9c9e94befc0a78e6c3baf2a105a1abb182e9d1..a84b65c1e3a7a9b7e7480fe9a3aa299686ebf356 100644
--- a/docs/reference/splatSimDE.html
+++ b/docs/reference/splatSimDE.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -148,7 +148,7 @@ they are simulated in the correct order.</p>
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/splatSimDropout.html b/docs/reference/splatSimDropout.html
index bcff9a23311d82a515e78c857e8308e2a4f1e8e1..1387020f260fef1dd3d421b2f2ee86c107d5f3a2 100644
--- a/docs/reference/splatSimDropout.html
+++ b/docs/reference/splatSimDropout.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -146,7 +146,7 @@ to decide which counts should be dropped.</p>
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/splatSimGeneMeans.html b/docs/reference/splatSimGeneMeans.html
index 4ac63ab88bb97720a9b86ae8b1c5725ede40217d..f55e7e40a4d11fa8f06b2e6d6b17a39afcb5b1d4 100644
--- a/docs/reference/splatSimGeneMeans.html
+++ b/docs/reference/splatSimGeneMeans.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -145,7 +145,7 @@ with the median mean expression multiplied by the outlier factor.</p>
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/splatSimLibSizes.html b/docs/reference/splatSimLibSizes.html
index a8cb353d521c96b48d71dfd4e0d8be4a5047de98..99a7cb8759960150b6a02a3587168ee16ce799c0 100644
--- a/docs/reference/splatSimLibSizes.html
+++ b/docs/reference/splatSimLibSizes.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -102,7 +102,9 @@
     </div>
 
     
-    <p>Simulate expected library sizes from a log-normal distribution</p>
+    <p>Simulate expected library sizes. Typically a log-normal distribution is used
+but there is also the option to use a normal distribution. In this case any
+negative values are set to half the minimum non-zero value.</p>
     
 
     <pre class="usage"><span class='fu'>splatSimLibSizes</span>(<span class='no'>sim</span>, <span class='no'>params</span>)</pre>
@@ -143,7 +145,7 @@
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/splatSimTrueCounts.html b/docs/reference/splatSimTrueCounts.html
index 6f0ed0f8f1ede60ff8a6ec4189dbabc5ad652cd4..55f89b76eede5c6d4931265a87f1bd2e81c8d7f3 100644
--- a/docs/reference/splatSimTrueCounts.html
+++ b/docs/reference/splatSimTrueCounts.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -145,7 +145,7 @@ group (or path position), expected library size and BCV.</p>
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/splatSimulate.html b/docs/reference/splatSimulate.html
index 28ffcac03953ae094e8a8a1dbfba4e7a4cb1f17a..6cb201b10396df49895e5c52a6408606d34daa87 100644
--- a/docs/reference/splatSimulate.html
+++ b/docs/reference/splatSimulate.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -168,10 +168,10 @@ can be used.</p>
     <p>The final output is a
 <code><a href='http://www.rdocumentation.org/packages/SingleCellExperiment/topics/SingleCellExperiment'>SingleCellExperiment</a></code> object that
 contains the simulated counts but also the values for various intermediate
-steps. These are stored in the <code><a href='http://www.rdocumentation.org/packages/SummarizedExperiment/topics/SummarizedExperiment-class'>colData</a></code>
-(for cell specific information), <code><a href='http://www.rdocumentation.org/packages/SummarizedExperiment/topics/SummarizedExperiment-class'>rowData</a></code>
-(for gene specific information) or <code><a href='http://www.rdocumentation.org/packages/SummarizedExperiment/topics/SummarizedExperiment-class'>assays</a></code>
-(for gene by cell matrices) slots. This additional information includes:</p><dl class='dl-horizontal'>
+steps. These are stored in the <code>colData</code> (for cell specific
+information), <code>rowData</code> (for gene specific information) or
+<code>assays</code> (for gene by cell matrices) slots. This additional
+information includes:</p><dl class='dl-horizontal'>
     <dt><code>phenoData</code></dt><dd><p><dl class='dl-horizontal'>
             <dt>Cell</dt><dd><p>Unique cell identifier.</p></dd>
             <dt>Group</dt><dd><p>The group or path the cell belongs to.</p></dd>
@@ -268,7 +268,7 @@ sequencing data. Genome Biology (2017).</p>
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/splatter.html b/docs/reference/splatter.html
index 3bcc5e2822d2234bdd88cae7abd1a5d43bdcb666..63791c0c53f1d21624a1e666b345b47c5d500b54 100644
--- a/docs/reference/splatter.html
+++ b/docs/reference/splatter.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -137,7 +137,7 @@ Sequencing Data. bioRxiv. 2017; doi:10.1101/133173</p>
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/summariseDiff.html b/docs/reference/summariseDiff.html
index 552d74d58c8cf57bff21794fc268d57f54183678..51d407f61f082ff762756fc5b760e283fa82aa38 100644
--- a/docs/reference/summariseDiff.html
+++ b/docs/reference/summariseDiff.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -124,22 +124,23 @@ Error (RMSE) for the various properties and ranks them.</p>
     
 
     <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2>
-    <pre class="examples"><div class='input'><span class='no'>sim1</span> <span class='kw'>&lt;-</span> <span class='fu'><a href='splatSimulate.html'>splatSimulate</a></span>(<span class='kw'>nGenes</span> <span class='kw'>=</span> <span class='fl'>1000</span>, <span class='kw'>batchCells</span> <span class='kw'>=</span> <span class='fl'>20</span>)</div><div class='output co'>#&gt; <span class='message'>Getting parameters...</span></div><div class='output co'>#&gt; <span class='message'>Creating simulation object...</span></div><div class='output co'>#&gt; <span class='message'>Simulating library sizes...</span></div><div class='output co'>#&gt; <span class='message'>Simulating gene means...</span></div><div class='output co'>#&gt; <span class='message'>Simulating BCV...</span></div><div class='output co'>#&gt; <span class='message'>Simulating counts..</span></div><div class='output co'>#&gt; <span class='message'>Simulating dropout (if needed)...</span></div><div class='output co'>#&gt; <span class='message'>Done!</span></div><div class='input'><span class='no'>sim2</span> <span class='kw'>&lt;-</span> <span class='fu'><a href='simpleSimulate.html'>simpleSimulate</a></span>(<span class='kw'>nGenes</span> <span class='kw'>=</span> <span class='fl'>1000</span>, <span class='kw'>nCells</span> <span class='kw'>=</span> <span class='fl'>20</span>)</div><div class='output co'>#&gt; <span class='message'>Simulating means...</span></div><div class='output co'>#&gt; <span class='message'>Simulating counts...</span></div><div class='output co'>#&gt; <span class='message'>Creating final dataset...</span></div><div class='input'><span class='no'>difference</span> <span class='kw'>&lt;-</span> <span class='fu'><a href='diffSCEs.html'>diffSCEs</a></span>(<span class='fu'>list</span>(<span class='kw'>Splat</span> <span class='kw'>=</span> <span class='no'>sim1</span>, <span class='kw'>Simple</span> <span class='kw'>=</span> <span class='no'>sim2</span>), <span class='kw'>ref</span> <span class='kw'>=</span> <span class='st'>"Simple"</span>)
-<span class='no'>summary</span> <span class='kw'>&lt;-</span> <span class='fu'>summariseDiff</span>(<span class='no'>difference</span>)
+    <pre class="examples"><div class='input'><span class='no'>sim1</span> <span class='kw'>&lt;-</span> <span class='fu'><a href='splatSimulate.html'>splatSimulate</a></span>(<span class='kw'>nGenes</span> <span class='kw'>=</span> <span class='fl'>1000</span>, <span class='kw'>batchCells</span> <span class='kw'>=</span> <span class='fl'>20</span>)</div><div class='output co'>#&gt; <span class='message'>Getting parameters...</span></div><div class='output co'>#&gt; <span class='message'>Creating simulation object...</span></div><div class='output co'>#&gt; <span class='message'>Simulating library sizes...</span></div><div class='output co'>#&gt; <span class='message'>Simulating gene means...</span></div><div class='output co'>#&gt; <span class='message'>Simulating BCV...</span></div><div class='output co'>#&gt; <span class='message'>Simulating counts..</span></div><div class='output co'>#&gt; <span class='message'>Simulating dropout (if needed)...</span></div><div class='output co'>#&gt; <span class='message'>Done!</span></div><div class='input'><span class='no'>sim2</span> <span class='kw'>&lt;-</span> <span class='fu'><a href='simpleSimulate.html'>simpleSimulate</a></span>(<span class='kw'>nGenes</span> <span class='kw'>=</span> <span class='fl'>1000</span>, <span class='kw'>nCells</span> <span class='kw'>=</span> <span class='fl'>20</span>)</div><div class='output co'>#&gt; <span class='message'>Simulating means...</span></div><div class='output co'>#&gt; <span class='message'>Simulating counts...</span></div><div class='output co'>#&gt; <span class='message'>Creating final dataset...</span></div><div class='input'><span class='no'>difference</span> <span class='kw'>&lt;-</span> <span class='fu'><a href='diffSCEs.html'>diffSCEs</a></span>(<span class='fu'>list</span>(<span class='kw'>Splat</span> <span class='kw'>=</span> <span class='no'>sim1</span>, <span class='kw'>Simple</span> <span class='kw'>=</span> <span class='no'>sim2</span>), <span class='kw'>ref</span> <span class='kw'>=</span> <span class='st'>"Simple"</span>)</div><div class='output co'>#&gt; <span class='message'>Note that the names of some metrics have changed, see 'Renamed metrics' in ?calculateQCMetrics.</span>
+#&gt; <span class='message'>Old names are currently maintained for back-compatibility, but may be removed in future releases.</span></div><div class='output co'>#&gt; <span class='message'>Note that the names of some metrics have changed, see 'Renamed metrics' in ?calculateQCMetrics.</span>
+#&gt; <span class='message'>Old names are currently maintained for back-compatibility, but may be removed in future releases.</span></div><div class='input'><span class='no'>summary</span> <span class='kw'>&lt;-</span> <span class='fu'>summariseDiff</span>(<span class='no'>difference</span>)
 <span class='fu'>head</span>(<span class='no'>summary</span>)</div><div class='output co'>#&gt;   Dataset Statistic          MAD MADScaled MADRank          MAE MAEScaled
-#&gt; 1   Splat      Mean     2.757589       NaN       1     2.651957       NaN
-#&gt; 2   Splat  Variance    10.467288       NaN       1    10.272985       NaN
-#&gt; 3   Splat ZerosGene    40.000000       NaN       1    44.935000       NaN
-#&gt; 4   Splat   MeanVar     9.682925       NaN       1    12.193247       NaN
-#&gt; 5   Splat MeanZeros    45.000000       NaN       1    44.460000       NaN
-#&gt; 6   Splat   LibSize 56511.000000       NaN       1 59458.300000       NaN
+#&gt; 1   Splat      Mean     2.617539       NaN       1     2.620761       NaN
+#&gt; 2   Splat  Variance    11.320287       NaN       1    10.223665       NaN
+#&gt; 3   Splat ZerosGene    35.000000       NaN       1    41.665000       NaN
+#&gt; 4   Splat   MeanVar    10.533179       NaN       1    12.061862       NaN
+#&gt; 5   Splat MeanZeros    45.000000       NaN       1    43.805000       NaN
+#&gt; 6   Splat   LibSize 59620.000000       NaN       1 62014.200000       NaN
 #&gt;   MAERank         RMSE RMSEScaled RMSERank
-#&gt; 1       1     3.182101        NaN        1
-#&gt; 2       1    13.133714        NaN        1
-#&gt; 3       1    48.428039        NaN        1
-#&gt; 4       1    15.352203        NaN        1
-#&gt; 5       1    53.898052        NaN        1
-#&gt; 6       1 61094.139540        NaN        1</div></pre>
+#&gt; 1       1     3.164726        NaN        1
+#&gt; 2       1    12.986116        NaN        1
+#&gt; 3       1    45.973090        NaN        1
+#&gt; 4       1    15.097781        NaN        1
+#&gt; 5       1    53.529198        NaN        1
+#&gt; 6       1 63276.140327        NaN        1</div></pre>
   </div>
   <div class="col-md-3 hidden-xs hidden-sm" id="sidebar">
     <h2>Contents</h2>
@@ -160,7 +161,7 @@ Error (RMSE) for the various properties and ranks them.</p>
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/winsorize.html b/docs/reference/winsorize.html
index 320f7ea7925795103fadf35f30a2d31adfc803e8..f5a1067dbf341aa2441f19d44b396f44ed2a5752 100644
--- a/docs/reference/winsorize.html
+++ b/docs/reference/winsorize.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -143,7 +143,7 @@
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/zinbEstimate.html b/docs/reference/zinbEstimate.html
index 5bd42b014258b50ed8063b89c99d272c9e76ca1f..11899967327bb0e7c5a1320a63a31e36b3f067d9 100644
--- a/docs/reference/zinbEstimate.html
+++ b/docs/reference/zinbEstimate.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -165,9 +165,9 @@ features is estimated.</p></td>
     </tr>
     <tr>
       <th>BPPARAM</th>
-      <td><p>A <code><a href='http://www.rdocumentation.org/packages/BiocParallel/topics/BiocParallelParam-class'>BiocParallelParam</a></code> instance
-giving the parallel back-end to be used. Default is
-<code><a href='http://www.rdocumentation.org/packages/BiocParallel/topics/SerialParam-class'>SerialParam</a></code> which uses a single core.</p></td>
+      <td><p>A <code>BiocParallelParam</code> instance giving the parallel
+back-end to be used. Default is <code>SerialParam</code> which uses a
+single core.</p></td>
     </tr>
     <tr>
       <th>...</th>
@@ -189,7 +189,10 @@ the fitted model and inserts it into a <code><a href='ZINBParams.html'>ZINBParam
 
     <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2>
     <pre class="examples"><span class='co'># NOT RUN {</span>
+<span class='co'># Load example data</span>
+<span class='fu'>library</span>(<span class='no'>scater</span>)
 <span class='fu'>data</span>(<span class='st'>"sc_example_counts"</span>)
+
 <span class='no'>params</span> <span class='kw'>&lt;-</span> <span class='fu'>zinbEstimate</span>(<span class='no'>sc_example_counts</span>)
 <span class='no'>params</span>
 <span class='co'># }</span></pre>
@@ -215,7 +218,7 @@ the fitted model and inserts it into a <code><a href='ZINBParams.html'>ZINBParam
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/docs/reference/zinbSimulate.html b/docs/reference/zinbSimulate.html
index 2dea5b285307787c5c4a91773dfe5dbc2375b805..bfd11132c438b8bf747cead2c4ab3e9c23c04300 100644
--- a/docs/reference/zinbSimulate.html
+++ b/docs/reference/zinbSimulate.html
@@ -64,7 +64,7 @@
     <div id="navbar" class="navbar-collapse collapse">
       <ul class="nav navbar-nav">
         <li>
-  <a href="..//index.html">
+  <a href="../index.html">
     <span class="fa fa-home fa-lg"></span>
      
   </a>
@@ -176,7 +176,7 @@ bioRxiv (2017).</p>
 </div>
 
 <div class="pkgdown">
-  <p>Site built with <a href="http://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+  <p>Site built with <a href="http://pkgdown.r-lib.org/">pkgdown</a>.</p>
 </div>
 
       </footer>
diff --git a/index.md b/index.md
index 24e894f7a1b4da355ce2c483c692121cf395e223..90cfdc6369d87c00d275d3d441b1f04cbca521f9 100644
--- a/index.md
+++ b/index.md
@@ -16,8 +16,8 @@ data. Splatter provides a common interface to multiple simulations that have:
 * Functions for comparing simulations and real datasets
 
 Splatter is built on top of [`scater`][scater] and stores simulations in
-`SCESet` objects. Splatter also has functions for comparing simulations and real
-datasets.
+[`SingleCellExperiment`][SCE] objects. Splatter also has functions for comparing
+simulations and real datasets.
 
 **!Please note!** This site provides documentation for the development version
 of Splatter. For details on the current release please refer to
@@ -45,7 +45,7 @@ biocLite("splatter", build_vignettes=TRUE)
 ```
 
 This will also build the vignette and install all suggested dependencies (which
-aren't required for core functionality). Building the vignette may sometimes 
+aren't required for core functionality). Building the vignette may sometimes
 fail when run from the command line, if this happens try running the install
 command in RStudio.
 
@@ -73,6 +73,7 @@ devtools::install("Oshlack/splatter")
 ```
 
 [scater]: https://github.com/davismcc/scater
+[SCE]: https://github.com/drisso/SingleCellExperiment
 [bioc]: https://bioconductor.org/packages/splatter
 [devel]: https://bioconductor.org/packages/devel/bioc/html/splatter.html
 [bioc-install]: https://www.bioconductor.org/developers/how-to/useDevel/
diff --git a/inst/NEWS.Rd b/inst/NEWS.Rd
index 6b287066109545df632ae56d85815133994a2152..4c7cd3bc2283ca639a23d166a8c4eeba3f6fb364 100644
--- a/inst/NEWS.Rd
+++ b/inst/NEWS.Rd
@@ -1,6 +1,23 @@
 \name{NEWS}
 \title{News for Package \pkg{splatter}}
 
+\section{Version 1.3.5, Bioconductor 3.7 Release (2017-04-25)}{
+  \itemize{
+    \item{Move scater to Imports and add scater version}
+    \item{Remove lingering references to SCESets}
+    \item{Add option to use a normal distribution for library sizes in Splat
+    simulations}
+    \item{Allow Splat dropout parameters to be specified by experiment, batch,
+    group or cell}
+    \item{Add SparseDC simulation}
+    \item{Rename params in metadata slot of simulation to Params for
+    consistency}
+    \item{Improve and colourise Params print output}
+    \item{Improve test coverage}
+    \item{Various other minor updates and bug fixes}
+  }
+}
+
 \section{Version 1.1.8, Bioconductor 3.6 Release (2017-10-13)}{
   \itemize{
     \item{Now published in Genome Biology!}
diff --git a/man/BASiCSEstimate.Rd b/man/BASiCSEstimate.Rd
index 0fabfebad0e5f63082e073c8eb9913d0bb97bae3..aa9c6a3109041c691695b1b079ad914c7953c2d3 100644
--- a/man/BASiCSEstimate.Rd
+++ b/man/BASiCSEstimate.Rd
@@ -2,7 +2,7 @@
 % Please edit documentation in R/BASiCS-estimate.R
 \name{BASiCSEstimate}
 \alias{BASiCSEstimate}
-\alias{BASiCSEstimate.SCESet}
+\alias{BASiCSEstimate.SingleCellExperiment}
 \alias{BASiCSEstimate.matrix}
 \title{Estimate BASiCS simulation parameters}
 \usage{
@@ -10,17 +10,17 @@ BASiCSEstimate(counts, spike.info = NULL, batch = NULL, n = 20000,
   thin = 10, burn = 5000, params = newBASiCSParams(), verbose = TRUE,
   progress = TRUE, ...)
 
-\method{BASiCSEstimate}{SCESet}(counts, spike.info = NULL, batch = NULL,
-  n = 20000, thin = 10, burn = 5000, params = newBASiCSParams(),
-  verbose = TRUE, progress = TRUE, ...)
+\method{BASiCSEstimate}{SingleCellExperiment}(counts, spike.info = NULL,
+  batch = NULL, n = 20000, thin = 10, burn = 5000,
+  params = newBASiCSParams(), verbose = TRUE, progress = TRUE, ...)
 
 \method{BASiCSEstimate}{matrix}(counts, spike.info = NULL, batch = NULL,
   n = 20000, thin = 10, burn = 5000, params = newBASiCSParams(),
   verbose = TRUE, progress = TRUE, ...)
 }
 \arguments{
-\item{counts}{either a counts matrix or an SCESet object containing count
-data to estimate parameters from.}
+\item{counts}{either a counts matrix or a SingleCellExperiment object
+containing count data to estimate parameters from.}
 
 \item{spike.info}{data.frame describing spike-ins with two columns: "Name"
 giving the names of the spike-in features (must match
@@ -61,7 +61,10 @@ information is provided there must be at least two batches. See
 }
 \examples{
 \dontrun{
+# Load example data
+library(scater)
 data("sc_example_counts")
+
 spike.info <- data.frame(Name = rownames(sc_example_counts)[1:10],
                          Input = rnorm(10, 500, 200),
                          stringsAsFactors = FALSE)
diff --git a/man/BASiCSSimulate.Rd b/man/BASiCSSimulate.Rd
index cc92db054bd1f6f8259a9315258eb7719c4736cd..9a26e0d14e88a7cd42945651af0a26f882999ea4 100644
--- a/man/BASiCSSimulate.Rd
+++ b/man/BASiCSSimulate.Rd
@@ -23,8 +23,8 @@ Simulate counts using the BASiCS method.
 \details{
 This function is just a wrapper around \code{\link[BASiCS]{BASiCS_Sim}} that
 takes a \code{\link{BASiCSParams}}, runs the simulation then converts the
-output to an \code{\link[scater]{SCESet}} object. See
-\code{\link[BASiCS]{BASiCS_Sim}} for more details of how the simulation
+output to a \code{\link[SingleCellExperiment]{SingleCellExperiment}} object.
+See \code{\link[BASiCS]{BASiCS_Sim}} for more details of how the simulation
 works.
 }
 \examples{
diff --git a/man/SparseDCParams.Rd b/man/SparseDCParams.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..30d257dc37a842c0591ce8c6101226d2456b7ae8
--- /dev/null
+++ b/man/SparseDCParams.Rd
@@ -0,0 +1,41 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/AllClasses.R
+\docType{class}
+\name{SparseDCParams}
+\alias{SparseDCParams}
+\alias{SparseDCParams-class}
+\title{The SparseDCParams class}
+\description{
+S4 class that holds parameters for the SparseDC simulation.
+}
+\section{Parameters}{
+
+
+The SparseDC simulation uses the following parameters:
+
+\describe{
+    \item{\code{nGenes}}{The number of genes to simulate in each condition.}
+    \item{\code{nCells}}{The number of cells to simulate.}
+    \item{\code{[seed]}}{Seed to use for generating random numbers.}
+    \item{\code{markers.n}}{Number of marker genes to simulate for each
+    cluster.}
+    \item{\code{markers.shared}}{Number of marker genes for each cluster
+    shared between conditions. Must be less than or equal to
+    \code{markers.n}}.
+    \item{\code{[markers.same]}}{Logical. Whether each cluster should have
+    the same set of marker genes.}
+    \item{\code{clusts.c1}}{Numeric vector of clusters present in
+    condition 1. The number of times a cluster is repeated controls the
+    proportion of cells from that cluster.}
+    \item{\code{clusts.c2}}{Numeric vector of clusters present in
+    condition 2. The number of times a cluster is repeated controls the
+    proportion of cells from that cluster.}
+    \item{\code{[mean.lower]}}{Lower bound for cluster gene means.}
+    \item{\code{[mean.upper]}}{Upper bound for cluster gene means.}
+}
+
+The parameters not shown in brackets can be estimated from real data using
+\code{\link{sparseDCEstimate}}. For details of the SparseDC simulation
+see \code{\link{sparseDCSimulate}}.
+}
+
diff --git a/man/SplatParams.Rd b/man/SplatParams.Rd
index f1d54f0191fd632c953197b7e47e4d55fd9b9e24..fbd581d43994495630cf5fe84bd32ce32b79f350 100644
--- a/man/SplatParams.Rd
+++ b/man/SplatParams.Rd
@@ -39,9 +39,13 @@ The Splatter simulation requires the following parameters:
     \item{\emph{Library size parameters}}{
         \describe{
             \item{\code{lib.loc}}{Location (meanlog) parameter for the
-            library size log-normal distribution.}
+            library size log-normal distribution, or mean parameter if a
+            normal distribution is used.}
             \item{\code{lib.scale}}{Scale (sdlog) parameter for the library
-            size log-normal distribution.}
+            size log-normal distribution, or sd parameter if a normal
+            distribution is used.}
+            \item{\code{lib.norm}}{Logical. Whether to use a normal
+            distribution for library sizes instead of a log-normal.}
         }
     }
     \item{\emph{Expression outlier parameters}}{
@@ -86,8 +90,12 @@ The Splatter simulation requires the following parameters:
     }
     \item{\emph{Dropout parameters}}{
         \describe{
-            \item{\code{dropout.present}}{Logical. Whether to simulate
-            dropout.}
+            \item{\code{dropout.type}}{The type of dropout to simulate.
+            "none" indicates no dropout, "experiment" is global dropout using
+            the same parameters for every cell, "batch" uses the same
+            parameters for every cell in each batch, "group" uses the same
+            parameters for every cell in each groups and "cell" uses a
+            different set of parameters for each cell.}
             \item{\code{dropout.mid}}{Midpoint parameter for the dropout
             logistic function.}
             \item{\code{dropout.shape}}{Shape parameter for the dropout
diff --git a/man/addFeatureStats.Rd b/man/addFeatureStats.Rd
index 4edd20d7f7e2f607ac32420e6d46d73cb8e7bb6a..d538fd011e0dcb57590a8f1558f5a492cf3df5e7 100644
--- a/man/addFeatureStats.Rd
+++ b/man/addFeatureStats.Rd
@@ -30,8 +30,8 @@ Add additional feature statistics to a SingleCellExperiment object
 \details{
 Currently adds the following statistics: mean, variance, coefficient of
 variation, median and median absolute deviation. Statistics are added to
-the \code{\link[SummarizedExperiment]{rowData}} slot and are named
-\code{Stat[Log]Value[No0]} where \code{Log} and \code{No0} are added if those
-arguments are true. UpperCamelCase is used to differentiate these columns
-from those added by analysis packages.
+the \code{\link{rowData}} slot and are named \code{Stat[Log]Value[No0]} where
+\code{Log} and \code{No0} are added if those arguments are true.
+UpperCamelCase is used to differentiate these columns from those added by
+analysis packages.
 }
diff --git a/man/addGeneLengths.Rd b/man/addGeneLengths.Rd
index 3cfbc6089c343690be25fc9ff46280c08066c300..057dac7ea4cfee1baddb421c36d8bdd4b4b0ba96 100644
--- a/man/addGeneLengths.Rd
+++ b/man/addGeneLengths.Rd
@@ -26,7 +26,7 @@ Add gene lengths to an SingleCellExperiment object
 }
 \details{
 This function adds simulated gene lengths to the
-\code{\link[SummarizedExperiment]{rowData}} slot of a
+\code{\link{rowData}} slot of a
 \code{\link[SingleCellExperiment]{SingleCellExperiment}} object that can be
 used for calculating length normalised expression values such as TPM or FPKM.
 The \code{generate} method simulates lengths using a (rounded) log-normal
diff --git a/man/lun2Estimate.Rd b/man/lun2Estimate.Rd
index d0e240edbbdc6d983727a0e63d4f98e68ccb9283..4031807d32f32bea968858acfe354f3e6d69e148 100644
--- a/man/lun2Estimate.Rd
+++ b/man/lun2Estimate.Rd
@@ -29,9 +29,9 @@ the data.}
 
 \item{verbose}{logical. Whether to show progress messages.}
 
-\item{BPPARAM}{A \code{\link[BiocParallel]{BiocParallelParam}} instance
-giving the parallel back-end to be used. Default is
-\code{\link[BiocParallel]{SerialParam}} which uses a single core.}
+\item{BPPARAM}{A \code{\link{BiocParallelParam}} instance giving the parallel
+back-end to be used. Default is \code{\link{SerialParam}} which uses a
+single core.}
 }
 \value{
 LunParams object containing the estimated parameters.
@@ -44,8 +44,11 @@ See \code{\link{Lun2Params}} for more details on the parameters.
 }
 \examples{
 \dontrun{
+# Load example data
+library(scater)
 data("sc_example_counts")
 data("sc_example_cell_info")
+
 plates <- factor(sc_example_cell_info$Mutation_Status)
 params <- lun2Estimate(sc_example_counts, plates, min.size = 20)
 params
diff --git a/man/lunEstimate.Rd b/man/lunEstimate.Rd
index 82f5e670b199dc49e618014924c6273be5cc5f12..63bd4f66b0acd9470701fa4e230c27e1cbcbf98c 100644
--- a/man/lunEstimate.Rd
+++ b/man/lunEstimate.Rd
@@ -30,7 +30,10 @@ input data. No other parameters are estimated. See \code{\link{LunParams}}
 for more details on the parameters.
 }
 \examples{
+# Load example data
+library(scater)
 data("sc_example_counts")
+
 params <- lunEstimate(sc_example_counts)
 params
 }
diff --git a/man/makeOverallPanel.Rd b/man/makeOverallPanel.Rd
index 51b219ba7ce6a8d3a77502085bc2c793b313c4b9..e6d54243855bdd2dad54b57f6cbbe8e6c9e18fbc 100644
--- a/man/makeOverallPanel.Rd
+++ b/man/makeOverallPanel.Rd
@@ -29,8 +29,8 @@ single panel.
 \dontrun{
 sim1 <- splatSimulate(nGenes = 1000, batchCells = 20)
 sim2 <- simpleSimulate(nGenes = 1000, nCells = 20)
-comparison <- compSCESets(list(Splat = sim1, Simple = sim2))
-difference <- diffSCESets(list(Splat = sim1, Simple = sim2), ref = "Simple")
+comparison <- compSCEs(list(Splat = sim1, Simple = sim2))
+difference <- diffSCEs(list(Splat = sim1, Simple = sim2), ref = "Simple")
 panel <- makeOverallPanel(comparison, difference)
 }
 
diff --git a/man/mfaEstimate.Rd b/man/mfaEstimate.Rd
index 002cd047b58ec935bdd1f421756597d8cedb6549..ac81d6a541893ffd4d6d7c4f1de585e6dc8300ab 100644
--- a/man/mfaEstimate.Rd
+++ b/man/mfaEstimate.Rd
@@ -31,7 +31,10 @@ input data. The dropout lambda parameter is estimate using
 details on the parameters.
 }
 \examples{
+# Load example data
+library(scater)
 data("sc_example_counts")
+
 params <- mfaEstimate(sc_example_counts)
 params
 }
diff --git a/man/newParams.Rd b/man/newParams.Rd
index e8d75401ae5a00cd3e660850d49fda896940b376..5af67eca1394c8a87c63411f333873952b52fc08 100644
--- a/man/newParams.Rd
+++ b/man/newParams.Rd
@@ -2,7 +2,7 @@
 % Please edit documentation in R/AllGenerics.R, R/BASiCSParams-methods.R,
 %   R/Lun2Params-methods.R, R/LunParams-methods.R, R/MFAParams-methods.R,
 %   R/PhenoParams-methods.R, R/SCDDParams-methods.R, R/SimpleParams-methods.R,
-%   R/SplatParams-methods.R, R/ZINBParams-methods.R
+%   R/SparseDCParams-methods.R, R/SplatParams-methods.R, R/ZINBParams-methods.R
 \name{newParams}
 \alias{newParams}
 \alias{newBASiCSParams}
@@ -12,6 +12,7 @@
 \alias{newPhenoParams}
 \alias{newSCDDParams}
 \alias{newSimpleParams}
+\alias{newSparseDCParams}
 \alias{newSplatParams}
 \alias{newZINBParams}
 \title{New Params}
@@ -30,6 +31,8 @@ newSCDDParams(...)
 
 newSimpleParams(...)
 
+newSparseDCParams(...)
+
 newSplatParams(...)
 
 newZINBParams(...)
diff --git a/man/phenoEstimate.Rd b/man/phenoEstimate.Rd
index 5b698238acbc48c4a606cc9fd7a2c3b550936311..1c102ba3d2f02c73a5d5101298d5bfa7cac957ed 100644
--- a/man/phenoEstimate.Rd
+++ b/man/phenoEstimate.Rd
@@ -32,7 +32,10 @@ input data. The total number of genes is evenly divided into the four types.
 See \code{\link{PhenoParams}} for more details on the parameters.
 }
 \examples{
+# Load example data
+library(scater)
 data("sc_example_counts")
+
 params <- phenoEstimate(sc_example_counts)
 params
 }
diff --git a/man/phenoSimulate.Rd b/man/phenoSimulate.Rd
index ffde04f9d728cfe05a1471ed739f6868a91589ce..34f5efb79b85a6acbcbefed7142e797d6f10034e 100644
--- a/man/phenoSimulate.Rd
+++ b/man/phenoSimulate.Rd
@@ -26,7 +26,7 @@ This function is just a wrapper around
 \code{\link{PhenoParams}}, runs the simulation then converts the
 output from log-expression to counts and returns a
 \code{\link[SingleCellExperiment]{SingleCellExperiment}} object. The original
-simulated log-expression values are returned in the \code{LogExprs} asssay.
+simulated log-expression values are returned in the \code{LogExprs} assay.
 See \code{\link[phenopath]{simulate_phenopath}} and the PhenoPath paper for
 more details about how the simulation works.
 }
diff --git a/man/scDDEstimate.Rd b/man/scDDEstimate.Rd
index 265183465ffcd3ca73550931c721146c38f57611..d5ae4e28c1fa02972b0c920e9a42ba8ed87b0d69 100644
--- a/man/scDDEstimate.Rd
+++ b/man/scDDEstimate.Rd
@@ -27,9 +27,9 @@ containing count data to estimate parameters from.}
 
 \item{verbose}{logical. Whether to show progress messages.}
 
-\item{BPPARAM}{A \code{\link[BiocParallel]{BiocParallelParam}} instance
-giving the parallel back-end to be used. Default is
-\code{\link[BiocParallel]{SerialParam}} which uses a single core.}
+\item{BPPARAM}{A \code{\link{BiocParallelParam}} instance giving the parallel
+back-end to be used. Default is \code{\link{SerialParam}} which uses a
+single core.}
 
 \item{...}{further arguments passed to or from other methods.}
 
@@ -53,9 +53,12 @@ simulate. The output is then converted to a SCDDParams object. See
 }
 \examples{
 \dontrun{
+# Load example data
+library(scater)
 data("sc_example_counts")
+
 conditions <- sample(1:2, ncol(sc_example_counts), replace = TRUE)
-params <- scDDEstimate(sc_example_counts, conditions)
+params <- scDDEstimate(sc_example_counts, conditions = conditions)
 params
 }
 }
diff --git a/man/scDDSimulate.Rd b/man/scDDSimulate.Rd
index 24f4c5a62f22470ea1fd9e703e0a7e4e974f72b9..bb7bef373ac716d35c2cf5f6d9b8ae409d3266ea 100644
--- a/man/scDDSimulate.Rd
+++ b/man/scDDSimulate.Rd
@@ -17,9 +17,9 @@ plots.}
 
 \item{verbose}{logical. Whether to print progress messages}
 
-\item{BPPARAM}{A \code{\link[BiocParallel]{BiocParallelParam}} instance
-giving the parallel back-end to be used. Default is
-\code{\link[BiocParallel]{SerialParam}} which uses a single core.}
+\item{BPPARAM}{A \code{\link{BiocParallelParam}} instance giving the parallel
+back-end to be used. Default is \code{\link{SerialParam}} which uses a
+single core.}
 
 \item{...}{any additional parameter settings to override what is provided in
 \code{params}.}
diff --git a/man/showDFs.Rd b/man/showDFs.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..783c88d53f58ee753af2914b7b859f1d9f21f3f8
--- /dev/null
+++ b/man/showDFs.Rd
@@ -0,0 +1,16 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/params-functions.R
+\name{showDFs}
+\alias{showDFs}
+\title{Show data.frame}
+\usage{
+showDFs(dfs, not.default)
+}
+\arguments{
+\item{dfs}{list of data.frames to show.}
+
+\item{not.default}{logical vector giving which have changed from the default.}
+}
+\description{
+Function used for pretty printing data.frame parameters.
+}
diff --git a/man/showValues.Rd b/man/showValues.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..ddd813ae68a61d411e44d5b6340b21833e3bc4d0
--- /dev/null
+++ b/man/showValues.Rd
@@ -0,0 +1,16 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/params-functions.R
+\name{showValues}
+\alias{showValues}
+\title{Show vales}
+\usage{
+showValues(values, not.default)
+}
+\arguments{
+\item{values}{list of values to show.}
+
+\item{not.default}{logical vector giving which have changed from the default.}
+}
+\description{
+Function used for pretty printing scale or vector parameters.
+}
diff --git a/man/simpleEstimate.Rd b/man/simpleEstimate.Rd
index 159c87953cde355894abcd344b60ee8ce5106fd3..441accff81ae11b622594476e13ff0ce206a9531 100644
--- a/man/simpleEstimate.Rd
+++ b/man/simpleEstimate.Rd
@@ -33,7 +33,10 @@ to the library size normalised mean expression level using
 details on the parameters.
 }
 \examples{
+# Load example data
+library(scater)
 data("sc_example_counts")
+
 params <- simpleEstimate(sc_example_counts)
 params
 }
diff --git a/man/sparseDCEstimate.Rd b/man/sparseDCEstimate.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..4d19581d40821da96be2b7d5d750e24b9bdf0cfd
--- /dev/null
+++ b/man/sparseDCEstimate.Rd
@@ -0,0 +1,59 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/sparseDC-estimate.R
+\name{sparseDCEstimate}
+\alias{sparseDCEstimate}
+\alias{sparseDCEstimate.SingleCellExperiment}
+\alias{sparseDCEstimate.matrix}
+\title{Estimate SparseDC simulation parameters}
+\usage{
+sparseDCEstimate(counts, conditions, nclusters, norm = TRUE,
+  params = newSparseDCParams())
+
+\method{sparseDCEstimate}{SingleCellExperiment}(counts, conditions, nclusters,
+  norm = TRUE, params = newSparseDCParams())
+
+\method{sparseDCEstimate}{matrix}(counts, conditions, nclusters, norm = TRUE,
+  params = newSparseDCParams())
+}
+\arguments{
+\item{counts}{either a counts matrix or an SingleCellExperiment object
+containing count data to estimate parameters from.}
+
+\item{conditions}{numeric vector giving the condition each cell belongs to.}
+
+\item{nclusters}{number of cluster present in the dataset.}
+
+\item{norm}{logical, whether to libray size normalise counts before
+estimation. Set this to FALSE if counts is already normalised.}
+
+\item{params}{PhenoParams object to store estimated values in.}
+}
+\value{
+SparseParams object containing the estimated parameters.
+}
+\description{
+Estimate simulation parameters for the SparseDC simulation from a real
+dataset.
+}
+\details{
+The \code{nGenes} and \code{nCells} parameters are taken from the size of the
+input data. The counts are preprocessed using
+\code{\link[SparseDC]{pre_proc_data}} and then parameters are estimated using
+\code{\link[SparseDC]{sparsedc_cluster}} using lambda values calculated using
+\code{\link[SparseDC]{lambda1_calculator}} and
+\code{\link[SparseDC]{lambda2_calculator}}.
+
+See \code{\link{SparseDCParams}} for more details on the parameters.
+}
+\examples{
+# Load example data
+library(scater)
+data("sc_example_counts")
+
+set.seed(1)
+conditions <- sample(1:2, ncol(sc_example_counts), replace = TRUE)
+
+params <- sparseDCEstimate(sc_example_counts[1:500, ], conditions,
+                           nclusters = 3)
+params
+}
diff --git a/man/sparseDCSimulate.Rd b/man/sparseDCSimulate.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..4c1f3419e0c5f8724ae20a893d26b0dd0eda3a80
--- /dev/null
+++ b/man/sparseDCSimulate.Rd
@@ -0,0 +1,47 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/sparseDC-simulate.R
+\name{sparseDCSimulate}
+\alias{sparseDCSimulate}
+\title{SparseDC simulation}
+\usage{
+sparseDCSimulate(params = newSparseDCParams(), verbose = TRUE, ...)
+}
+\arguments{
+\item{params}{SparseDCParams object containing simulation parameters.}
+
+\item{verbose}{logical. Whether to print progress messages}
+
+\item{...}{any additional parameter settings to override what is provided in
+\code{params}.}
+}
+\value{
+SingleCellExperiment containing simulated counts
+}
+\description{
+Simulate counts from cluster in two conditions using the SparseDC method.
+}
+\details{
+This function is just a wrapper around
+\code{\link[SparseDC]{sim_data}} that takes a
+\code{\link{SparseDCParams}}, runs the simulation then converts the
+output from log-expression to counts and returns a
+\code{\link[SingleCellExperiment]{SingleCellExperiment}} object. The original
+simulated log-expression values are returned in the \code{LogExprs} assay.
+See \code{\link[SparseDC]{sim_data}} and the SparseDC paper for
+more details about how the simulation works.
+}
+\examples{
+sim <- sparseDCSimulate()
+
+}
+\references{
+Campbell K, Yau C. Uncovering genomic trajectories with heterogeneous genetic
+and environmental backgrounds across single-cells and populations. bioRxiv
+(2017).
+
+Barron M, Zhang S, Li J. A sparse differential clustering algorithm for
+tracing cell type changes via single-cell RNA-sequencing data.
+Nucleic Acids Research (2017).
+
+Paper: \url{10.1093/nar/gkx1113}
+}
diff --git a/man/splatEstDropout.Rd b/man/splatEstDropout.Rd
index a2cf09d8272cdb2f5b698e556017192dd9368106..478a782a34a427116879f0efcfe7fe66c1cfa37c 100644
--- a/man/splatEstDropout.Rd
+++ b/man/splatEstDropout.Rd
@@ -22,4 +22,6 @@ when simulating dropout.
 Logistic function parameters are estimated by fitting a logistic function
 to the relationship between log2 mean gene expression and the proportion of
 zeros in each gene. See \code{\link[stats]{nls}} for details of fitting.
+Note this is done on the experiment level, more granular (eg. group or cell)
+level dropout is not estimated.
 }
diff --git a/man/splatEstLib.Rd b/man/splatEstLib.Rd
index 73a4b0d6b4e33f46762fea21f4a92feb40c2be4e..c7eda133a333ffcc2ff1d4df99226919e650c7af 100644
--- a/man/splatEstLib.Rd
+++ b/man/splatEstLib.Rd
@@ -15,7 +15,9 @@ splatEstLib(counts, params)
 splatParams object with estimated values.
 }
 \description{
-A log-normal distribution is fitted to the library sizes and the estimated
-parameters are added to the params object. See
+The Shapiro-Wilk test is used to determine if the library sizes are
+normally distributed. If so a normal distribution is fitted to the library
+sizes, if not (most cases) a log-normal distribution is fitted and the
+estimated parameters are added to the params object. See
 \code{\link[fitdistrplus]{fitdist}} for details on the fitting.
 }
diff --git a/man/splatEstimate.Rd b/man/splatEstimate.Rd
index b14d5195af99f9d04700f1bd300487cdfc8c951b..736f41b02d235c96b7097350ffc71e55cd0fc879 100644
--- a/man/splatEstimate.Rd
+++ b/man/splatEstimate.Rd
@@ -28,7 +28,10 @@ dataset. See the individual estimation functions for more details on how this
 is done.
 }
 \examples{
+# Load example data
+library(scater)
 data("sc_example_counts")
+
 params <- splatEstimate(sc_example_counts)
 params
 }
diff --git a/man/splatSimLibSizes.Rd b/man/splatSimLibSizes.Rd
index 3c5c380d91cc3bea40c224f26b0dd564aca7cc26..2ac6ed62aa47bbc8c25f32e5d2f5245cb551895c 100644
--- a/man/splatSimLibSizes.Rd
+++ b/man/splatSimLibSizes.Rd
@@ -15,5 +15,7 @@ splatSimLibSizes(sim, params)
 SingleCellExperiment with simulated library sizes.
 }
 \description{
-Simulate expected library sizes from a log-normal distribution
+Simulate expected library sizes. Typically a log-normal distribution is used
+but there is also the option to use a normal distribution. In this case any
+negative values are set to half the minimum non-zero value.
 }
diff --git a/man/splatSimulate.Rd b/man/splatSimulate.Rd
index bf30985a5e88b46e7f516b93e3884463aaf06cc7..53851871e45168d6890ee3c0ac22f6c56b6c4f18 100644
--- a/man/splatSimulate.Rd
+++ b/man/splatSimulate.Rd
@@ -62,10 +62,10 @@ The simulation involves the following steps:
 The final output is a
 \code{\link[SingleCellExperiment]{SingleCellExperiment}} object that
 contains the simulated counts but also the values for various intermediate
-steps. These are stored in the \code{\link[SummarizedExperiment]{colData}}
-(for cell specific information), \code{\link[SummarizedExperiment]{rowData}}
-(for gene specific information) or \code{\link[SummarizedExperiment]{assays}}
-(for gene by cell matrices) slots. This additional information includes:
+steps. These are stored in the \code{\link{colData}} (for cell specific
+information), \code{\link{rowData}} (for gene specific information) or
+\code{\link{assays}} (for gene by cell matrices) slots. This additional
+information includes:
 \describe{
     \item{\code{phenoData}}{
         \describe{
diff --git a/man/zinbEstimate.Rd b/man/zinbEstimate.Rd
index 7d819e37f7a930b0ee15d1991db1dc406c6396ae..cd570beee85d8cbc15f9c03d3dc2eb388df41a6e 100644
--- a/man/zinbEstimate.Rd
+++ b/man/zinbEstimate.Rd
@@ -41,9 +41,9 @@ features is estimated.}
 
 \item{verbose}{logical. Whether to print progress messages.}
 
-\item{BPPARAM}{A \code{\link[BiocParallel]{BiocParallelParam}} instance
-giving the parallel back-end to be used. Default is
-\code{\link[BiocParallel]{SerialParam}} which uses a single core.}
+\item{BPPARAM}{A \code{\link{BiocParallelParam}} instance giving the parallel
+back-end to be used. Default is \code{\link{SerialParam}} which uses a
+single core.}
 
 \item{...}{additional arguments passes to \code{\link[zinbwave]{zinbFit}}.}
 }
@@ -62,7 +62,10 @@ the fitted model and inserts it into a \code{\link{ZINBParams}} object. See
 }
 \examples{
 \dontrun{
+# Load example data
+library(scater)
 data("sc_example_counts")
+
 params <- zinbEstimate(sc_example_counts)
 params
 }
diff --git a/tests/testthat/test-BASiCSParams.R b/tests/testthat/test-BASiCSParams.R
index 541abc15815caaa54b6f0ec4b5fff2c35e158e7b..97866e7e63fe6bbae2d8994faf9764526f806687 100644
--- a/tests/testthat/test-BASiCSParams.R
+++ b/tests/testthat/test-BASiCSParams.R
@@ -1,7 +1,12 @@
 context("BASiCSParams")
 
+params <- newBASiCSParams()
+
+test_that("printing works", {
+    expect_output(show(params), "A Params object of class BASiCSParams")
+})
+
 test_that("gene.params checks work", {
-    params <- newBASiCSParams()
     expect_error(setParam(params, "gene.params", data.frame(A = 1, B = 1)),
                  "gene.params: Incorrect column names")
     expect_error(setParam(params, "gene.params",
@@ -10,7 +15,6 @@ test_that("gene.params checks work", {
 })
 
 test_that("cell.params checks work", {
-    params <- newBASiCSParams()
     expect_error(setParam(params, "cell.params", data.frame(A = 1, B = 1)),
                  "cell.params: Incorrect column names")
     expect_error(setParam(params, "cell.params",
@@ -19,9 +23,14 @@ test_that("cell.params checks work", {
 })
 
 test_that("nBatches checks work", {
-    params <- newBASiCSParams()
     expect_error(setParam(params, "nCells", 1),
                  "nCells cannot be set directly, set batchCells instead")
     expect_error(setParam(params, "nBatches", 1),
                  "nBatches cannot be set directly, set batchCells instead")
 })
+
+test_that("batchCells checks work", {
+    pp <- setParam(params, "batchCells", c(10, 10))
+    expect_equal(getParam(pp, "nCells"), 20)
+    expect_equal(getParam(pp, "nBatches"), 2)
+})
diff --git a/tests/testthat/test-Lun2Params.R b/tests/testthat/test-Lun2Params.R
index 5fb60621ad864a0f04ae7f1b2297f7a2b37dc167..98d424f8f540f4a64a32dfadfe3925da0bc43111 100644
--- a/tests/testthat/test-Lun2Params.R
+++ b/tests/testthat/test-Lun2Params.R
@@ -1,7 +1,12 @@
 context("Lun2Params")
 
+params <- newLun2Params()
+
+test_that("printing works", {
+    expect_output(show(params), "A Params object of class Lun2Params")
+})
+
 test_that("nCells checks work", {
-    params <- newLun2Params()
     expect_error(setParam(params, "nCells", 1),
                  "nCells cannot be set directly, set cell.plates instead")
     expect_error(setParam(params, "nPlates", 1),
@@ -9,7 +14,6 @@ test_that("nCells checks work", {
 })
 
 test_that("gene.params checks work", {
-    params <- newLun2Params()
     expect_error(setParam(params, "gene.params", data.frame(A = 1, B = 1)),
                  "gene.params: Incorrect column names")
     expect_error(setParam(params, "gene.params",
diff --git a/tests/testthat/test-LunParams.R b/tests/testthat/test-LunParams.R
new file mode 100644
index 0000000000000000000000000000000000000000..5f5720bdc56cd62d78403410424748ea4b2b16ac
--- /dev/null
+++ b/tests/testthat/test-LunParams.R
@@ -0,0 +1,17 @@
+context("LunParams")
+
+params <- newLunParams()
+
+test_that("printing works", {
+    expect_output(show(params), "A Params object of class LunParams")
+})
+
+test_that("nCells checks work", {
+    expect_error(setParam(params, "nCells", 1),
+                 "nCells cannot be set directly, set groupCells instead")
+})
+
+test_that("nGroups checks work", {
+    expect_error(setParam(params, "nGroups", 1),
+                 "nGroups cannot be set directly, set groupCells instead")
+})
diff --git a/tests/testthat/test-MFAEstimate.R b/tests/testthat/test-MFAEstimate.R
new file mode 100644
index 0000000000000000000000000000000000000000..12cee5cc796b64d179c173e2f1b5583f2fb52edb
--- /dev/null
+++ b/tests/testthat/test-MFAEstimate.R
@@ -0,0 +1,9 @@
+context("MFAEstimate")
+
+library(scater)
+data("sc_example_counts")
+
+test_that("MFAEstimate works", {
+    params <- mfaEstimate(sc_example_counts)
+    expect_true(validObject(params))
+})
diff --git a/tests/testthat/test-MFAParams.R b/tests/testthat/test-MFAParams.R
new file mode 100644
index 0000000000000000000000000000000000000000..1cd9c19990ff0e3bf06c2c30532f23d828662738
--- /dev/null
+++ b/tests/testthat/test-MFAParams.R
@@ -0,0 +1,7 @@
+context("MFAParams")
+
+params <- newMFAParams()
+
+test_that("printing works", {
+    expect_output(show(params), "A Params object of class MFAParams")
+})
diff --git a/tests/testthat/test-PhenoParams.R b/tests/testthat/test-PhenoParams.R
index d5a252daba9f5f300840bc949f8a199b79d6e7a1..d806e99a73ea7b757954fdc0b56989e5ced38297 100644
--- a/tests/testthat/test-PhenoParams.R
+++ b/tests/testthat/test-PhenoParams.R
@@ -1,15 +1,20 @@
 context("PhenoParams")
 
+params <- newPhenoParams()
+
 test_that("constructor is valid", {
-    expect_true(validObject(newPhenoParams()))
+    expect_true(validObject(params))
+})
+
+test_that("printing works", {
+    expect_output(show(params), "A Params object of class PhenoParams")
 })
 
 test_that("nGenes checks work", {
-    params <- newPhenoParams()
     expect_error(setParam(params, "nGenes", 1),
                  "nGenes cannot be set directly")
-    params <- setParam(params, "n.de", 0)
-    total <- getParam(params, "n.de") + getParam(params, "n.pst") +
-             getParam(params, "n.pst.beta") + getParam(params, "n.de.pst.beta")
-    expect_equal(getParam(params, "nGenes"), total)
+    pp <- setParam(params, "n.de", 0)
+    total <- getParam(pp, "n.de") + getParam(pp, "n.pst") +
+             getParam(pp, "n.pst.beta") + getParam(pp, "n.de.pst.beta")
+    expect_equal(getParam(pp, "nGenes"), total)
 })
diff --git a/tests/testthat/test-SCDDParams.R b/tests/testthat/test-SCDDParams.R
index da4d061f8021462f833694061cdee509d35e4558..05ff5ef034d478516785e809e9d4edae650fca9d 100644
--- a/tests/testthat/test-SCDDParams.R
+++ b/tests/testthat/test-SCDDParams.R
@@ -1,17 +1,22 @@
 context("SCDDParams")
 
+params <- newSCDDParams()
+
 test_that("constructor is valid", {
-    expect_true(validObject(newSCDDParams()))
+    expect_true(validObject(params))
+})
+
+test_that("printing works", {
+    expect_output(show(params), "A Params object of class SCDDParams")
 })
 
 test_that("nGenes checks work", {
-    params <- newSCDDParams()
     expect_error(setParam(params, "nGenes", 1),
                  paste("nGenes cannot be set directly, set nDE, nDP, nDM, nDB,",
                        "nEE or nEP instead"))
-    params <- setParam(params, "nEE", 0)
-    total <- getParam(params, "nDE") + getParam(params, "nDP") +
-             getParam(params, "nDM") + getParam(params, "nDP") +
-             getParam(params, "nEE") + getParam(params, "nEP")
-    expect_equal(getParam(params, "nGenes"), total)
-})
\ No newline at end of file
+    pp <- setParam(params, "nEE", 0)
+    total <- getParam(pp, "nDE") + getParam(pp, "nDP") +
+             getParam(pp, "nDM") + getParam(pp, "nDP") +
+             getParam(pp, "nEE") + getParam(pp, "nEP")
+    expect_equal(getParam(pp, "nGenes"), total)
+})
diff --git a/tests/testthat/test-SCE-functions.R b/tests/testthat/test-SCE-functions.R
new file mode 100644
index 0000000000000000000000000000000000000000..973cf545010fdb66ea3e9f80959e1115abde5a20
--- /dev/null
+++ b/tests/testthat/test-SCE-functions.R
@@ -0,0 +1,37 @@
+context("SCE functions")
+
+sce <- simpleSimulate()
+
+test_that("addFeatureStats works with counts", {
+    ss <- addFeatureStats(sce)
+    expect_true(all(c("MeanCounts", "VarCounts", "CVCounts", "MedCounts",
+                      "MADCounts") %in% colnames(rowData(ss))))
+    ss <- addFeatureStats(sce, log = TRUE)
+    expect_true(all(c("MeanLogCounts", "VarLogCounts", "CVLogCounts",
+                      "MedLogCounts", "MADLogCounts") %in%
+                    colnames(rowData(ss))))
+    ss <- addFeatureStats(sce, no.zeros = TRUE)
+    expect_true(all(c("MeanCountsNo0", "VarCountsNo0", "CVCountsNo0",
+                      "MedCountsNo0", "MADCountsNo0") %in%
+                        colnames(rowData(ss))))
+    ss <- addFeatureStats(sce, log = TRUE, no.zeros = TRUE)
+    expect_true(all(c("MeanLogCountsNo0", "VarLogCountsNo0", "CVLogCountsNo0",
+                      "MedLogCountsNo0", "MADLogCountsNo0") %in%
+                        colnames(rowData(ss))))
+})
+
+test_that("addGeneLengths generate method works", {
+    expect_silent(addGeneLengths(sce))
+    expect_error(addGeneLengths("a"))
+    expect_error(addGeneLengths(sce, loc = "a"))
+    expect_error(addGeneLengths(sce, scale = "a"))
+    expect_error(addGeneLengths(sce, scale = -1))
+})
+
+test_that("addGeneLength sample method works", {
+    lens <- round(runif(100, 100, 10000))
+    expect_silent(addGeneLengths(sce, method = "sample", lengths = lens))
+    expect_error(addGeneLengths(sce, method = "sample"))
+    expect_error(addGeneLengths(sce, method = "sample"), lengths = 0)
+    expect_error(addGeneLengths(sce, method = "sample"), lengths = "a")
+})
diff --git a/tests/testthat/test-SCESet-functions.R b/tests/testthat/test-SCESet-functions.R
deleted file mode 100644
index cfbac01472fc1397bc3b5a2d47ecce65b30e0c29..0000000000000000000000000000000000000000
--- a/tests/testthat/test-SCESet-functions.R
+++ /dev/null
@@ -1,19 +0,0 @@
-context("SCESet functions")
-
-test_that("addGeneLengths generate method works", {
-    sce <- simpleSimulate()
-    expect_silent(addGeneLengths(sce))
-    expect_error(addGeneLengths("a"))
-    expect_error(addGeneLengths(sce, loc = "a"))
-    expect_error(addGeneLengths(sce, scale = "a"))
-    expect_error(addGeneLengths(sce, scale = -1))
-})
-
-test_that("addGeneLength sample method works", {
-    sce <- simpleSimulate()
-    lens <- round(runif(100, 100, 10000))
-    expect_silent(addGeneLengths(sce, method = "sample", lengths = lens))
-    expect_error(addGeneLengths(sce, method = "sample"))
-    expect_error(addGeneLengths(sce, method = "sample"), lengths = 0)
-    expect_error(addGeneLengths(sce, method = "sample"), lengths = "a")
-})
diff --git a/tests/testthat/test-SimpleParams.R b/tests/testthat/test-SimpleParams.R
new file mode 100644
index 0000000000000000000000000000000000000000..3fa78dc650bded2279c5f6298882737dafff4a9c
--- /dev/null
+++ b/tests/testthat/test-SimpleParams.R
@@ -0,0 +1,7 @@
+context("SimpleParams")
+
+params <- newSimpleParams()
+
+test_that("printing works", {
+    expect_output(show(params), "A Params object of class SimpleParams")
+})
diff --git a/tests/testthat/test-SparseDCParams.R b/tests/testthat/test-SparseDCParams.R
new file mode 100644
index 0000000000000000000000000000000000000000..642ec927687d26fb6f47428733b2ac5701e308a7
--- /dev/null
+++ b/tests/testthat/test-SparseDCParams.R
@@ -0,0 +1,22 @@
+context("SparseDCParams")
+
+params <- newSparseDCParams()
+
+test_that("constructor is valid", {
+    expect_true(validObject(params))
+})
+
+test_that("printing works", {
+    expect_output(show(params), "A Params object of class SparseDCParams")
+})
+
+test_that("clusts checks work", {
+    expect_error(setParam(params, "clusts.c1", 2),
+                 "is length 1 it must equal 1")
+    expect_error(setParam(params, "clusts.c2", 2),
+                 "is length 1 it must equal 1")
+    expect_error(setParam(params, "clusts.c1", c(1, 3)),
+                 "Cluster labels must be sequential")
+    expect_error(setParam(params, "clusts.c2", c(1, 3)),
+                 "Cluster labels must be sequential")
+})
diff --git a/tests/testthat/test-SplatParams.R b/tests/testthat/test-SplatParams.R
index 208f0dfa24b672635f12709d4823b49cdaa3c7d7..d7d6752b7fba3774671d9b0d0118d55817007866 100644
--- a/tests/testthat/test-SplatParams.R
+++ b/tests/testthat/test-SplatParams.R
@@ -1,7 +1,12 @@
 context("SplatParams")
 
+params <- newSplatParams()
+
+test_that("printing works", {
+    expect_output(show(params), "A Params object of class SplatParams")
+})
+
 test_that("nBatches checks work", {
-  params <- newSplatParams()
   expect_error(setParam(params, "nCells", 1),
                "nCells cannot be set directly, set batchCells instead")
   expect_error(setParam(params, "nBatches", 1),
@@ -9,22 +14,33 @@ test_that("nBatches checks work", {
 })
 
 test_that("nGroups checks work", {
-    params <- newSplatParams()
     expect_error(setParam(params, "nGroups", 1),
                  "nGroups cannot be set directly, set group.prob instead")
 })
 
 test_that("path.from checks work", {
-    params <- newSplatParams()
-    params <- setParams(params, group.prob = c(0.5, 0.5))
-    params <- setParamUnchecked(params, "path.from", c(0, 1))
-    expect_silent(validObject(params))
-    params <- setParamUnchecked(params, "path.from", c(0, 3))
-    expect_error(validObject(params), "invalid class")
-    params <- setParamUnchecked(params, "path.from", c(1, 0))
-    expect_error(validObject(params), "path cannot begin at itself")
-    params <- newSplatParams()
-    params <- setParams(params, group.prob = c(0.3, 0.3, 0.4))
-    params <- setParamUnchecked(params, "path.from", c(2, 1, 1))
-    expect_error(validObject(params), "origin must be specified in path.from")
+    pp <- setParams(params, group.prob = c(0.5, 0.5))
+    pp <- setParamUnchecked(pp, "path.from", c(0, 1))
+    expect_silent(validObject(pp))
+    pp <- setParamUnchecked(pp, "path.from", c(0, 3))
+    expect_error(validObject(pp), "invalid class")
+    pp <- setParamUnchecked(pp, "path.from", c(1, 0))
+    expect_error(validObject(pp), "path cannot begin at itself")
+    pp <- newSplatParams()
+    pp <- setParams(pp, group.prob = c(0.3, 0.3, 0.4))
+    pp <- setParamUnchecked(pp, "path.from", c(2, 1, 1))
+    expect_error(validObject(pp), "origin must be specified in path.from")
+    pp <- setParams(params, group.prob = c(0.5, 0.5), path.from = c(0, 1))
+    expect_warning(setParam(pp, "group.prob", 1),
+                   "nGroups has changed, resetting path.from")
+})
+
+test_that("dropout.type checks work", {
+    expect_error(setParam(params, "dropout.type", "cell"),
+                 "dropout.type cannot be set to 'cell'")
+    pp <- setParams(params, dropout.mid = rep(1, 100),
+                    dropout.shape = rep(1, 100))
+    expect_silent(setParam(pp, "dropout.type", "cell"))
+    expect_error(setParam(params, "dropout.type", "a"),
+                 "dropout.type must be one of: ")
 })
diff --git a/tests/testthat/test-ZINBParams.R b/tests/testthat/test-ZINBParams.R
index bbb7abd371aa1cddae7f7332201fe10bfc209f62..061bb8ae7675db988e532f112cdf24cf4dea822a 100644
--- a/tests/testthat/test-ZINBParams.R
+++ b/tests/testthat/test-ZINBParams.R
@@ -1,11 +1,16 @@
 context("ZINBParams")
 
+params <- newZINBParams()
+
 test_that("constructor is valid", {
-    expect_true(validObject(newZINBParams()))
+    expect_true(validObject(params))
+})
+
+test_that("printing works", {
+    expect_output(show(params), "A Params object of class ZINBParams")
 })
 
 test_that("nGenes checks work", {
-    params <- newZINBParams()
     expect_error(setParam(params, "nGenes", 1),
                  "nGenes cannot be set directly")
     expect_error(setParam(params, "nCells", 1),
diff --git a/tests/testthat/test-compare.R b/tests/testthat/test-compare.R
new file mode 100644
index 0000000000000000000000000000000000000000..04d652082f78507a9edfa5fa0da889c5f4d4e59b
--- /dev/null
+++ b/tests/testthat/test-compare.R
@@ -0,0 +1,59 @@
+context("Comparison functions")
+
+sim1 <- splatSimulate(nGenes = 1000, batchCells = 20)
+sim2 <- simpleSimulate(nGenes = 1000, nCells = 20)
+
+comparison <- compareSCEs(list(Splat = sim1, Simple = sim2))
+difference <- diffSCEs(list(Splat = sim1, Simple = sim2), ref = "Simple")
+
+test_that("compareSCEs works", {
+    expect_length(comparison, 3)
+    expect_true(all(c("FeatureData", "PhenoData", "Plots") %in%
+                        names(comparison)))
+    checkmate::expect_class(comparison$PhenoData, "data.frame")
+    checkmate::expect_class(comparison$FeatureData, "data.frame")
+    expect_length(comparison$Plots, 7)
+    expect_true(all(c("Means", "Variances", "MeanVar", "LibrarySizes",
+                      "ZerosGene", "ZerosCell", "MeanZeros") %in%
+                        names(comparison$Plots)))
+    for (plot in names(comparison$Plots)) {
+        checkmate::expect_class(comparison$Plots[[plot]], "ggplot")
+    }
+})
+
+test_that("diffSCEs works", {
+    expect_length(difference, 5)
+    expect_true(all(c("Reference", "FeatureData", "PhenoData", "Plots",
+                      "QQPlots") %in% names(difference)))
+    checkmate::expect_class(difference$Reference, "SingleCellExperiment")
+    checkmate::expect_class(difference$PhenoData, "data.frame")
+    checkmate::expect_class(difference$FeatureData, "data.frame")
+    expect_length(difference$Plots, 7)
+    expect_true(all(c("Means", "Variances", "MeanVar", "LibrarySizes",
+                      "ZerosGene", "ZerosCell", "MeanZeros") %in%
+                        names(difference$Plots)))
+    for (plot in names(difference$Plots)) {
+        checkmate::expect_class(difference$Plots[[plot]], "ggplot")
+    }
+    expect_length(difference$QQPlots, 5)
+    expect_true(all(c("Means", "Variances", "LibrarySizes", "ZerosGene",
+                      "ZerosCell") %in% names(difference$QQPlots)))
+    for (plot in names(difference$QQPlots)) {
+        checkmate::expect_class(difference$QQPlots[[plot]], "ggplot")
+    }
+})
+
+# test_that("makeCompPanel works", {
+#     panel <- makeCompPanel(comparison)
+#     checkmate::expect_class(panel, "ggplot")
+# })
+#
+# test_that("makeDiffPanel works", {
+#     panel <- makeDiffPanel(difference)
+#     checkmate::expect_class(panel, "ggplot")
+# })
+#
+# test_that("makeOverallPanel works", {
+#     panel <- makeOverallPanel(comparison, difference)
+#     checkmate::expect_class(panel, "ggplot")
+# })
diff --git a/tests/testthat/test-listSims.R b/tests/testthat/test-listSims.R
new file mode 100644
index 0000000000000000000000000000000000000000..cf386c9437a04bcb0898e6cf633fc9e47a8aeab1
--- /dev/null
+++ b/tests/testthat/test-listSims.R
@@ -0,0 +1,10 @@
+context("listSims")
+
+test_that("listSims printing works", {
+    expect_output(listSims(), "Splatter currently contains")
+})
+
+test_that("listSims return works", {
+    ll <- listSims(print = FALSE)
+    checkmate::expect_class(ll, "data.frame")
+})
diff --git a/tests/testthat/test-lunEstimate.R b/tests/testthat/test-lunEstimate.R
new file mode 100644
index 0000000000000000000000000000000000000000..010ae358c0b9a825902f30e7d791e91abf409a7e
--- /dev/null
+++ b/tests/testthat/test-lunEstimate.R
@@ -0,0 +1,9 @@
+context("lunEstimate")
+
+library(scater)
+data("sc_example_counts")
+
+test_that("lunEstimate works", {
+    params <- lunEstimate(sc_example_counts)
+    expect_true(validObject(params))
+})
diff --git a/tests/testthat/test-phenoEstimate.R b/tests/testthat/test-phenoEstimate.R
new file mode 100644
index 0000000000000000000000000000000000000000..402d78164c1ad0e9491097aaa3cc978ab015e44d
--- /dev/null
+++ b/tests/testthat/test-phenoEstimate.R
@@ -0,0 +1,9 @@
+context("phenoEstimate")
+
+library(scater)
+data("sc_example_counts")
+
+test_that("phenoEstimate works", {
+    params <- phenoEstimate(sc_example_counts)
+    expect_true(validObject(params))
+})
diff --git a/tests/testthat/test-simpleEstimate.R b/tests/testthat/test-simpleEstimate.R
new file mode 100644
index 0000000000000000000000000000000000000000..3b581e1e25d09f87b79959934edcf82b6f93883f
--- /dev/null
+++ b/tests/testthat/test-simpleEstimate.R
@@ -0,0 +1,9 @@
+context("simpleEstimate")
+
+library(scater)
+data("sc_example_counts")
+
+test_that("simpleEstimate works", {
+    params <- simpleEstimate(sc_example_counts)
+    expect_true(validObject(params))
+})
diff --git a/tests/testthat/test-sparseDC-simulate.R b/tests/testthat/test-sparseDC-simulate.R
new file mode 100644
index 0000000000000000000000000000000000000000..7edef92b9c691a480eecd58721994098e2fb259a
--- /dev/null
+++ b/tests/testthat/test-sparseDC-simulate.R
@@ -0,0 +1,5 @@
+context("SparseDC simulation")
+
+test_that("SparseDC simulation output is valid", {
+    expect_true(validObject(sparseDCSimulate()))
+})
diff --git a/tests/testthat/test-sparseDCEstimate.R b/tests/testthat/test-sparseDCEstimate.R
new file mode 100644
index 0000000000000000000000000000000000000000..3bdc50b7962a008a1a8db7630144d7560192d7ac
--- /dev/null
+++ b/tests/testthat/test-sparseDCEstimate.R
@@ -0,0 +1,12 @@
+context("sparseDCEstimate")
+
+library(scater)
+data("sc_example_counts")
+
+test_that("sparseDCEstimate works", {
+    set.seed(1)
+    conditions <- sample(1:2, ncol(sc_example_counts), replace = TRUE)
+    params <- sparseDCEstimate(sc_example_counts, conditions,
+                               nclusters = 3)
+    expect_true(validObject(params))
+})
diff --git a/tests/testthat/test-splat-simulate.R b/tests/testthat/test-splat-simulate.R
index 9d99cf7b7fc3c762d7a821a255c9ae6415ea87ad..fb4dfecba4cbeb0f739cf4d85d4f995ccb0fffda 100644
--- a/tests/testthat/test-splat-simulate.R
+++ b/tests/testthat/test-splat-simulate.R
@@ -1,4 +1,4 @@
-context("Splatter simulations")
+context("Splat simulations")
 
 test.params <- newSplatParams(nGenes = 100, batchCells = c(5, 5),
                               group.prob = c(0.5, 0.5), lib.scale = 0)
@@ -6,7 +6,8 @@ test.params <- newSplatParams(nGenes = 100, batchCells = c(5, 5),
 test_that("splatSimulate output is valid", {
     expect_true(validObject(splatSimulate(test.params, method = "single")))
     expect_true(validObject(splatSimulate(test.params, method = "groups")))
-    expect_true(validObject(splatSimulate(test.params, method = "paths")))
+    expect_true(validObject(splatSimulate(test.params, method = "paths",
+                                          path.from = c(0, 1))))
 })
 
 test_that("one group switches to single mode", {
@@ -21,3 +22,14 @@ test_that("infinite bcv.df is detected", {
     expect_warning(splatSimulate(test.params, bcv.df = Inf),
                    "'bcv.df' is infinite. This parameter will be ignored.")
 })
+
+test_that("dropout.type checks work", {
+    pp <- setParams(test.params, dropout.type = "experiment")
+    expect_true(validObject(splatSimulate(pp, method = "single")))
+    pp <- setParams(pp, dropout.mid = 1:2)
+    expect_error(splatSimulate(pp), "aren't length 1")
+    pp <- setParams(test.params, group.prob = c(0.5, 0.5),
+                    dropout.mid = c(1, 2), dropout.shape = c(-1, -0.5),
+                    dropout.type = "group")
+    expect_error(splatSimulate(pp), "groups have not been simulated")
+})
diff --git a/tests/testthat/test-utils.R b/tests/testthat/test-utils.R
new file mode 100644
index 0000000000000000000000000000000000000000..d4b7bdc9c180b44f901f5fcc17435e83755df90d
--- /dev/null
+++ b/tests/testthat/test-utils.R
@@ -0,0 +1,22 @@
+context("utils")
+
+test_that("logistic function works", {
+    expect_equal(logistic(0, x0 = 0, k = 1), 0.5)
+})
+
+test_that("rbindMatched works", {
+    df1 <- data.frame(A = 1:3, B = 4:6, C = 7:9)
+    df2 <- data.frame(D = 0)
+    expect_error(rbindMatched(df1, df2),
+                 "There must be at least two columns in common")
+    df2 <- data.frame(A = 1:3)
+    expect_error(rbindMatched(df1, df2),
+                 "There must be at least two columns in common")
+    df2 <- data.frame(A = 1:3, C = 7:9, D = 0)
+    expect_equal(colnames(rbindMatched(df1, df2)), c("A", "C"))
+})
+
+test_that("winsorize works", {
+    x <- c(0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2)
+    expect_true(all(winsorize(x, q = 0.1) == 1))
+})
diff --git a/vignettes/splatter.Rmd b/vignettes/splatter.Rmd
index ae895ee3c5d0c192fc358c541f32b2c67d383604..46135d2e4fdf454725c873ce43e48695db308187 100644
--- a/vignettes/splatter.Rmd
+++ b/vignettes/splatter.Rmd
@@ -36,7 +36,7 @@ biocLite("splatter")
 To install the most recent development version from Github use:
 
 ```{r install-github, eval = FALSE}
-biocLite("Oshlack/splatter", dependencies = TRUE, 
+biocLite("Oshlack/splatter", dependencies = TRUE,
          build_vignettes = TRUE)
 ```
 
@@ -51,11 +51,12 @@ Splatter. Here is an example using the example dataset in the `scater` package:
 library(splatter)
 
 # Load example data
+library(scater)
 data("sc_example_counts")
 # Estimate parameters from example data
 params <- splatEstimate(sc_example_counts)
 # Simulate data using estimated parameters
-sim <- splatSimulate(params, dropout.present = FALSE)
+sim <- splatSimulate(params)
 ```
 
 These steps will be explained in detail in the following sections but briefly
@@ -102,9 +103,11 @@ The parameters required for the Splat simulation are briefly described here:
     * `mean.rate` - Rate parameter for the mean gamma distribution.
 * **Library size parameters**
     * `lib.loc` - Location (meanlog) parameter for the library size log-normal
-      distribution.
+      distribution, or mean for the normal distribution.
     * `lib.scale` - Scale (sdlog) parameter for the library size log-normal
-      distribution.
+      distribution, or sd for the normal distribution.
+    * `lib.norm` - Whether to use a normal distribution instead of the usual
+      log-normal distribution.
 * **Expression outlier parameters**
     * `out.prob` - Probability that a gene is an expression outlier.
     * `out.facLoc` - Location (meanlog) parameter for the expression outlier
@@ -128,7 +131,7 @@ The parameters required for the Splat simulation are briefly described here:
     * `bcv.df` - Degrees of Freedom for the BCV inverse chi-squared
       distribution.
 * **Dropout parameters**
-    * `dropout.present` - Logical. Whether to simulate dropout.
+    * `dropout.type` - Type of dropout to simulate.
     * `dropout.mid` - Midpoint parameter for the dropout logistic function.
     * `dropout.shape` - Shape parameter for the dropout logistic function.
 * **Differentiation path parameters**
@@ -160,7 +163,7 @@ As well as telling us what type of object we have ("A `Params` object of class
 some extra information. We can see which parameters can be estimated by the
 `splatEstimate` function (those in parentheses), which can't be estimated
 (those in brackets) and which have been changed from their default values (those
-in ALL CAPS). 
+in ALL CAPS).
 
 ## Getting and setting
 
@@ -246,7 +249,7 @@ can provide them as additional arguments, alternatively if we don't supply any
 parameters the defaults will be used:
 
 ```{r splatSimulate}
-sim <- splatSimulate(params, nGenes = 1000, dropout.present = FALSE)
+sim <- splatSimulate(params, nGenes = 1000)
 sim
 ```
 
@@ -330,7 +333,7 @@ So far we have only simulated a single population of cells but often we are
 interested in investigating a mixed population of cells and looking to see what
 cell types are present or what differences there are between them. Splatter is
 able to simulate these situations by changing the `method` argument Here we are
-going to simulate two groups, by specifying the `group.prob` parameter and 
+going to simulate two groups, by specifying the `group.prob` parameter and
 setting the `method` parameter to `"groups"`:
 
 (**NOTE:** We have also set the `verbose` argument to `FALSE` to stop Splatter
@@ -354,7 +357,7 @@ The other situation that is often of interest is a differentiation process where
 one cell type is changing into another. Splatter approximates this process by
 simulating a series of steps between two groups and randomly assigning each
 cell to a step. We can create this kind of simulation using the `"paths"`
-method. 
+method.
 
 ```{r paths}
 sim.paths <- splatSimulate(method = "paths", verbose = FALSE)
@@ -362,7 +365,7 @@ sim.paths <- normalise(sim.paths)
 plotPCA(sim.paths, colour_by = "Step")
 ```
 
-Here the colours represent the "step" of each cell or how far along the 
+Here the colours represent the "step" of each cell or how far along the
 differentiation path it is. We can see that the cells with dark colours are more
 similar to the originating cell type and the light coloured cells are closer
 to the final, differentiated, cell type. By setting additional parameters it is
@@ -393,8 +396,7 @@ that we aren't interested in (batch) and the wanted variation we are looking for
 sim.groups <- splatSimulate(batchCells = c(50, 50), group.prob = c(0.5, 0.5),
                             method = "groups", verbose = FALSE)
 sim.groups <- normalise(sim.groups)
-plotPCA(sim.groups, shape_by = "Batch", colour_by = "Group",
-        exprs_values = "counts")
+plotPCA(sim.groups, shape_by = "Batch", colour_by = "Group")
 ```
 
 Here we see that the effects of the group (first component) are stronger than
@@ -462,9 +464,9 @@ tpm(sim)[1:5, 1:5]
 
 The default method used by `addGeneLengths` to simulate lengths is to generate
 values from a log-normal distribution which are then rounded to give an integer
-length. The parameters for this distribution are based on human protein coding 
-genes but can be adjusted if needed (for example for other species). 
-Alternatively lengths can be sampled from a provided vector (see 
+length. The parameters for this distribution are based on human protein coding
+genes but can be adjusted if needed (for example for other species).
+Alternatively lengths can be sampled from a provided vector (see
 `?addGeneLengths` for details and an example).
 
 # Comparing simulations and real data