- Add support for imaging-based spatial datasets
- Fix bug in
FindMarkers()when run post Integration/Transfer (#6856)
- Replaced import from
spatstat.corewithspatstat.explore - Fix bug in
FindMarkers()when usingSCTassay (#6856)
- Fix legend color in
DoHeatmap()(#5783) - Fix bug in
ScaleData()when regressing out one gene (#5970) - Fix name pulling in
PlotPerturbScore()(#6081) - Support spaceranger 2.0 (#6208)
- Fix bug in
SpatialDimPlot()when usinggroup.by(#6179) - Add
add.noiseparameter inVlnPlot()(#5756) - Fix uwot model backwards compatibility (#6345)
- Allow
pseudocount.usein differential expression functions to be set at theAssaylevel
- Fix
giveCsparserelated warnings inRead10X_h5 - Fix ident labeling for
SpatialPlot(#5774) - Fix
ReadMtxon Windows (#5687) - Fix
VlnPlotto switch on rasterization only when required (#5846) - Fix
ncolbehavior inSpatialPlot(#5774) - Set
jitterto FALSE inFeatureScatter(#5876) - Update
Cellsmethods to new signature (x, ...) - Replace use of
default.stringsAsFactors()withgetOption("stringsAsFactors")
- Add
raster.dpiparameter toDimPlot/FeaturePlotto optionally rasterize individual points (#5392) - Add support for sctransform v2, differential expression with SCT assay
- Update
ReadParseBioto support split-pipe 0.9.6p (#5446) - Fixes for MAST differential expression (#5441)
- Fix scaling options when using
split.byinFeaturePlot()(#5243)
- Implement supervised LSI
- Add
rasterparameter toVlnPlotto optionally rasterize individual points (#5076) - Add
min.cells.groupparameter toFindConservedMarkers(#5079) - Set
do.centerto FALSE forlsiprojectinFindTransferAnchors - Fix error message in
ReadMtx()(#5158) - Add
label.colorparameter toFeaturePlot(#5314) - Fix issues in
ProjectUMAP(#5257, #5104, #5373)
- Update documentation for
to.upperparameter inLoad10X_Spatial()(#4576) - Update concept tags for
RunSPCA()(#4978) - Conditionally run tests/packages that use suggested packages (#5160)
- Set random state in
RunUMAP()when using theumap-learnmethod (#5194)
- Add
reductionparameter toBuildClusterTree()(#4598) - Add DensMAP option to
RunUMAP()(#4630) - Add
imageparameter toLoad10X_Spatial()andimage.nameparameter toRead10X_Image()(#4641) - Add
ReadSTARsolo()function to read output from STARsolo - Add
densifyparameter toFindMarkers() - Add
ReadParsebio()function to read output from Parse Biosciences - Add the
image.alphaparameter toSpatialDimPlot()andSpatialFeaturePlot() - Add support for the correlation metric in
RunUMAP(#4972)
- Warn and continue rather than erroring if not all features are available in
FindSpatiallyVariableFeatures()(#4611) - Bug fix for SCT-based integration in selecting proper reference model (#4355)
- Bug fix for reading from absolute paths in ReadMtx (#4723)
- Bug fix in SingleCellExperiment conversion (#4633)
- Bug fix in
FindVariableFeatures()when usingselection.method = "mvp"andbinning.method = "equal_frequency"(#4712) - Bug fix in
DoHeatmap()to remove random characters from plot legend(#4660) - Fix cell renaming in
RunCCA() - Fix issue in SingleCellExperiment conversion where the mainExp would not be set properly
- Fix for default dispersion info displayed in
VariableFeaturePlot()
- Add
jitterparameter toFeatureScatter()
- Fix issues with
as.SingleCellExperiment.Seurat()for the latest verion of SingleCellExperiment (#4532) - Ensure proper reference.reduction is used in
MapQuery() - Fix to
UpdateSymbolList(), no longer searches aliases and exposes thesearch.typesparameter inGeneSymbolThesarus()(#4545) - Transfer
scale.dataslot as well when converting withas.SingleCellExperiment.Seurat() - Enable
alphaparameter forSpatialDimPlot() - Fix
as.SingleCellExperiment.Seurat()conversion for atypicalreducedDimcomponents
- New
AddAzimuthScores()andAddAzimuthResults()functions - Add
shuffleparameter toFeatureScatter()(#4280) - Add
lsiprojectandrpcaoptions forFindTransferAnchors() - Add
rlsioption forFindIntegrationAnchors()
- Preserve feature metadata when converting from
SingleCellExperimenttoSeuratObjectclass (#4205) - Preserve multiple assays when converting from
SingleCellExperimenttoSeuratObjectclass (#3764) - Fix passing of
score.threshparameter inScoreJackStraw()(#4268) - Fix FC calculation in
FindMarkers()non-log transformed data. - Add umap-learn version >= 0.5.0 compatibility for
RunUMAP() - Fix
DotPlotto uselog1pwhenscale=False(#4298) - Fix split and shuffled
DimPlot - Disallow NULL or another length 0 vector for
ident.1inFindMarkers() - Fix range shift when labeling clusters on a GeomSpatial plot
- Fix SpatialPlot distortion for non-square images.
- Fix future-related warnings in
FindIntegrationAnchors() - Fix
fc.nameparameter inFindMarkers()(#4474) - Deprecate
group.byparameter inPlotPerturbScore()in favor ofmixscape.class.
- Add direction option to
PlotClusterTree() - Add
colsparameter toJackStrawPlot() - Add
ReadMtx()to read local and remote mtx files with associated cell and feature name files
- Equality added to differential expression thresholds in
FindMarkers(e.g, >= logfc.threshold rather than >) Read10X()now prepends dataset number for first dataset when reading multiple datasets- Bug fix for
subset.AnchorSet() - Bug fix for fold change values in
FindMarkers()when setting a different pseudocount (#4111) - Bug fix for
RunLDA()related to proper passing of assay parameter. - When using
order=TRUEinSingleDimPlot(), print NA points under all others. - Remove default parameter value for
data.dirinRead10X() - Import spatstat fxns from subpackages (spatstat.core, spatstat.geom)
RunUMAPnow checks for graph/neighbor consistency
- Expose
FoldChange()component inFindMarkers(). - Add the
merge.DimReducmethod - Add
IntegrateEmbeddings()to correct embeddings ofDimReducs - Add
ProjectUMAP()to project query cells into a reference UMAP space - Add
MapQuery()as a wrapper aroundIntegrateData(),IntegrateEmbeddings(), andProjectUMAP() - Add
MappingScoreto compute a per-cell mapping score used in Azimuth - Add
AggregateExpression()for summation based pseudobulk calculations - Add mixscape functionality via
CalcPerturbSig(),PrepLDA(),RunLDA(),DEenrichRPlot(),MixscapeHeatmap(),MixscapeLDA(),PlotPerturbScore(),RunMixscape() - Add
FindSubCluster()to further cluster existing clusters - Add supervised PCA functionality via
RunSPCA() - Add functionality to enable weighted nearest neighbor analyses via
FindMultiModalNeighbors() - Add neighbor visualization plot via
NNPlot(). - Add
PredictAssay()to impute expression or embeddings from nearest neighbors - Add
Graphs()function to access the names of the stored Graph objects or pull a specific one - Add checks for NA, NaN, logical, non-integer, and infinite values during CreateAssayObject and NormalizeData.default
- Add
AnnotateAnchors()to aid in AnchorSet interpretation as well assubset.AnchorSet() - Add flexibility of choice for cell column in
Read10X() - Add rasterization option to
FeatureScatter()andVariableFeaturePlot() - Add step1 feature parameters in the SCTModel via
PrepVSTResults()
- Default neighbor finding algorithm changed from "rann" to "annoy"
- Default
ncellsparameter inSCTransform()changed to 5000 - Default fold change in
FindMarkers()changed from ln to log2 - Implementation improvements to
AverageExpression() AnchorSetclass re-implemented as a virtual class from whichIntegrationAnchorSetandTransferAnchorSetnow inherit.- Point size in
VlnPlot()now set automatically if not specified - Return the sample.tree properly when integrating with a single reference dataset
- Replace
as.character.quosureusage withas_labeldue to deprecation - Minor changes to the exact calculation of the anchor weight matrix
- Default rasterization limit in
DimPlot()andFeaturePlot()changed from 50,000 to 100,000 SCTransform()now returns a formalizedAssaysubclassSCTAssay()- When using
normalization.method='SCT'inFindTransferAnchors(), normalize query using reference SCT model when possible. - Change default Neighbor name in
FindNeighborstoAssay.nn
CreateGeneActivityMatrixreplaced bySignac::GeneActivity()RunLSIreplaced by bySignac::RunTFIDF()andSignac::RunSVD()ReadAlevinandReadAlevinCsvmoved to SeuratWrappersExportToCellbrowserandStopCellbrowsermoved to SeuratWrappers
- Titles added to
DimPlotwhen specifyinggroup.byparameter keep.scaleparameter added toFeaturePlotto control scaling across multiple features and/or splits.
Samedeprecated in favor ofbase::identity- Fix in
DietSeuratto work with specializedAssayobjects - Fix p-value return when using the
apeimplementation of Moran's I - Fix bug in FindMarkers when using MAST with a latent variable
- Updates to
Key<-.DimReducthat allow handling of empty reduction column names - Allow setting
ctrlinCellCycleScoring - Modify subset.Seurat to allow specialized Assay subsetting methods
- Fix image selection in interactive spatial plots
- Update Rcpp functions with
export(rng=FALSE)to avoid potential future warnings - Fix RenameCells bug for integrated SCT assays
- Fix highlight order with proper factor levels when using
SetHighlightin plots - Small change in CellRanger version detection logic of h5 file to improve robustness to outside tools.
do.cppdeprecated and will default to true
- Set the seed in
WhichCellsregardless of whether or notidentsis passed - Retain Graph and Neighbor objects when subsetting only on features
- Fix data.frame input to
CreateAssayObject()when data.frame has no rownames. - Default annoy search to sequential if not using multicore future plans.
- Require sctransform >= 0.3.0
- Added support for nearest neighbor input and
return.modelparameter inRunUMAP() - Enable named color vectors in
DoHeatmap() - Add
label.colorandlabel.boxparameters toDimPlot - Added
shuffleandseedparameters toDimPlot()to help with overplotting - Added new stacked violin plot functionality
- Allow setting
slotparameter inRunUMAP - Added support for FIt-SNE v1.2+
- Fix for
Spatial*Plotwhen running with interactive=TRUE - Set max for number of items returned by
Topand remove duplicate items when balanced=TRUE - Fix logging bug when functions were run via
do.call() - Fix handling of weight.by.var parameter when approx=FALSE in
RunPCA() - Fix issue where feature names with dashes crashed
CellSelector - Fix issue where errors in subsetting were being swallowed
- Fix issue where labeling uncropped spatial plots was broken
CreateActivityMatrixdeprecated in favor ofSignac::GeneActivityReadAlevinandReadAlevinCsvdeprecated in favor ofSeuratWrappers::ReadAlevinExportToCellbrowserandStopCellbrowserdeprecated in favor ofSeuratWrappers::ExportToCellbrowserandSeuratWrappers::StopCellbrowserReadH5ADandWriteH5ADdeprecated in favor of h5Seurat/H5AD functionality found in SeuratDiskas.loomandas.Seurat.loomdeprecated in favor of functionality found in SeuratDisk
- Added ability to create a Seurat object from an existing Assay object, or any object inheriting from the Assay class
- Added ability to cluster idents and group features in
DotPlot - Added ability to use RColorBrewer plaettes for split
DotPlots - Added visualization and analysis functionality for spatially resolved datasets (Visium, Slide-seq).
- Removed
add.iterparameter fromRunTSNEfunction - Fixed integer overflow error in the WilcoxDETest function
- Minor visual fixes in
DoHeatmapgroup bar + labels - Efficiency improvements in anchor scoring (
ScoreAnchors) - Fix bug in
FindClusters()when the last node has no edges - Default to weighted = TRUE when constructing igraph objects in
RunLeiden. Remove corresponding weights parameter fromFindClusters(). - Fix handling of keys in
FeatureScatter() - Change
CellSelectorto use Shiny gadgets instead of SDMTools - Mark
PointLocatoras defunct - Remove
SDMTools - Fixed data slot return in
AverageExpressionwhen subsetting features and returning a Seurat object
- New
scaleparameter inDotPlot - New
keep.sparse parameter inCreateGeneActivityMatrix` for a more memory efficient option - Added ability to store model learned by UMAP and project new data
- New
strip.suffixoption inRead10X. This changes the default behavior ofRead10X. A trailing-1present in all cell names will not be removed by default. - Added
group.byparameter toFeatureScatter
- Replace wilcox.test with limma implementation for a faster FindMarkers default method
- Better point separation for
VlnPlots when using thesplit.byoption - Efficiency improvements for anchor pairing
- Deprecate redundant
sort.cellparameter inFeaturePlot - Fixes to ensure correct class of Matrix passed to c++ functions
- Fixes for underscores in ident labels for
DotPlot - Ensure preservation of matrix dimnames in
SampleUMI - Fix non-standard evaluation problems in
subsetandWhichCells - Default split violin option is now a multi group option
- Preserve alpha in
FeaturePlotwhen usingblend - Update
assay.usedslot forDimReducs when Assay is renamed
- Fixes to
DoHeatmapto remain compatible with ggplot2 v3.3 - Adoption of
patchworkframework to replaceCombinePlots
- New system agnostic
Whichfunction to address problems with FItSNE on Windows
- Export
CellsByIdentitiesandRowMergeSparseMatricesfunctions - nCount and nFeature metadata variables retained after subset and updated properly with
UpdateSeuratObject - Fix uwot support for running directly on feature matrices
- Fixes for keys with underscores
- Fix issue with leiden option for
FindClusters - Fix for data transfer when using sctransform
- SDMTools moved to Suggests as package is orphaned
- New silent slot updater
- New random seed options to
RunCCA,RunTSNE,WhichCells,HTODemux,AddModuleScore,VlnPlot, andRidgePlot - Enhancements for dealing with
Assay-derived objects
- Only run
CalcN(generates nFeatures and nCounts) whencountschanges - Fix issue regarding colons in feature names
- Change object class testing to use
inheritsoris.*for R 4.0 compatability
- New
RegroupIdentsfunction to reassign idents based on metadata column majority UpdateSymbolListfunction to pull new gene names from HGNC- Added support for H5AD layers as additional assays in a
Seuratobject
- Fix rownames issue when running UMAP on dist object
- Add support for new H5AD
obsmandvarmstucture - Fix issue when trying to read non-existent feature-level metadata from an H5AD file
- Fix in integration workflow when using SCTransform
- Improved error checking for
AddModuleScore - cbind fix in reference-based integration (
MapQuery) - Fix for convenience plots error hanging
- Ensure Seurat objects aren't stored in the command logs
- New
PrepSCTIntegrationfunction to facilitate integration afterSCTransform - Reference-based integration with the
referenceparameter inFindIntegrationAnchors - Reciprocal PCA as a
reductionoption inFindIntegrationAnchors - New
CollapseEmbeddingOutliersfunction - Enable
FindTransferAnchorsafterSCTransform - Added back
ColorDimSplitfunctionality - Include a code of conduct
- Added uwot support as new default UMAP method
- Added
CheckDotsto catch unused parameters and suggest updated names ReductionsandAssaysassays functions to list stored DimReducs and Assays
- Fix regex in
LogSeuratCommand - Check for NAs in feature names in
Read10X - Prevent dimnames for counts/data/scale.data matrices from being arrays
- Updates
ReadH5ADto distinguish FVF methods - Fixes to UpdateSeuratObject for v2 objects
- Sink all output from stdout to stderr
- Fix to scale.data cell ordering after subsetting
- Enable
Assayspecification inBuildClusterTree - Fix
FeaturePlotwhen using bothblendandsplit.by - Fix to
WhichCellswhen passingcellsandinvert - Fix to
HoverLocatorlabels and title - Ensure features names don't contain pipes (
|) - Deprecation of
RunLSIandRunALRA - Fix legend bug when sorting in
ExIPlot
- Flag to skip singleton grouping in
FindClusters - New custom colors for blended
FeaturePlots - New
GetResidualfunction - New Seurat/Monocle converters
- Fix issue where certain assays weren't being shown in the
Seuratobject - Fix issue where we weren't updating
DimReducobject column names - Fix line spacers in
DoHeatmap - Fix uninformative labels in
FeaturePlot - Fix unset identities when converting from SCE to Seurat
- Fix single colors being interpreted as palettes in
SingleDimPlot - Ensure factor levels are always numerically increasing after
FindClusters - Better cell highlighting colors for
DimPlot - Fix to
levels<-.Seurat - Add ability to use counts/scaled data in
BuildClusterTree - Minor fix to split
ScaleData
- Add global option (Seurat.memsafe) to skip gc() calls
- Restore draw.lines to DoHeatmap, maintain size of color bar with different number of features (#1429)
- Enable split.by parameter for ScaleData
- Add slot parameter to FeaturePlot (#1483)
- Add assay parameter to DotPlot (#1404)
- Fix to color options for VlnPlot with split.by option (#1425)
- Improvements to conversion functions (loom, SCE)
- Fix for cluster tree reordering (#1434)
- Fix PercentageFeatureSet for single feature case
- Fix to fold change calculation and filtering for other slots in FindMarkers (#1454)
- Keep title vectorized in AugmentPlot (#1515)
- Export LogSeuratCommand function
- Fix for FindConservedMarkers when one ident is missing from a group (#1517)
- New method for identifying anchors across single-cell datasets
- Parallelization support via future
- Additional method for demultiplexing with MULTIseqDemux
- Support normalization via sctransform
- New option for clustering with the Leiden algorithm
- Support for reading 10X v3 files
- New function to export Seurat objects for the UCSC cell browser
- Support for data import from Alevin outputs
- Imputation of dropped out values via ALRA
- Significant code restructuring
- Most occurances of "gene(s)" in function names/arguments renamed to "feature(s)"
- Changes to the Seurat object class to facilitate multimodal data
- New BlendPlot implementation
- GetIdent function added to pull identity info
- DiffusionMap dependency replaced with destiny to avoid archival
- Java dependency removed and functionality rewritten in Rcpp
- Speed and efficiency improvements for Rcpp code
- More robust duplicate handling in CellCycleScoring
- New HTOHeatmap function
- Support for custom PNG arguments for vector-friendly plotting
- Fix for 'NA'-labeled cells disappearing with custom color scale
- Replaced FNN with RANN
- Removed unused compiler flags
- Moved several lightly-used packages from 'imports' to 'suggests'
- RenameCells added for easy renaming of all cells
- Read10X_h5 added to read in 10X formatted h5 files
- SetAssayData ensures cell order is the same between assay objects and the Seurat object
- Compatability updates for ggplot2 v2.3.0
- Support for UMAP dimensional reduction technique
- New conversion functions for SingleCellExperiment and anndata
- FetchData preserves cell order
- Require Matrix 1.2-14 or higher
- AddModuleScore no longer densifies sparse-matrices
- Various visualization fixes and improvements
- Default value for latent.vars in FindMarkers/FindAllMarkers changed to NULL.
- Support for HTO demultiplexing
- Utility functions: TransferIdent, CombineIdent, SplitObject, vector.friendly
- C++ implementation for parts of BuildSNN
- Preliminary parallelization support (regression and JackStraw)
- Support for FItSNE
- MetaDE replaced with metap for combining p-values (MetaDE was removed from CRAN)
- NMF heatmaps replaced (NMF to be archived by CRAN)
- MetaDE replaced with metap for combining p-values (MetaDE was removed from CRAN)
- NMF heatmaps replaced (NMF to be archived by CRAN)
- Multiple alignment functionality with RunMultiCCA and AlignSubspace extended to multiple datasets
- CalcAlignmentScore added to evaluate alignment quality
- MetageneBicorPlot added to guide CC selection
- Change cluster order in DoHeatmap with group.order parameter
- Ability to change plotting order and add a title to DimPlot
- do.clean and subset.raw options for SubsetData
- JoyPlot has been replaced with RidgePlot
- FindClusters is now more robust in making temp files
- MetaDE support for combining p-values in DE testing
- Support for using MAST and DESeq2 packages for differential expression testing in FindMarkers
- Support for multi-modal single-cell data via @assay slot
- Default DE test changed to Wilcoxon rank sum test
- Now available on CRAN
- Updated documentation complete with examples
- Example datasets:
pbmc_smallandcc.genes - C++ implementation for parts of FindVariableGenes
- Minor bug fixes
- New method for aligning scRNA-seq datasets
- Significant code restructuring
- New methods for scoring gene expression and cell-cycle phases
- New visualization features (do.hover, do.identify)