Changes in version 1.14.0
o Removed deprecated approximate= and pc.approx= arguments.
o Removed deprecated batch correction functions.
o Added option to pairwiseTTests() and findMarkers() for
standardization of log-fold changes.
o Changed default BSPARAM=IrlbaParam() in quickCluster().
o Added the pairwiseBinom() function for pairwise binomial tests
of gene expression.
o Renamed output fields of pairwiseWilcox() to use AUC for less
confusion.
Changes in version 1.12.0
o Added option in quickCluster() to cluster on log-expression
profiles. Modified defaults to use graph-based clustering on
log-expression-derived PCs.
o Modified default choice of ref.clust= in computeSumFactors().
Degrade quietly to library size factors when cluster is too
small for all pool sizes.
o Minor change to cyclone() random number generation for
consistency upon parallelization.
o Added BPPARAM= to correlateNull() for parallelization. Minor
change in random number generation for consistency upon
parallelization.
o Minor change to parallelPCA() random number generation for
consistency upon parallelization.
o Created correlateGenes() function to compute per-gene
correlation statistics.
o Modified correlatePairs() to compute expected rho after all
possible tie-breaking permutations. Deprecated cache.size= as
all ranks are now returned as in-memory representations.
Deprecated per.gene= in favour of an external call to
correlateGenes(). Deprecated tol= as ties are now directly
determined by rowRanks().
o Switched to BiocSingular for PCA calculations across all
functions. Deprecated approximate= and pc.approx= arguments in
favour of BSPARAM=.
o Deprecated all batch correction functions to prepare for the
migration to batchelor.
Changes in version 1.10.0
o Removed selectorPlot(), exploreData() functions in favour of
iSEE.
o Fixed underflow problem in mnnCorrect() when dealing with the
Gaussian kernel. Dropped the default sigma= in mnnCorrect() for
better default performance.
o Supported parallelized block-wise processing in quickCluster().
Deprecated max.size= in favour of max.cluster.size= in
computeSumFactors(). Deprecated get.ranks= in favour of
scaledColRanks().
o Added max.cluster.size= argument to computeSumFactors().
Supported parallelized cluster-wise processing. Increased all
pool sizes to avoid rare failures if number of cells is a
multiple of 5. Minor improvement to how mean filtering is done
for rescaling across clusters in computeSumFactors(). Throw
errors upon min.mean=NULL, which used to be valid. Switched
positive=TRUE behaviour to use cleanSizeFactors().
o Added simpleSumFactors() as a simplified alternative to
quickCluster() and computeSumFactors().
o Added the scaledColRanks() function for computing scaled and
centred column ranks.
o Supported parallelized gene-wise processing in trendVar() and
decomposeVar(). Support direct use of a factor in design= for
efficiency.
o Added doubletCluster() to detect clusters that consist of
doublets of other clusters.
o Added doubletCells() to detect cells that are doublets of other
cells via simulations.
o Deprecated rand.seed= in buildSNNGraph() in favour of explicit
set.seed() call. Added type= argument for weighting edges based
on the number of shared neighbors.
o Deprecated rand.seed= in buildKNNGraph().
o Added multiBlockNorm() function for spike-abundance-preserving
normalization prior to multi-block variance modelling.
o Added multiBatchNorm() function for consistent downscaling
across batches prior to batch correction.
o Added cleanSizeFactors() to coerce non-positive size factors to
positive values based on number of detected genes.
o Added the fastMNN() function to provide a faster, more stable
alternative for MNN correction.
o Added BPPARAM= option for parallelized execution in
makeTechTrend(). Added approx.npts= option for
interpolation-based approximation for many cells.
o Added pairwiseTTests() for direct calculation of pairwise
t-statistics between groups.
o Added pairwiseWilcox() for direct calculation of pairwise
Wilcoxon rank sum tests between groups.
o Added combineMarkers() to consolidate arbitrary pairwise
comparisons into a marker list.
o Bugfixes to uses of block=, lfc= and design= arguments in
findMarkers(). Refactored to use pairwiseTTests() and
combineMarkers() internally. Added BPPARAM= option for
parallelized execution.
o Refactored overlapExprs() to sort by p-value based on
pairwiseWilcox() and combineMarkers(). Removed design= argument
as it is not compatible with p-value calculations.
o Bugfixes to the use of Stouffer's Z method in combineVar().
o Added combinePValues() as a centralized internal function to
combine p-values.
Changes in version 1.8.0
o Modified decomposeVar() to return statistics (but not p-values)
for spike-ins when get.spikes=NA. Added block= argument for
mean/variance calculations within each level of a blocking
factor, followed by reporting of weighted averages (using
Fisher's method for p-values). Automatically record global
statistics in the metadata of the output for use in
combineVar(). Switched output to a DataFrame object for
consistency with other functions.
o Fixed testVar() to report a p-value of 1 when both the observed
and null variances are zero.
o Allowed passing of arguments to irlba() in denoisePCA() to
assist convergence. Reported low-rank approximations for all
genes, regardless of whether they were used in the SVD.
Deprecated design= argument in favour of manual external
correction of confounding effects. Supported use of a vector or
DataFrame in technical= instead of a function.
o Allowed passing of arguments to prcomp_irlba() in
buildSNNGraph() to assist convergence. Allowed passing of
arguments to get.knn(), switched default algorithm back to a
kd-tree.
o Added the buildKNNGraph() function to construct a simple
k-nearest-neighbours graph.
o Fixed a number of bugs in mnnCorrect(), migrated code to C++
and parallelized functions. Added variance shift adjustment,
calculation of angles with the biological subspace.
o Modified trend specification arguments in trendVar() for
greater flexibility. Switched from ns() to robustSmoothSpline()
to avoid bugs with unloaded predict.ns(). Added block= argument
for mean/variance calculations within each level of a blocking
factor.
o Added option to avoid normalization in the SingleCellExperiment
method for improvedCV2(). Switched from ns() to smooth.spline()
or robustSmoothSpline() to avoid bugs.
o Replaced zoo functions with runmed() for calculating the median
trend in DM().
o Added block= argument to correlatePairs() to calculate
correlations within each level of a blocking factor. Deprecated
the use of residuals=FALSE for one-way layouts in design=.
Preserve input order of paired genes in the gene1/gene2 output
when pairings!=NULL.
o Added block= argument to overlapExprs() to calculate overlaps
within each level of a blocking factor. Deprecated the use of
residuals=FALSE for one-way layouts in design=. Switched to
automatic ranking of genes based on ability to discriminate
between groups. Added rank.type= and direction= arguments to
control ranking of genes.
o Modified combineVar() so that it is aware of the global stats
recorded in decomposeVar(). Absence of global statistics in the
input DataFrames now results in an error. Added option to
method= to use Stouffer's method with residual d.f.-weighted
Z-scores. Added weighted= argument to allow weighting to be
turned off for equal batch representation.
o Modified the behaviour of min.mean= in computeSumFactors() when
clusters!=NULL. Abundance filtering is now performed within
each cluster and for pairs of clusters, rather than globally.
o Switched to pairwise t-tests in findMarkers(), rather than
fitting a global linear model. Added block= argument for
within-block t-tests, the results of which are combined across
blocks via Stouffer's method. Added lfc= argument for testing
against a log-fold change threshold. Added log.p= argument to
return log-transformed p-values/FDRs. Removed empirical Bayes
shrinkage as well as the min.mean= argument.
o Added the makeTechTrend() function for generating a
mean-variance trend under Poisson technical noise.
o Added the multiBlockVar() function for convenient fitting of
multiple mean-variance trends per level of a blocking factor.
o Added the clusterModularity() function for assessing the
cluster-wise modularity after graph-based clustering.
o Added the parallelPCA() function for performing parallel
analysis to choose the number of PCs.
o Modified convertT() to return raw counts and size factors for
CellDataSet output.
o Deprecated exploreData(), selectorPlot() in favour of iSEE().
Changes in version 1.6.0
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.