Changes in version 1.5.13: o Supported parallelization in buildSNNGraph(), overlapExprs() with BPPARAM options. o Forced zero-derived residuals to a constant value in correlatePairs(), overlapExprs(). o Allowed findMarkers() to return IUT p-values, to identify uniquely expressed genes in each cluster. Added options to specify the direction of the log-fold changes, to focus on upregulated genes in each cluster. o Fixed bug in correlatePairs() when per.gene=TRUE and no spike-ins are available. Added block.size argument to control caching. o Switched all C++ code to use the beachmat API. Modified several functions to accept ANY matrix-like object, rather than only base matrix objects. o quickCluster() with method="igraph" will now merge based on modularity to satisfy min.size requirements. Added max.size option to restrict the size of the output clusters. o Updated the trendVar() interface with parametric, method arguments. Deprecated the trend="semiloess" option in favour of parametric=TRUE and method="loess". Modified the NLS equation to guarantee non-negative coefficients of the parametric trend. Slightly modified the estimation of NLS starting parameters. Second d.f. of the fitted F-distribution is now reported as df2 in the output. o Modified decomposeVar() to automatically use the second d.f. when test="f". o Added option in denoisePCA() to return the number of components or the low-rank approximation. The proportion of variance explained is also stored as an attribute in all return values. o Fixed a variety of bugs in mnnCorrect(). Changes in version 1.4.0: o Switched default BPPARAM to SerialParam() in all functions. o Added run argument to selectorPlot(). Bug fix to avoid adding an empty list. o Added exploreData() function for visualization of scRNA-seq data. o Minor bug fix to DM() when extrapolation is required. o Added check for centred size factors in trendVar(), decomposeVar() methods. Refactored trendVar() to include automatic start point estimation, location rescaling and df2 estimation. o Moved spike-in specification to the scater package. o Deprecated isSpike<- to avoid confusion over input/output types. o Generalized sandbag(), cyclone() to work for other classification problems. o Added test="f" option in testVar() to account for additional scatter. o Added per.gene=FALSE option in correlatePairs(), expanded accepted value types for subset.row. Fixed an integer overflow in correlatePairs(). Also added information on whether the permutation p-value reaches its lower bound. o Added the combineVar() function to combine results from separate decomposeVar() calls. o Added protection against all-zero rows in technicalCV2(). o Added the improvedCV2() function as a more stable alternative to technicalCV2(). o Added the denoisePCA() function to remove technical noise via selection of early principal components. o Removed warning requiring at least twice the max size in computeSumFactors(). Elaborated on the circumstances surrounding negative size factors. Increased the default number of window sizes to be examined. Refactored C++ code for increased speed. o Allowed quickCluster() to return a matrix of ranks for use in other clustering methods. Added method="igraph" option to perform graph-based clustering for large numbers of cells. o Added the findMarkers() function to automatically identify potential markers for cell clusters. o Added the overlapExprs() function to compute the overlap in expression distributions between groups. o Added the buildSNNGraph() function to build a SNN graph for cells from their expression profiles. o Added the correctMNN() function to perform batch correction based on mutual nearest neighbors. o Streamlined examples when mocking up data sets. Changes in version 1.2.0: o Transformed correlations to a metric distance in quickCluster(). o Removed normalize() in favour of scater's normalize(). o Switched isSpike()<- to accept a character vector rather than a logical vector, to enforce naming of spike-in sets. Also added warning code when the specified spike-in sets overlap. o Allowed compute*Factors() functions to directly return the size factors. o Added selectorPlot() function for interactive plotting. o Switched to a group-based weighted correlation for one-way layouts in correlatePairs() and correlateNull(), and to a correlation of residuals for more complex design matrices. o Added phase assignments to the cyclone() output. o Implemented Brennecke et al.'s method in the technicalCV2() function. o Updated convertTo() to store spike-in-specific size factors as offsets. o Moved code and subsetting into C++ to improve memory efficiency. o Switched to loess-based trend fitting as the default in trendVar(), replaced polynomial with semi-loess fitting. o Added significance statistics to output of decomposeVar(), with only the p-values replaced by NAs for spike-ins. o Updated documentation and tests. Changes in version 1.0.0: o New package scran, for low-level analyses of single-cell RNA sequencing data.