diff --git a/DESCRIPTION b/DESCRIPTION
index af80af7822f107b89bc93841b30e293bfd0fd438..8d6ed5f3936c6bef47b00f601fae2b6db5231f65 100644
--- a/DESCRIPTION
+++ b/DESCRIPTION
@@ -1,8 +1,8 @@
 Package: splatter
 Type: Package
 Title: Simple Simulation of Single-cell RNA Sequencing Data
-Version: 1.1.6
-Date: 2017-10-02
+Version: 1.1.7
+Date: 2017-10-05
 Author: Luke Zappia
 Authors@R:
     c(person("Luke", "Zappia", role = c("aut", "cre"),
diff --git a/NEWS.md b/NEWS.md
index cef16188426f0dbc0e04c451e242d5358ef872d7..9066d35406e9f8ecbae08b624d504c27a55f56d7 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -1,3 +1,9 @@
+## Version 1.1.7 (2017-10-05)
+
+* Add PhenoPath simulation
+* Add ZINB-WaVE simulation
+* Adjust mfaSimulate output
+
 ## Version 1.1.6 (2017-10-02)
 
 * Update scDD version
diff --git a/R/mfa-simulate.R b/R/mfa-simulate.R
index bca30e7900f9b8c41cb5d65c531fa296df7704d3..b208bdeacd10aea2972644ad9aa27321618084ff 100644
--- a/R/mfa-simulate.R
+++ b/R/mfa-simulate.R
@@ -59,11 +59,12 @@ mfaSimulate <- function(params = newMFAParams(), verbose = TRUE, ...) {
     gene.names <- paste0("Gene", seq_len(nGenes))
 
     exprs <- t(mfa.sim$X)
+    rownames(exprs) <- gene.names
+    colnames(exprs) <- cell.names
+
     counts <- 2 ^ exprs - 1
     counts[counts < 0] <- 0
     counts <- round(counts)
-    rownames(counts) <- gene.names
-    colnames(counts) <- cell.names
 
     cells <- data.frame(Cell = cell.names,
                         Branch = mfa.sim$branch,
diff --git a/R/zinb-estimate.R b/R/zinb-estimate.R
index 217283c8e91058b5199ee67462b5437b0ecbce0b..2a14443ccba5949f9cfba69730a0887b7b4ecdb3 100644
--- a/R/zinb-estimate.R
+++ b/R/zinb-estimate.R
@@ -28,9 +28,11 @@
 #' @return ZINBParams object containing the estimated parameters.
 #'
 #' @examples
+#' \dontrun{
 #' data("sc_example_counts")
 #' params <- zinbEstimate(sc_example_counts)
 #' params
+#' }
 #' @importFrom BiocParallel SerialParam
 #' @export
 zinbEstimate <- function(counts, design.samples = NULL, design.genes = NULL,
diff --git a/_pkgdown.yml b/_pkgdown.yml
index 66805598959cbcf95237f1db8c4cd79fd4c19143..74aacfba6c37242e8a30deae1f51dd0cf058329a 100644
--- a/_pkgdown.yml
+++ b/_pkgdown.yml
@@ -15,7 +15,7 @@ reference:
       - '`MFAParams`'
       - '`newParams`'
       - '`Params`'
-      - '`phenoParams`'
+      - '`PhenoParams`'
       - '`SCDDParams`'
       - '`SimpleParams`'
       - '`SplatParams`'
diff --git a/docs/articles/index.html b/docs/articles/index.html
index 35e1b8d093308f4710b79893b79f3cd3c30aa4c5..3a8201b24fa0eb72c1e919ca03dd7abcd1891335 100644
--- a/docs/articles/index.html
+++ b/docs/articles/index.html
@@ -96,7 +96,7 @@
       </header>
 
       <div class="page-header">
-  <h1>Articles <small>version&nbsp;1.1.6</small></h1>
+  <h1>Articles <small>version&nbsp;1.1.7</small></h1>
 </div>
 
 <div class="row">
diff --git a/docs/articles/splatter.html b/docs/articles/splatter.html
index fa8212094a6c15b5dbaa1e53cd87c3d1eacaf790..93aae153288311a4c6e9d4504519e98587ba1ae0 100644
--- a/docs/articles/splatter.html
+++ b/docs/articles/splatter.html
@@ -76,7 +76,7 @@
       <h1>Introduction to Splatter</h1>
                         <h4 class="author">Luke Zappia</h4>
             
-            <h4 class="date">2017-10-02</h4>
+            <h4 class="date">2017-10-05</h4>
           </div>
 
     
@@ -317,7 +317,7 @@ params</code></pre></div>
 ## 
 ## Global: 
 ## (Genes)  (Cells)   [Seed]  
-##   10000      100   395011  
+##   10000      100   882480  
 ## 
 ## 27 additional parameters 
 ## 
@@ -390,7 +390,7 @@ params</code></pre></div>
 ## 
 ## Global: 
 ## (GENES)  (Cells)   [Seed]  
-##    8000      100   395011  
+##    8000      100   882480  
 ## 
 ## 27 additional parameters 
 ## 
@@ -501,45 +501,45 @@ sc_example_counts[<span class="dv">1</span><span class="op">:</span><span class=
 <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>
 <pre><code>##       Cell1 Cell2 Cell3 Cell4 Cell5
-## Gene1     0   402    19   311     0
-## Gene2     0    12    25   252     0
-## Gene3     0     0     0     3     0
-## Gene4     0     0     0    14     3
-## Gene5     0    95     0     7     0</code></pre>
+## Gene1     0     0     2     0    22
+## Gene2 25024   156     1    24     0
+## Gene3   185   126     2     0     0
+## Gene4    17     0     1     0     0
+## Gene5     0     0     0     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>
 <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  210.1089973             1 210.1089973
-## 2    Gene2   45.3776510             1  45.3776510
-## 3    Gene3    0.6516767             1   0.6516767
-## 4    Gene4   74.2508364             1  74.2508364
-## 5    Gene5   13.9862181             1  13.9862181
-## 6    Gene6    6.9628144             1   6.9628144</code></pre>
+##       Gene BaseGeneMean OutlierFactor     GeneMean
+##   &lt;factor&gt;    &lt;numeric&gt;     &lt;numeric&gt;    &lt;numeric&gt;
+## 1    Gene1 5.975143e+00             1 5.975143e+00
+## 2    Gene2 6.047020e+02             1 6.047020e+02
+## 3    Gene3 3.407454e+02             1 3.407454e+02
+## 4    Gene4 1.041869e+00             1 1.041869e+00
+## 5    Gene5 6.429022e-03             1 6.429022e-03
+## 6    Gene6 5.051255e+02             1 5.051255e+02</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>
 <pre><code>## DataFrame with 6 rows and 3 columns
 ##           Cell       Batch ExpLibSize
 ##       &lt;factor&gt; &lt;character&gt;  &lt;numeric&gt;
-## Cell1    Cell1      Batch1  1187108.5
-## Cell2    Cell2      Batch1   600191.4
-## Cell3    Cell3      Batch1   688730.7
-## Cell4    Cell4      Batch1   256123.3
-## Cell5    Cell5      Batch1   278401.4
-## Cell6    Cell6      Batch1   385774.4</code></pre>
+## Cell1    Cell1      Batch1   413957.7
+## Cell2    Cell2      Batch1   476887.9
+## Cell3    Cell3      Batch1   367310.0
+## Cell4    Cell4      Batch1   147775.6
+## Cell5    Cell5      Batch1   193681.3
+## Cell6    Cell6      Batch1   590802.3</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>
 <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>
-<pre><code>##              Cell1        Cell2        Cell3      Cell4        Cell5
-## Gene1 8.281664e-05 4.086520e+02 1.480335e+01 306.253250 1.453613e-02
-## Gene2 2.394664e-13 1.278677e+01 2.171332e+01 278.515526 3.609326e-11
-## Gene3 7.817149e-21 5.174676e-13 3.583580e-01   2.217521 9.095013e-52
-## Gene4 1.737589e-08 4.257554e-11 1.005446e-07  16.146507 3.822216e+00
-## Gene5 2.822351e-22 1.094278e+02 9.679284e-05   8.000741 1.988529e-05</code></pre>
+<pre><code>##              Cell1        Cell2      Cell3        Cell4        Cell5
+## Gene1 4.400164e-01 6.304542e-02 1.10406696 8.139464e-10 2.335664e+01
+## Gene2 2.526252e+04 1.595860e+02 0.03470768 2.065810e+01 6.231519e-02
+## Gene3 1.899993e+02 1.229909e+02 1.03528470 4.606624e-03 1.921180e-06
+## Gene4 1.421395e+01 5.383794e-10 0.34678991 7.669389e-03 2.339044e-18
+## Gene5 3.522450e-87 2.621383e-03 0.01039596 3.410733e-82 1.870620e-46</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>
 <p><img src="splatter_files/figure-html/pca-1.png" width="576" style="display: block; margin: auto;"></p>
@@ -640,39 +640,43 @@ sc_example_counts[<span class="dv">1</span><span class="op">:</span><span class=
 <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 8 simulations 
+<pre><code>## Splatter currently contains 9 simulations 
 ## 
 ## Splat (splat) 
-## DOI:      Github:  
-## The Splat simulation generates means from a gamma distribution, adjusts them for BCV and generates counts from a gamma-poisson. Dropout can be optionally added. 
+## DOI:      GitHub:  
+## 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:      GitHub:  
 ## The Splat simulation with a single population. 
 ## 
 ## Splat Groups (splatGroups) 
-## DOI:      Github:  
+## DOI:      GitHub:  
 ## 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:      GitHub:  
 ## 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:      GitHub:  
 ## A simple simulation with gamma means and negative binomial counts. 
 ## 
 ## Lun (lun) 
-## DOI: 10.1186/s13059-016-0947-7    Github: MarioniLab/Deconvolution2016 
+## DOI: 10.1186/s13059-016-0947-7    GitHub: MarioniLab/Deconvolution2016 
 ## 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.1101/073973   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.</code></pre>
+## 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. 
+## 
+## 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.</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>
 <table class="table">
@@ -680,7 +684,7 @@ sc_example_counts[<span class="dv">1</span><span class="op">:</span><span class=
 <th align="left">Name</th>
 <th align="left">Prefix</th>
 <th align="left">DOI</th>
-<th align="left">Github</th>
+<th align="left">GitHub</th>
 <th align="left">Description</th>
 </tr></thead>
 <tbody>
@@ -689,7 +693,7 @@ sc_example_counts[<span class="dv">1</span><span class="op">:</span><span class=
 <td align="left">splat</td>
 <td align="left"></td>
 <td align="left"></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 can be optionally added.</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>
@@ -740,6 +744,13 @@ sc_example_counts[<span class="dv">1</span><span class="op">:</span><span class=
 <td align="left">kdkorthauer/scDD</td>
 <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">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>
 </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>
@@ -752,23 +763,23 @@ sc_example_counts[<span class="dv">1</span><span class="op">:</span><span class=
 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>
 <pre><code>## DataFrame with 6 rows and 3 columns
-##       Gene    GeneMean    Length
-##   &lt;factor&gt;   &lt;numeric&gt; &lt;numeric&gt;
-## 1    Gene1 10.53439855      5193
-## 2    Gene2  2.10971396      4499
-## 3    Gene3  4.47004567      5511
-## 4    Gene4  0.19267026      3381
-## 5    Gene5  0.06672189      2570
-## 6    Gene6  0.87920676       806</code></pre>
+##       Gene   GeneMean    Length
+##   &lt;factor&gt;  &lt;numeric&gt; &lt;numeric&gt;
+## 1    Gene1 1.60506942      1775
+## 2    Gene2 2.17500094      4361
+## 3    Gene3 1.16851643      2915
+## 4    Gene4 0.01040965     16794
+## 5    Gene5 0.06781127       948
+## 6    Gene6 3.03114500      3089</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>
 <pre><code>##            Cell1      Cell2      Cell3      Cell4      Cell5
-## Gene1 0.22854912 0.16875798 0.23480191 0.20342087 0.21439203
-## Gene2 0.04946331 0.01623250 0.03387770 0.03354284 0.03299512
-## Gene3 0.05384030 0.07951009 0.02765665 0.04107491 0.02693613
+## Gene1 0.08215535 0.04069785 0.08360619 0.08404271 0.08403017
+## Gene2 0.03343860 0.01656470 0.13611647 0.00000000 0.06840337
+## Gene3 0.00000000 0.02478171 0.05090943 0.02558762 0.02558380
 ## Gene4 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
-## Gene5 0.00000000 0.00000000 0.00000000 0.02935977 0.00000000</code></pre>
+## Gene5 0.00000000 0.07620114 0.00000000 0.00000000 0.00000000</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">
@@ -861,7 +872,7 @@ cowplot<span class="op">::</span><span class="kw"><a href="http://www.rdocumenta
 ## [8] methods   base     
 ## 
 ## other attached packages:
-##  [1] splatter_1.1.5              scater_1.5.16              
+##  [1] splatter_1.1.6              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.14       GenomeInfoDb_1.13.4        
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 47201d4b770edcfd0b4f2d932baccff8d08533d9..eb42b627b7e8136455b45ee86993b878eac7a3a7 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 29cb1e2ba0e985b60e24c566827f07e2613833ee..4b9344af05f6b9605687de4bddbd1aac613606bd 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 6079e05e5c640f1eafef977cf7ade0990c0af9d8..f7ca97f026a258d82f90d4f243174e22f56fcce7 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 f0a864ce59f2fcb7a15f49d1e994da88903ab372..40c48bd74482a195f1ffedb3beb0623fb60d782d 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 e30d2b989a5e7ea93c92d7ebb03dafe361bb0bb6..b3bb741a1b4e1983deeedaf696b1a4af65a8269d 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 c3b4767465d21da1f78f06056dfbc5bf924f3280..28f9ce1fffccee41940cb797ef67850953ca6e6f 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 ff20b71da700841bb3be835edf916b3ffe3767d7..b8ee35813e8da27637fa045af06b3b7b0ac46fa0 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 49505f4af1116899167599f9d00fbbe436c27c8d..907ccfe91628f011c89b6214cd51b99128358b02 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 f675f283e8d71b9efeef2465c4e05e5e9cae394c..93b1a5792e5960781d2fb1cad254516dccf7586b 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/news/index.html b/docs/news/index.html
index 8c92674a484b15ac19a70e12947eee4d8eb62938..a33131ead1bdf1d58d7987e3f3ff5774a253791d 100644
--- a/docs/news/index.html
+++ b/docs/news/index.html
@@ -103,6 +103,15 @@
     </div>
 
     <div class="contents">
+    <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>
+<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>
@@ -439,6 +448,7 @@
     <div id="tocnav">
       <h2>Contents</h2>
       <ul class="nav nav-pills nav-stacked">
+        <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>
diff --git a/docs/reference/PhenoParams.html b/docs/reference/PhenoParams.html
new file mode 100644
index 0000000000000000000000000000000000000000..79dce00cb9cb926c15759b34cfa0740bcdefcd10
--- /dev/null
+++ b/docs/reference/PhenoParams.html
@@ -0,0 +1,154 @@
+<!-- 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 PhenoParams class — PhenoParams • 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 PhenoParams class</h1>
+    </div>
+
+    
+    <p>S4 class that holds parameters for the PhenoPath simulation.</p>
+    
+
+        
+    <h2 class="hasAnchor" id="parameters"><a class="anchor" href="#parameters"></a>Parameters</h2>
+
+    
+    <p>The PhenoPath simulation uses the following parameters:</p><dl class='dl-horizontal'>
+    <dt><code>nGenes</code></dt><dd><p>The number of genes to simulate.</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>[n.de]</code></dt><dd><p>Number of genes to simulate from the differential
+    expression regime</p></dd>
+    <dt><code>[n.pst]</code></dt><dd><p>Number of genes to simulate from the pseudotime
+    regime</p></dd>
+    <dt><code>[n.pst.beta]</code></dt><dd><p>Number of genes to simulate from the
+    pseudotime + beta interactions regime</p></dd>
+    <dt><code>[n.de.pst.beta]</code></dt><dd><p>Number of genes to simulate from the
+    differential expression + pseudotime + interactions regime</p></dd>
+</dl>
+    <p>The parameters not shown in brackets can be estimated from real data using
+<code><a href='phenoEstimate.html'>phenoEstimate</a></code>. For details of the PhenoPath simulation
+see <code><a href='phenoSimulate.html'>phenoSimulate</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://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+</div>
+
+      </footer>
+   </div>
+
+  </body>
+</html>
diff --git a/docs/reference/ZINBParams.html b/docs/reference/ZINBParams.html
new file mode 100644
index 0000000000000000000000000000000000000000..531f0b99428c90fb54fea5a6c93b55cc50b3cf8b
--- /dev/null
+++ b/docs/reference/ZINBParams.html
@@ -0,0 +1,151 @@
+<!-- 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 ZINBParams class — ZINBParams • 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 ZINBParams class</h1>
+    </div>
+
+    
+    <p>S4 class that holds parameters for the ZINB-WaVE simulation.</p>
+    
+
+        
+    <h2 class="hasAnchor" id="parameters"><a class="anchor" href="#parameters"></a>Parameters</h2>
+
+    
+    <p>The ZINB-WaVE simulation uses the following parameters:</p><dl class='dl-horizontal'>
+    <dt><code>nGenes</code></dt><dd><p>The number of genes to simulate.</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>model</code></dt><dd><p>Object describing a ZINB model.</p></dd>
+</dl>
+    <p>The majority of the parameters for this simulation are stored in a
+<code><a href='http://www.rdocumentation.org/packages/zinbwave/topics/ZinbModel-class'>ZinbModel</a></code> object. Please refer to the documentation
+for this class and its constructor(<code><a href='http://www.rdocumentation.org/packages/zinbwave/topics/zinbModel'>zinbModel</a></code>) for
+details about all the parameters.</p>
+<p>The parameters not shown in brackets can be estimated from real data using
+<code><a href='zinbEstimate.html'>zinbEstimate</a></code>. For details of the ZINB-WaVE simulation
+see <code><a href='zinbSimulate.html'>zinbSimulate</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://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+</div>
+
+      </footer>
+   </div>
+
+  </body>
+</html>
diff --git a/docs/reference/addGeneLengths.html b/docs/reference/addGeneLengths.html
index 7e1c743953665b18c481918dedb2e09ca5a0aafb..9fa10ffe6a1724705b175161d6e785c1e0715034 100644
--- a/docs/reference/addGeneLengths.html
+++ b/docs/reference/addGeneLengths.html
@@ -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.02190272      2415
-#&gt; 2    Gene2 0.42347583      4759
-#&gt; 3    Gene3 0.09714480      5381
-#&gt; 4    Gene4 0.77350851      4799
-#&gt; 5    Gene5 1.78755781      4590
-#&gt; 6    Gene6 0.06988693       925</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 0.8455684      1284
+#&gt; 2    Gene2 0.1606091      5127
+#&gt; 3    Gene3 6.7083234      1847
+#&gt; 4    Gene4 0.2917321      2194
+#&gt; 5    Gene5 1.4748643      1567
+#&gt; 6    Gene6 0.0326816      7629</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>)
diff --git a/docs/reference/index.html b/docs/reference/index.html
index aeeac57b4384d872ff84283a807598ade777c55e..3697b90316d31166e41d778508a961047ef7f515 100644
--- a/docs/reference/index.html
+++ b/docs/reference/index.html
@@ -100,7 +100,7 @@
     <div class="page-header">
       <h1>
         Reference
-        <small>version&nbsp;1.1.6</small>
+        <small>version&nbsp;1.1.7</small>
       </h1>
     </div>
 
@@ -152,7 +152,7 @@
         </tr><tr>
           <!--  -->
           <td>
-            <p><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">newSCDDParams</a></code> <code><a href="newParams.html">newSimpleParams</a></code> <code><a href="newParams.html">newSplatParams</a></code> </p>
+            <p><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>
           </td>
           <td><p>New Params</p></td>
         </tr><tr>
@@ -161,6 +161,12 @@
             <p></p>
           </td>
           <td><p>The Params virtual class</p></td>
+        </tr><tr>
+          <!--  -->
+          <td>
+            <p></p>
+          </td>
+          <td><p>The PhenoParams class</p></td>
         </tr><tr>
           <!--  -->
           <td>
@@ -191,6 +197,12 @@
             <p><code><a href="setParams.html">setParams</a></code> </p>
           </td>
           <td><p>Set parameters</p></td>
+        </tr><tr>
+          <!--  -->
+          <td>
+            <p></p>
+          </td>
+          <td><p>The ZINBParams class</p></td>
         </tr>
       </tbody><tbody>
         <tr>
@@ -217,6 +229,12 @@
             <p><code><a href="mfaEstimate.html">mfaEstimate</a></code> </p>
           </td>
           <td><p>Estimate mfa simulation parameters</p></td>
+        </tr><tr>
+          <!--  -->
+          <td>
+            <p><code><a href="phenoEstimate.html">phenoEstimate</a></code> </p>
+          </td>
+          <td><p>Estimate PhenoPath simulation parameters</p></td>
         </tr><tr>
           <!--  -->
           <td>
@@ -265,6 +283,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="zinbEstimate.html">zinbEstimate</a></code> </p>
+          </td>
+          <td><p>Estimate ZINB-WaVE simulation parameters</p></td>
         </tr>
       </tbody><tbody>
         <tr>
@@ -291,6 +315,12 @@
             <p><code><a href="mfaSimulate.html">mfaSimulate</a></code> </p>
           </td>
           <td><p>MFA simulation</p></td>
+        </tr><tr>
+          <!--  -->
+          <td>
+            <p><code><a href="phenoEstimate.html">phenoEstimate</a></code> </p>
+          </td>
+          <td><p>Estimate PhenoPath simulation parameters</p></td>
         </tr><tr>
           <!--  -->
           <td>
@@ -363,6 +393,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="zinbSimulate.html">zinbSimulate</a></code> </p>
+          </td>
+          <td><p>ZINB-WaVE simulation</p></td>
         </tr>
       </tbody><tbody>
         <tr>
diff --git a/docs/reference/listSims.html b/docs/reference/listSims.html
index 5cbb9a4142bf6233f69ec2a324f2db153048b682..dca08b58960dfd1925bdb25b7db37f28e96a8060 100644
--- a/docs/reference/listSims.html
+++ b/docs/reference/listSims.html
@@ -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 9 simulations 
+    <pre class="examples"><div class='input'><span class='fu'>listSims</span>()</div><div class='output co'>#&gt; Splatter currently contains 11 simulations 
 #&gt; 
 #&gt; Splat (splat) 
 #&gt; DOI:  	 GitHub:  
@@ -161,6 +161,14 @@ displayed.</p>
 #&gt; mfa (mfa) 
 #&gt; DOI: 10.12688/wellcomeopenres.11087.1 	 GitHub: kieranrcampbell/mfa 
 #&gt; The mfa simulation produces a bifurcating pseudotime trajectory. This can optionally include genes with transient changes in expression and added dropout. 
+#&gt; 
+#&gt; PhenoPath (pheno) 
+#&gt; DOI: 10.1101/159913 	 GitHub: kieranrcampbell/phenopath 
+#&gt; The PhenoPath simulation produces a pseudotime trajectory with different types of genes. 
+#&gt; 
+#&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; </div></pre>
   </div>
   <div class="col-md-3 hidden-xs hidden-sm" id="sidebar">
diff --git a/docs/reference/lunEstimate.html b/docs/reference/lunEstimate.html
index dacfa9b7c5500d613942dc015e7ca9423671fd57..4d3d97cd872674d7b8ac41b6fd430e77fa6eb8e0 100644
--- a/docs/reference/lunEstimate.html
+++ b/docs/reference/lunEstimate.html
@@ -146,7 +146,7 @@ for more details on the parameters.</p>
 #&gt; 
 #&gt; Global: 
 #&gt; (GENES)  (CELLS)   [Seed]  
-#&gt;    2000       40   116529  
+#&gt;    2000       40    80751  
 #&gt; 
 #&gt; 9 additional parameters 
 #&gt; 
diff --git a/docs/reference/mfaEstimate.html b/docs/reference/mfaEstimate.html
index 92b8c0e31fff2175d299737aae38e27481b22000..86367e0bb4179d6ec5e7f6919ec418f9748ef277 100644
--- a/docs/reference/mfaEstimate.html
+++ b/docs/reference/mfaEstimate.html
@@ -147,7 +147,7 @@ details on the parameters.</p>
 #&gt; 
 #&gt; Global: 
 #&gt; (GENES)  (CELLS)   [Seed]  
-#&gt;    2000       40   116529  
+#&gt;    2000       40    80751  
 #&gt; 
 #&gt; 4 additional parameters 
 #&gt; 
diff --git a/docs/reference/mfaSimulate.html b/docs/reference/mfaSimulate.html
index 317790982e28c307d4ad3876179e68d20a05777e..f0365d753ec6394242e02404a28ab09a3f01f52c 100644
--- a/docs/reference/mfaSimulate.html
+++ b/docs/reference/mfaSimulate.html
@@ -133,9 +133,10 @@
 
     <p>This function is just a wrapper around <code><a href='http://www.rdocumentation.org/packages/mfa/topics/create_synthetic'>create_synthetic</a></code>
 that takes a <code><a href='MFAParams.html'>MFAParams</a></code>, runs the simulation then converts the
-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/mfa/topics/create_synthetic'>create_synthetic</a></code> and the mfa paper for more details
-about how the simulation works.</p>
+output from log-expression to counts and returns 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/mfa/topics/create_synthetic'>create_synthetic</a></code> and the mfa paper for more details about
+how the simulation works.</p>
     
     <h2 class="hasAnchor" id="references"><a class="anchor" href="#references"></a>References</h2>
 
diff --git a/docs/reference/newParams.html b/docs/reference/newParams.html
index 466518a4a390c0141791e48be6842c3bd0ef8e85..f4a4e70af542d39e7fd1ae5f96078a8115ba9684 100644
--- a/docs/reference/newParams.html
+++ b/docs/reference/newParams.html
@@ -112,11 +112,15 @@ Params subtypes.</p>
 
 <span class='fu'>newMFAParams</span>(<span class='no'>...</span>)
 
+<span class='fu'>newPhenoParams</span>(<span class='no'>...</span>)
+
 <span class='fu'>newSCDDParams</span>(<span class='no'>...</span>)
 
 <span class='fu'>newSimpleParams</span>(<span class='no'>...</span>)
 
-<span class='fu'>newSplatParams</span>(<span class='no'>...</span>)</pre>
+<span class='fu'>newSplatParams</span>(<span class='no'>...</span>)
+
+<span class='fu'>newZINBParams</span>(<span class='no'>...</span>)</pre>
     
     <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a> Arguments</h2>
     <table class="ref-arguments">
diff --git a/docs/reference/phenoEstimate.html b/docs/reference/phenoEstimate.html
new file mode 100644
index 0000000000000000000000000000000000000000..60f7ec4bf34ab36f4a50ea70f7f269b1bb3a5b80
--- /dev/null
+++ b/docs/reference/phenoEstimate.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>Estimate PhenoPath simulation parameters — phenoEstimate • 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 PhenoPath simulation parameters</h1>
+    </div>
+
+    
+    <p>Estimate simulation parameters for the PhenoPath simulation from a real
+dataset.</p>
+    
+
+    <pre class="usage"><span class='fu'>phenoEstimate</span>(<span class='no'>counts</span>, <span class='kw'>params</span> <span class='kw'>=</span> <span class='fu'><a href='newParams.html'>newPhenoParams</a></span>())
+
+<span class='co'># S3 method for SingleCellExperiment</span>
+<span class='fu'>phenoEstimate</span>(<span class='no'>counts</span>,
+  <span class='kw'>params</span> <span class='kw'>=</span> <span class='fu'><a href='newParams.html'>newPhenoParams</a></span>())
+
+<span class='co'># S3 method for matrix</span>
+<span class='fu'>phenoEstimate</span>(<span class='no'>counts</span>, <span class='kw'>params</span> <span class='kw'>=</span> <span class='fu'><a href='newParams.html'>newPhenoParams</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>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>PhenoParams 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 total number of genes is evenly divided into the four types.
+See <code><a href='PhenoParams.html'>PhenoParams</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='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; 
+#&gt; Global: 
+#&gt; (GENES)  (CELLS)   [Seed]  
+#&gt;    2000       40    80751  
+#&gt; 
+#&gt; 4 additional parameters 
+#&gt; 
+#&gt; Genes: 
+#&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">
+    <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://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+</div>
+
+      </footer>
+   </div>
+
+  </body>
+</html>
diff --git a/docs/reference/phenoSimulate.html b/docs/reference/phenoSimulate.html
new file mode 100644
index 0000000000000000000000000000000000000000..1d84c2c4e049e029cefe5fc5ec6829f553cf4d12
--- /dev/null
+++ b/docs/reference/phenoSimulate.html
@@ -0,0 +1,186 @@
+<!-- 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>PhenoPath simulation — phenoSimulate • 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>PhenoPath simulation</h1>
+    </div>
+
+    
+    <p>Simulate counts from a pseudotime trajectory using the PhenoPath method.</p>
+    
+
+    <pre class="usage"><span class='fu'>phenoSimulate</span>(<span class='kw'>params</span> <span class='kw'>=</span> <span class='fu'><a href='newParams.html'>newPhenoParams</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>PhenoParams 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/phenopath/topics/simulate_phenopath'>simulate_phenopath</a></code> that takes a
+<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.
+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>
+    
+    <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>Paper: <a href='10.1101/159913'>10.1101/159913</a></p>
+<p>Code: <a href='https://github.com/kieranrcampbell/phenopath'>https://github.com/kieranrcampbell/phenopath</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'>phenoSimulate</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://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+</div>
+
+      </footer>
+   </div>
+
+  </body>
+</html>
diff --git a/docs/reference/setParam.html b/docs/reference/setParam.html
index 92e0d87fd12b02dce1085e34d77af3c21c35c64d..99335c81d2b59cea9716a897ff877b6b8bf887f7 100644
--- a/docs/reference/setParam.html
+++ b/docs/reference/setParam.html
@@ -116,10 +116,16 @@
 <span class='co'># S4 method for Params</span>
 <span class='fu'>setParam</span>(<span class='no'>object</span>, <span class='no'>name</span>, <span class='no'>value</span>)
 
+<span class='co'># S4 method for PhenoParams</span>
+<span class='fu'>setParam</span>(<span class='no'>object</span>, <span class='no'>name</span>, <span class='no'>value</span>)
+
 <span class='co'># S4 method for SCDDParams</span>
 <span class='fu'>setParam</span>(<span class='no'>object</span>, <span class='no'>name</span>, <span class='no'>value</span>)
 
 <span class='co'># S4 method for SplatParams</span>
+<span class='fu'>setParam</span>(<span class='no'>object</span>, <span class='no'>name</span>, <span class='no'>value</span>)
+
+<span class='co'># S4 method for ZINBParams</span>
 <span class='fu'>setParam</span>(<span class='no'>object</span>, <span class='no'>name</span>, <span class='no'>value</span>)</pre>
     
     <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a> Arguments</h2>
@@ -151,7 +157,7 @@
 #&gt; 
 #&gt; Global: 
 #&gt; (GENES)  (Cells)   [Seed]  
-#&gt;     100      100   116529  
+#&gt;     100      100    80751  
 #&gt; 
 #&gt; 3 additional parameters 
 #&gt; 
diff --git a/docs/reference/setParams.html b/docs/reference/setParams.html
index 572eb144908524870a3f6732525831787b8ddcbb..fce88df4cb077ae9e146819f48ea87d99bfb503b 100644
--- a/docs/reference/setParams.html
+++ b/docs/reference/setParams.html
@@ -146,7 +146,7 @@ them manually), see examples.</p>
 #&gt; 
 #&gt; Global: 
 #&gt; (Genes)  (Cells)   [Seed]  
-#&gt;   10000      100   116529  
+#&gt;   10000      100    80751  
 #&gt; 
 #&gt; 3 additional parameters 
 #&gt; 
@@ -164,7 +164,7 @@ them manually), see examples.</p>
 #&gt; 
 #&gt; Global: 
 #&gt; (GENES)  (CELLS)   [Seed]  
-#&gt;    1000       50   116529  
+#&gt;    1000       50    80751  
 #&gt; 
 #&gt; 3 additional parameters 
 #&gt; 
@@ -182,7 +182,7 @@ them manually), see examples.</p>
 #&gt; 
 #&gt; Global: 
 #&gt; (GENES)  (CELLS)   [Seed]  
-#&gt;    1000       50   116529  
+#&gt;    1000       50    80751  
 #&gt; 
 #&gt; 3 additional parameters 
 #&gt; 
diff --git a/docs/reference/simpleEstimate.html b/docs/reference/simpleEstimate.html
index 0b41b8ca6ac6acfbc01d7f7e4cd00ed3bb1c5df7..4b84b6729feb6a544eb9cf305f59a0e9c76ad8ab 100644
--- a/docs/reference/simpleEstimate.html
+++ b/docs/reference/simpleEstimate.html
@@ -149,7 +149,7 @@ details on the parameters.</p>
 #&gt; 
 #&gt; Global: 
 #&gt; (GENES)  (CELLS)   [Seed]  
-#&gt;    2000       40   116529  
+#&gt;    2000       40    80751  
 #&gt; 
 #&gt; 3 additional parameters 
 #&gt; 
diff --git a/docs/reference/splatEstimate.html b/docs/reference/splatEstimate.html
index 8c1698417321424ba4e47c26df98b5c377f26c30..93bca84e612a8ad0975e6d8600f9d0b841b9e4de 100644
--- a/docs/reference/splatEstimate.html
+++ b/docs/reference/splatEstimate.html
@@ -149,7 +149,7 @@ containing count data to estimate parameters from.</p></td>
 #&gt; 
 #&gt; Global: 
 #&gt; (GENES)  (CELLS)   [Seed]  
-#&gt;    2000       40   116529  
+#&gt;    2000       40    80751  
 #&gt; 
 #&gt; 27 additional parameters 
 #&gt; 
diff --git a/docs/reference/summariseDiff.html b/docs/reference/summariseDiff.html
index 3367151b4f4f74cdbead6edee6a4ed17f0de9b06..236c83c1bc918da684a9a17b3ae045ada6e97e6d 100644
--- a/docs/reference/summariseDiff.html
+++ b/docs/reference/summariseDiff.html
@@ -127,19 +127,19 @@ Error (RMSE) for the various properties and ranks them.</p>
     <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>)
 <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.288457       NaN       1     2.361992       NaN
-#&gt; 2   Splat  Variance     9.864920       NaN       1     9.885907       NaN
-#&gt; 3   Splat ZerosGene    30.000000       NaN       1    38.245000       NaN
-#&gt; 4   Splat   MeanVar     9.311683       NaN       1    11.773079       NaN
-#&gt; 5   Splat MeanZeros    40.000000       NaN       1    41.455000       NaN
-#&gt; 6   Splat   LibSize 59924.000000       NaN       1 60889.500000       NaN
+#&gt; 1   Splat      Mean     2.338299       NaN       1     2.392073       NaN
+#&gt; 2   Splat  Variance    11.506849       NaN       1    10.222706       NaN
+#&gt; 3   Splat ZerosGene    30.000000       NaN       1    38.780000       NaN
+#&gt; 4   Splat   MeanVar     9.588721       NaN       1    11.820910       NaN
+#&gt; 5   Splat MeanZeros    45.000000       NaN       1    42.060000       NaN
+#&gt; 6   Splat   LibSize 55543.500000       NaN       1 58282.850000       NaN
 #&gt;   MAERank         RMSE RMSEScaled RMSERank
-#&gt; 1       1     2.911241        NaN        1
-#&gt; 2       1    12.576504        NaN        1
-#&gt; 3       1    43.466366        NaN        1
-#&gt; 4       1    14.872900        NaN        1
-#&gt; 5       1    51.016909        NaN        1
-#&gt; 6       1 62360.840953        NaN        1</div></pre>
+#&gt; 1       1     2.907697        NaN        1
+#&gt; 2       1    12.865170        NaN        1
+#&gt; 3       1    44.006818        NaN        1
+#&gt; 4       1    14.953873        NaN        1
+#&gt; 5       1    51.575673        NaN        1
+#&gt; 6       1 59902.661935        NaN        1</div></pre>
   </div>
   <div class="col-md-3 hidden-xs hidden-sm" id="sidebar">
     <h2>Contents</h2>
diff --git a/docs/reference/zinbEstimate.html b/docs/reference/zinbEstimate.html
new file mode 100644
index 0000000000000000000000000000000000000000..29da734f978e6a770a8f471dfec8dcffd0546992
--- /dev/null
+++ b/docs/reference/zinbEstimate.html
@@ -0,0 +1,285 @@
+<!-- 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 ZINB-WaVE simulation parameters — zinbEstimate • 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 ZINB-WaVE simulation parameters</h1>
+    </div>
+
+    
+    <p>Estimate simulation parameters for the ZINB-WaVE simulation from a real
+dataset.</p>
+    
+
+    <pre class="usage"><span class='fu'>zinbEstimate</span>(<span class='no'>counts</span>, <span class='kw'>design.samples</span> <span class='kw'>=</span> <span class='kw'>NULL</span>, <span class='kw'>design.genes</span> <span class='kw'>=</span> <span class='kw'>NULL</span>,
+  <span class='kw'>common.disp</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, <span class='kw'>iter.init</span> <span class='kw'>=</span> <span class='fl'>2</span>, <span class='kw'>iter.opt</span> <span class='kw'>=</span> <span class='fl'>25</span>, <span class='kw'>stop.opt</span> <span class='kw'>=</span> <span class='fl'>1e-04</span>,
+  <span class='kw'>params</span> <span class='kw'>=</span> <span class='fu'><a href='newParams.html'>newZINBParams</a></span>(), <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, <span class='kw'>BPPARAM</span> <span class='kw'>=</span> <span class='fu'>SerialParam</span>(), <span class='no'>...</span>)
+
+<span class='co'># S3 method for SingleCellExperiment</span>
+<span class='fu'>zinbEstimate</span>(<span class='no'>counts</span>, <span class='kw'>design.samples</span> <span class='kw'>=</span> <span class='kw'>NULL</span>,
+  <span class='kw'>design.genes</span> <span class='kw'>=</span> <span class='kw'>NULL</span>, <span class='kw'>common.disp</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, <span class='kw'>iter.init</span> <span class='kw'>=</span> <span class='fl'>2</span>, <span class='kw'>iter.opt</span> <span class='kw'>=</span> <span class='fl'>25</span>,
+  <span class='kw'>stop.opt</span> <span class='kw'>=</span> <span class='fl'>1e-04</span>, <span class='kw'>params</span> <span class='kw'>=</span> <span class='fu'><a href='newParams.html'>newZINBParams</a></span>(), <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>,
+  <span class='kw'>BPPARAM</span> <span class='kw'>=</span> <span class='fu'>SerialParam</span>(), <span class='no'>...</span>)
+
+<span class='co'># S3 method for matrix</span>
+<span class='fu'>zinbEstimate</span>(<span class='no'>counts</span>, <span class='kw'>design.samples</span> <span class='kw'>=</span> <span class='kw'>NULL</span>,
+  <span class='kw'>design.genes</span> <span class='kw'>=</span> <span class='kw'>NULL</span>, <span class='kw'>common.disp</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, <span class='kw'>iter.init</span> <span class='kw'>=</span> <span class='fl'>2</span>, <span class='kw'>iter.opt</span> <span class='kw'>=</span> <span class='fl'>25</span>,
+  <span class='kw'>stop.opt</span> <span class='kw'>=</span> <span class='fl'>1e-04</span>, <span class='kw'>params</span> <span class='kw'>=</span> <span class='fu'><a href='newParams.html'>newZINBParams</a></span>(), <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>,
+  <span class='kw'>BPPARAM</span> <span class='kw'>=</span> <span class='fu'>SerialParam</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>counts</th>
+      <td><p>either a counts matrix or a SingleCellExperiment object
+containing count data to estimate parameters from.</p></td>
+    </tr>
+    <tr>
+      <th>design.samples</th>
+      <td><p>design matrix of sample-level covariates.</p></td>
+    </tr>
+    <tr>
+      <th>design.genes</th>
+      <td><p>design matrix of gene-level covariates.</p></td>
+    </tr>
+    <tr>
+      <th>common.disp</th>
+      <td><p>logical. Whether or not a single dispersion for all
+features is estimated.</p></td>
+    </tr>
+    <tr>
+      <th>iter.init</th>
+      <td><p>number of iterations to use for initalization.</p></td>
+    </tr>
+    <tr>
+      <th>iter.opt</th>
+      <td><p>number of iterations to use for optimization.</p></td>
+    </tr>
+    <tr>
+      <th>stop.opt</th>
+      <td><p>stopping criterion for optimization.</p></td>
+    </tr>
+    <tr>
+      <th>params</th>
+      <td><p>ZINBParams object to store estimated values in.</p></td>
+    </tr>
+    <tr>
+      <th>verbose</th>
+      <td><p>logical. Whether to print progress messages.</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>
+    </tr>
+    <tr>
+      <th>...</th>
+      <td><p>additional arguments passes to <code><a href='http://www.rdocumentation.org/packages/zinbwave/topics/zinbFit'>zinbFit</a></code>.</p></td>
+    </tr>
+    </table>
+    
+    <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2>
+
+    <p>ZINBParams object containing the estimated parameters.</p>
+    
+    <h2 class="hasAnchor" id="details"><a class="anchor" href="#details"></a>Details</h2>
+
+    <p>The function is a wrapper around <code><a href='http://www.rdocumentation.org/packages/zinbwave/topics/zinbFit'>zinbFit</a></code> that takes
+the fitted model and inserts it into a <code><a href='ZINBParams.html'>ZINBParams</a></code> object. See
+<code><a href='ZINBParams.html'>ZINBParams</a></code> for more details on the parameters and
+<code><a href='http://www.rdocumentation.org/packages/zinbwave/topics/zinbFit'>zinbFit</a></code> for details of the estimation procedure.</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>)
+<span class='no'>params</span> <span class='kw'>&lt;-</span> <span class='fu'>zinbEstimate</span>(<span class='no'>sc_example_counts</span>)</div><div class='output co'>#&gt; <span class='message'>Removing all zero genes...</span></div><div class='output co'>#&gt; <span class='message'>Fitting model...</span></div><div class='output co'>#&gt; <span class='message'>Create model:</span></div><div class='output co'>#&gt; <span class='message'>ok</span></div><div class='output co'>#&gt; <span class='message'>Initialize parameters:</span></div><div class='output co'>#&gt; <span class='message'>ok</span></div><div class='output co'>#&gt; <span class='message'>Optimize parameters:</span></div><div class='output co'>#&gt; <span class='message'>Iteration 1</span></div><div class='output co'>#&gt; <span class='message'>penalized log-likelihood = -451653.610681949</span></div><div class='output co'>#&gt; <span class='message'>After dispersion optimization = -451653.610681949</span></div><div class='output co'>#&gt;    user  system elapsed 
+#&gt;   8.840   0.506   9.391 </div><div class='output co'>#&gt; <span class='message'>After right optimization = -451653.610681949</span></div><div class='output co'>#&gt; <span class='message'>After orthogonalization = -451653.610681949</span></div><div class='output co'>#&gt;    user  system elapsed 
+#&gt;   0.573   0.041   0.617 </div><div class='output co'>#&gt; <span class='message'>After left optimization = -451653.610681949</span></div><div class='output co'>#&gt; <span class='message'>After orthogonalization = -451653.610681949</span></div><div class='output co'>#&gt; <span class='message'>Iteration 2</span></div><div class='output co'>#&gt; <span class='message'>penalized log-likelihood = -200962.486229372</span></div><div class='output co'>#&gt; <span class='message'>After dispersion optimization = -451653.610681949</span></div><div class='output co'>#&gt;    user  system elapsed 
+#&gt;   6.414   0.345   6.790 </div><div class='output co'>#&gt; <span class='message'>After right optimization = -451653.610681949</span></div><div class='output co'>#&gt; <span class='message'>After orthogonalization = -451653.610681949</span></div><div class='output co'>#&gt;    user  system elapsed 
+#&gt;   0.616   0.025   0.643 </div><div class='output co'>#&gt; <span class='message'>After left optimization = -451653.610681949</span></div><div class='output co'>#&gt; <span class='message'>After orthogonalization = -451653.610681949</span></div><div class='output co'>#&gt; <span class='message'>Iteration 3</span></div><div class='output co'>#&gt; <span class='message'>penalized log-likelihood = -196682.271688862</span></div><div class='output co'>#&gt; <span class='message'>After dispersion optimization = -451653.610681949</span></div><div class='output co'>#&gt;    user  system elapsed 
+#&gt;   5.893   0.319   6.260 </div><div class='output co'>#&gt; <span class='message'>After right optimization = -451653.610681949</span></div><div class='output co'>#&gt; <span class='message'>After orthogonalization = -451653.610681949</span></div><div class='output co'>#&gt;    user  system elapsed 
+#&gt;   0.616   0.022   0.640 </div><div class='output co'>#&gt; <span class='message'>After left optimization = -451653.610681949</span></div><div class='output co'>#&gt; <span class='message'>After orthogonalization = -451653.610681949</span></div><div class='output co'>#&gt; <span class='message'>Iteration 4</span></div><div class='output co'>#&gt; <span class='message'>penalized log-likelihood = -195719.09604664</span></div><div class='output co'>#&gt; <span class='message'>After dispersion optimization = -451653.610681949</span></div><div class='output co'>#&gt;    user  system elapsed 
+#&gt;   4.808   0.251   5.075 </div><div class='output co'>#&gt; <span class='message'>After right optimization = -451653.610681949</span></div><div class='output co'>#&gt; <span class='message'>After orthogonalization = -451653.610681949</span></div><div class='output co'>#&gt;    user  system elapsed 
+#&gt;   0.600   0.013   0.615 </div><div class='output co'>#&gt; <span class='message'>After left optimization = -451653.610681949</span></div><div class='output co'>#&gt; <span class='message'>After orthogonalization = -451653.610681949</span></div><div class='output co'>#&gt; <span class='message'>Iteration 5</span></div><div class='output co'>#&gt; <span class='message'>penalized log-likelihood = -195487.316905869</span></div><div class='output co'>#&gt; <span class='message'>After dispersion optimization = -451653.610681949</span></div><div class='output co'>#&gt;    user  system elapsed 
+#&gt;   4.661   0.251   4.938 </div><div class='output co'>#&gt; <span class='message'>After right optimization = -451653.610681949</span></div><div class='output co'>#&gt; <span class='message'>After orthogonalization = -451653.610681949</span></div><div class='output co'>#&gt;    user  system elapsed 
+#&gt;   0.613   0.021   0.636 </div><div class='output co'>#&gt; <span class='message'>After left optimization = -451653.610681949</span></div><div class='output co'>#&gt; <span class='message'>After orthogonalization = -451653.610681949</span></div><div class='output co'>#&gt; <span class='message'>Iteration 6</span></div><div class='output co'>#&gt; <span class='message'>penalized log-likelihood = -195438.512431125</span></div><div class='output co'>#&gt; <span class='message'>After dispersion optimization = -451653.610681949</span></div><div class='output co'>#&gt;    user  system elapsed 
+#&gt;   4.363   0.219   4.594 </div><div class='output co'>#&gt; <span class='message'>After right optimization = -451653.610681949</span></div><div class='output co'>#&gt; <span class='message'>After orthogonalization = -451653.610681949</span></div><div class='output co'>#&gt;    user  system elapsed 
+#&gt;   0.520   0.019   0.540 </div><div class='output co'>#&gt; <span class='message'>After left optimization = -451653.610681949</span></div><div class='output co'>#&gt; <span class='message'>After orthogonalization = -451653.610681949</span></div><div class='output co'>#&gt; <span class='message'>Iteration 7</span></div><div class='output co'>#&gt; <span class='message'>penalized log-likelihood = -195429.243799278</span></div><div class='output co'>#&gt; <span class='message'>ok</span></div><div class='input'><span class='no'>params</span></div><div class='output co'>#&gt; A Params object of class ZINBParams 
+#&gt; Parameters can be (estimable) or [not estimable], 'Default' or 'NOT DEFAULT'. 
+#&gt; 
+#&gt; Global: 
+#&gt; (GENES)  (CELLS)   [Seed]  
+#&gt;    1973       40    80751  
+#&gt; 
+#&gt; 1 additional parameters 
+#&gt; 
+#&gt; Model: 
+#&gt; ZinbModel with 1973 features, 40 samples, 0 latent factors and 4027 parameters 
+#&gt; 
+#&gt; Model Design: 
+#&gt;      (SAMPLES)         (GENES)  
+#&gt; 1, 1, 1, 1,...  1, 1, 1, 1,...  
+#&gt; 
+#&gt; Model Offsets: 
+#&gt;             (MU)              (PI)  
+#&gt; 40 x 1973 matrix  40 x 1973 matrix  
+#&gt; 
+#&gt; Model Indices: 
+#&gt; (Sample Mu)    (Gene Mu)  (Sample Pi)    (Gene Pi)  
+#&gt;           1            1            1            1  
+#&gt; 
+#&gt; Model Intercepts: 
+#&gt; (Sample Mu)    (Gene Mu)  (Sample Pi)    (Gene Pi)  
+#&gt;        TRUE         TRUE         TRUE         TRUE  
+#&gt; 
+#&gt; Model Latent factors: 
+#&gt;           (W)  
+#&gt; 40 x 0 matrix  
+#&gt; 
+#&gt; Model Coefficients: 
+#&gt;                                                                      (SAMPLE MU)  
+#&gt;        2.92563256904469, 2.4987993436997, 2.58202880827954, 1.97900548945704,...  
+#&gt;                                                                        (GENE MU)  
+#&gt;       3.47522026895399, 2.47301357124798, 3.24285373024315, 3.18809031726884,...  
+#&gt;                                                                      (Latent Mu)  
+#&gt;                                                                  0 x 1973 matrix  
+#&gt;                                                                      (SAMPLE PI)  
+#&gt;  -0.71252392787508, -2.22126441075684, -0.171737848601069, -1.44324267217097,...  
+#&gt;                                                                        (GENE PI)  
+#&gt; -0.0394934045621859, 0.702003614655306, 0.522586914345766, 0.331946546846606,...  
+#&gt;                                                                      (Latent Pi)  
+#&gt;                                                                  0 x 1973 matrix  
+#&gt; 
+#&gt; Model Regularisation: 
+#&gt;     (Sample Mu)        (GENE MU)      (Sample Pi)        (GENE PI)  
+#&gt;               1           49.325                1           49.325  
+#&gt;        (LATENT)  (Latent coeffs)           (ZETA)          (Logit)  
+#&gt;          49.325                1             1973            0.001  
+#&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://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+</div>
+
+      </footer>
+   </div>
+
+  </body>
+</html>
diff --git a/docs/reference/zinbSimulate.html b/docs/reference/zinbSimulate.html
new file mode 100644
index 0000000000000000000000000000000000000000..2dea5b285307787c5c4a91773dfe5dbc2375b805
--- /dev/null
+++ b/docs/reference/zinbSimulate.html
@@ -0,0 +1,186 @@
+<!-- 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>ZINB-WaVE simulation — zinbSimulate • 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>ZINB-WaVE simulation</h1>
+    </div>
+
+    
+    <p>Simulate counts using the ZINB-WaVE method.</p>
+    
+
+    <pre class="usage"><span class='fu'>zinbSimulate</span>(<span class='kw'>params</span> <span class='kw'>=</span> <span class='fu'><a href='newParams.html'>newZINBParams</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>ZINBParams 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/zinbwave/topics/zinbSim'>zinbSim</a></code> that
+takes a <code><a href='ZINBParams.html'>ZINBParams</a></code>, runs the simulation then converts the
+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/zinbwave/topics/zinbSim'>zinbSim</a></code> and the ZINB-WaVE 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>Risso D, Perraudeau F, Gribkova S, Dudoit S, Vert J-P. ZINB-WaVE: A general
+and flexible method for signal extraction from single-cell RNA-seq data
+bioRxiv (2017).</p>
+<p>Paper: <a href='10.1101/125112'>10.1101/125112</a></p>
+<p>Code: <a href='https://github.com/drisso/zinbwave'>https://github.com/drisso/zinbwave</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'>zinbSimulate</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://hadley.github.io/pkgdown/">pkgdown</a>.</p>
+</div>
+
+      </footer>
+   </div>
+
+  </body>
+</html>
diff --git a/tests/testthat/test-ZINBParams.R b/tests/testthat/test-ZINBParams.R
index 4a4cfdece7ffc70332b918b9e87bd0c1c885eb8c..bbb7abd371aa1cddae7f7332201fe10bfc209f62 100644
--- a/tests/testthat/test-ZINBParams.R
+++ b/tests/testthat/test-ZINBParams.R
@@ -9,5 +9,5 @@ test_that("nGenes checks work", {
     expect_error(setParam(params, "nGenes", 1),
                  "nGenes cannot be set directly")
     expect_error(setParam(params, "nCells", 1),
-                 "nGenes cannot be set directly")
+                 "nCells cannot be set directly")
 })