github satijalab/seurat v5.6.0
Version 5.6.0

2 days ago

Changes

Additions

  • Added setThreads and getThreads to control threading in supported C++ kernels and uwot UMAP backends
  • Updated NormalizeData to use threaded sparse log-normalization and reduce matrix-copying overhead
  • Updated FindVariableFeatures to share a sparse VST implementation across assay versions with threaded standardized-variance calculations
  • Updated ScaleData to center, scale, and clip default inputs in a single threaded C++ call
  • Updated SCTransform to use threaded C++ calculations for supported Pearson residuals and corrected counts
  • Updated the v5 SCTransform workflow to avoid intermediate assay objects and defer default residual calculation until feature selection is complete
  • Updated RunPCA to use a threaded dense Gram-matrix backend by default and reuse feature variances
  • Updated FindNeighbors to use threaded C++ Annoy searches and SNN graph construction
  • Updated FindClusters to reuse graph preparation across resolutions and parallelize modularity-optimization random starts
  • Updated RunUMAP to use the Seurat thread setting for uwot, uwot2, and model projection
  • Updated FindMarkers to reuse matrix subsets for fold-change calculations and process sparse inputs efficiently
  • Updated FindAllMarkers to test supported Wilcoxon comparisons across all identities in one presto call, and compute fold changes and detection percentages in bulk
  • Updated IntegrateLayers with RPCAIntegration to reduce per-layer setup overhead and use threaded integration calculations
  • Updated IntegrateLayers with CCAIntegration to use threaded anchor scoring and integration-weight calculations
  • Added svd.method parameter to CCAIntegration for use through IntegrateLayers
  • Updated large dense CCA comparisons to use an implicit RSpectra backend (svd.method = "rspectra") and avoid materializing the cell-by-cell cross-product matrix
  • Updated CCAIntegration to skip gene loadings when anchor filtering is disabled

Fixes

  • Fixed AddModuleScore (and CellCycleScoring) on v5 objects with on-disk (e.g. BPCells) assays, where each layer was fully densified to an in-memory dgCMatrix before scoring; scoring now operates directly on the on-disk matrix (#10448)
  • Fixed GetResidual() to correctly handle multi-model SCT assays with partial feature overlap (#10541)
  • Fixed bug in PercentageFeatureSet where layer data was incorrectly retrieved prior to finding features with requested pattern (#10438)
  • Updated as.SingleCellExperiment to address conversion case where an object has both original and sketched assay / reductions (differing numbers of cells) (#10419)
  • Fixed bugs in behavior of RidgePlot parameters fill.by, y.max, and same.y.lims (#10424, #10517)
  • Fixed naming of combined p-value column in output of FindConservedMarkers when a non-default meta.method is specified (#10429)
  • Updated minimum required uwot version to 0.2.1 (#10447)
  • Registered Radius.VisiumV2 as an S3 method to fix Radius returning NULL for VisiumV2 images (#10454)
  • Fixed FindSpatiallyVariableFeatures() to correctly match FOV coordinates to cells in the requested assay and handle various edge cases, including fewer than two matched cells, a single varying feature, or no varying requested features (#10504)
  • Updated argument handling in FindSpatiallyVariableFeatures() by resolving selection.method with match.arg() and restoring the FindSpatiallyVariableFeatures.Assay() default nfeatures value to 2000 (#10504)
  • Fixed RunMarkVario() to return one named mark variogram result per feature for single-feature inputs and parallel execution chunks (#10505)
  • Updated IntegrateLayers() to throw an error message when less than two groups/layers are provided (#10396)
  • Fixed recorrection in SCTransform after subsetting so FindMarkers() works on subsetted SCT assays with observed median UMI lower than the correction depth stored in every SCT model (#10509)
  • Fixed FindNeighbors to correctly convert Annoy angular distances to cosine distances
  • Fixed RunPCA on v5 assays to exclude unavailable requested features and cap the number of PCs by the available features and cells
  • Fixed SCTransform residual retrieval to reuse cached features and respect an explicitly supplied clip.range
  • Fixed SCTransform on v5 assays to preserve features selected by variable.features.rv.th when variable.features.n = NULL, including across multiple layers
  • Fixed reference-based RPCA/CCA anchor finding to exclude query-query comparisons regardless of verbose

Don't miss a new seurat release

NewReleases is sending notifications on new releases.