Improved the efficiency of the downsampling algorithm in downsampleMatrix(), which will change the results slightly.
In addition, new options are added to control the output type (integer/double) and class (dense matrix or SVT_SparseMatrix).
Removed "median" from the default statistics= in summarizeAssayByGroup().
This enables default use of the fast code path for improved performance.
Deprecate all functions that have more efficient counterparts in scrapper.
addPerCellQCMetrics() will (optionally) add the feature subset identities to the row data of the SingleCellExperiment.
Added uniquifyDataFrameByGroup() to collapse grouped rows in a DataFrame into their unique values.
.subset2index now converts factor inputs to character vectors, rather than treating them as integers.
Removed support for use.altexps= in aggregateAcrossCells() and logNormCounts().
Added swap.rownames= option to makePerCellDF() to allow easy access by rowData aliases.
Also moved the extracted features to the end of the data frame for consistency.
Migrated whichNonZero() to beachmat.
Bugfixes for factor-based colData aggregation in aggregateAcrossCells().
Added proper support for Vectors.
Bugfix for correct response to use.altexps= in perCellQCMetrics(), perFeatureQCMetrics().
Added a normalize.all= option to normalizeCounts().
Removed unnecessary warning when down.target= is not specified.
Exposed the default size.factors= in the SingleCellExperiment method.
Modified the SingleCellExperiment method of logNormCounts() so that manually specified size factors do not apply to alternative Experiments.
Only relevant if size.factors= and use.altexps= are specified.
Deprecated use.altexps= in favor of applySCE() in logNormCounts() and aggregateAcrossCells().
Renamed addPerCellQC() and addPerFeatureQC() to addPerCellQCMetrics() and addPerCellFeatureMetrics(), for consistency.
Soft-deprecated the old functions.
Moved most of quickPerCellQC() functionality into the new perCellQCFilters() function.
Repurposed the former to directly return a filtered SummarizedExperiment object.
Migrated scran's normalization-related functions into this package.
Added pooledSizeFactors(), computePooledFactors(), cleanSizeFactors() and computeSpikeFactors().
Added transform="asinh" to normalizeCounts() and logNormCounts() for inverse hyperbolic transformations of CITE-seq data.
Modified isOutlier() to now return outlier.filter objects.
These are simply logical vectors that preseve the "thresholds" attribute upon subsetting.
Migrated correctGroupSummary() from scater, to compute corrected versions of group-level summary statistics.
Split off scuttle from scater by migrating all non-visualization code from the latter.
Began transition to dot-separate argument names from original snake case format.
Added a geometricSizeFactors() function, deprecated geometric=TRUE in librarySizeFactors().
Single-object downsampling in downsampleBatches() now behaves more consistently with multi-object downsampling.