From 5221a8071ed36806376c5aed61c665ad245e7a94 Mon Sep 17 00:00:00 2001 From: David Collins Date: Wed, 22 Jan 2025 13:38:20 -0500 Subject: [PATCH 1/7] Fixup smoke test for FindClusters --- tests/testthat/test_find_clusters.R | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/tests/testthat/test_find_clusters.R b/tests/testthat/test_find_clusters.R index 0da9eb587..8e101a9cf 100644 --- a/tests/testthat/test_find_clusters.R +++ b/tests/testthat/test_find_clusters.R @@ -34,13 +34,17 @@ context("FindClusters") test_that("Smoke test for `FindClusters`", { test_case <- get_test_data() - # Spot check cluster assignments with using defaults. + # Validate cluster assignments using default parameters. results <- FindClusters(test_case)$seurat_clusters - expect_equal(results[[1]], factor(3, levels=0:5)) - expect_equal(results[[15]], factor(4, levels=0:5)) - expect_equal(results[[24]], factor(0, levels=0:5)) - expect_equal(results[[72]], factor(5, levels=0:5)) - expect_equal(results[[length(results)]], factor(2, levels=0:5)) + # Check that every cell was assigned to a cluster label. + expect_false(any(is.na(results))) + # Check that the expected cluster labels were assigned. + expect_equal(as.numeric(levels(results)), c(0, 1, 2, 3, 4, 5)) + # Check that the cluster sizes match the expected distribution. + expect_equal( + as.numeric(sort(table(results))), + c(9, 10, 10, 11, 20, 20) + ) # Check that every clustering algorithm can be run without errors. expect_no_error(FindClusters(test_case, algorithm = 1)) From 4f7659c56d623310579eb2cdc2e45173d7acf6e4 Mon Sep 17 00:00:00 2001 From: David Collins Date: Wed, 22 Jan 2025 13:46:39 -0500 Subject: [PATCH 2/7] Bump version --- DESCRIPTION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index 25fda37bb..56c5a5f58 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,5 +1,5 @@ Package: Seurat -Version: 5.2.0 +Version: 5.2.0.9001 Title: Tools for Single Cell Genomics Description: A toolkit for quality control, analysis, and exploration of single cell RNA sequencing data. 'Seurat' aims to enable users to identify and interpret sources of heterogeneity from single cell transcriptomic measurements, and to integrate diverse types of single cell data. See Satija R, Farrell J, Gennert D, et al (2015) , Macosko E, Basu A, Satija R, et al (2015) , Stuart T, Butler A, et al (2019) , and Hao, Hao, et al (2020) for more details. Authors@R: c( From 63cf2c626403961fa3d10f1e347d4405b79713d8 Mon Sep 17 00:00:00 2001 From: David Collins Date: Wed, 22 Jan 2025 13:49:26 -0500 Subject: [PATCH 3/7] Update changelog --- NEWS.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/NEWS.md b/NEWS.md index b7d6e9359..a992acafb 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,3 +1,8 @@ +# Unreleased + +## Changes +- Fixed `test_find_clusters.R` to accommodate variability in label assignments given by `FindClusters` across different systems ([#9641](https://github.com/satijalab/seurat/pull/9641)) + # Seurat 5.2.0 (2024-12-20) ## Changes From 6786e9a7a36e3b571f6c588d53140965b9bbe4af Mon Sep 17 00:00:00 2001 From: David Collins Date: Thu, 23 Jan 2025 11:21:24 -0500 Subject: [PATCH 4/7] Add #8197 to changelog for 5.2.0 --- NEWS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/NEWS.md b/NEWS.md index a992acafb..6247d6d5b 100644 --- a/NEWS.md +++ b/NEWS.md @@ -14,6 +14,7 @@ - Updated `RunPCA` to use the `BPCells`-provided SVD solver on `BPCells` matrices; updated `JackStraw` to support `BPCells` matrices ([#8271](https://github.com/satijalab/seurat/pull/8271)) - Fixed `RunPCA` to avoid converting `BPCells` matrices into dense matrices - significantly reduces the function's memory usage when running on `BPCells` matrices ([#8966](https://github.com/satijalab/seurat/pull/8966)) - Updated `RunSLSI` to support `BPCells` matrices +- Fixed `DietSeurat` so that the `layers` parameter is respected ([#8197](https://github.com/satijalab/seurat/pull/8197)) - Updated `RunUMAP` to support `umap-learn` version >= 0.5.0 ([#9559](https://github.com/satijalab/seurat/pull/9559)) - Updated `LoadXenium` and `ReadXenium` to accommodate the output from `XOA` v3.0; updated `LoadXenium` to provide more fine-grained control over the datatypes parsed in, including nucleus segmentation masks, segmentation methods, and other experimental metadata; updated `ReadXenium` to load cell_feature_matrix.h5 when present in favor of the MEX format files; updated `ReadXenium` to load .parquet files using `arrow` instead of .csv.gz files to support XOA 3.0 ([#8604](https://github.com/satijalab/seurat/pull/8605)) - Fixed `LoadXenium` to accommodate datasets without "Blank Codeword" or "Unassigned Codeword" matrices([#9135](https://github.com/satijalab/seurat/pull/9135)) From 2fc5a59e870f76d60e52ea5869c78fd254aa17d7 Mon Sep 17 00:00:00 2001 From: David Collins Date: Thu, 23 Jan 2025 11:11:34 -0500 Subject: [PATCH 5/7] Bump version to 5.2.1 --- DESCRIPTION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index 56c5a5f58..e30bbb3a8 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,5 +1,5 @@ Package: Seurat -Version: 5.2.0.9001 +Version: 5.2.1 Title: Tools for Single Cell Genomics Description: A toolkit for quality control, analysis, and exploration of single cell RNA sequencing data. 'Seurat' aims to enable users to identify and interpret sources of heterogeneity from single cell transcriptomic measurements, and to integrate diverse types of single cell data. See Satija R, Farrell J, Gennert D, et al (2015) , Macosko E, Basu A, Satija R, et al (2015) , Stuart T, Butler A, et al (2019) , and Hao, Hao, et al (2020) for more details. Authors@R: c( From d40d7e1fb4007639bd5ebd3a31fe1cc3395f6191 Mon Sep 17 00:00:00 2001 From: David Collins Date: Thu, 23 Jan 2025 11:23:10 -0500 Subject: [PATCH 6/7] Finalize changelog --- NEWS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NEWS.md b/NEWS.md index 6247d6d5b..c0269fdf8 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,4 +1,4 @@ -# Unreleased +# Seurat 5.2.1 (2025-01-23) ## Changes - Fixed `test_find_clusters.R` to accommodate variability in label assignments given by `FindClusters` across different systems ([#9641](https://github.com/satijalab/seurat/pull/9641)) From 7e2582c4335711745156b0070fc37a237364b5fd Mon Sep 17 00:00:00 2001 From: David Collins Date: Thu, 23 Jan 2025 15:00:11 -0500 Subject: [PATCH 7/7] Update CRAN comments --- cran-comments.md | 34 ++++++++++++++-------------------- 1 file changed, 14 insertions(+), 20 deletions(-) diff --git a/cran-comments.md b/cran-comments.md index fed512508..371508a27 100644 --- a/cran-comments.md +++ b/cran-comments.md @@ -1,34 +1,28 @@ -# Seurat v5.2.0 +# Seurat v5.2.1 +This update is a small patch release to address failing M1mac checks ahead of the deadline on 2025-01-28. ## Test environments -* local ubuntu 20.04 install, R 4.4.2 -* win-builder (oldrelease, release, devel) -* mac-builder (devel) - -We were unable to test on r-release on mac-builder because the portal seemed to point to the wrong version. +* macOS 14.6.1 (Apple M3, arm64, local install): R-release +* Ubuntu 22.04 (Docker container): R-release +* [win-builder](https://win-builder.r-project.org/): R-oldrelease, R-release, R-devel +* [macOS builder](https://mac.r-project.org/macbuilder/submit.html): R-release, R-devel ## R CMD check results +There were no ERRORs or WARNINGs but there was one NOTE. -There were no ERRORs or WARNINGs - -There was one NOTE - -❯ checking CRAN incoming feasibility ... [12s/61s] NOTE +``` +❯ checking CRAN incoming feasibility ... [15s/92s] NOTE Maintainer: ‘Rahul Satija ’ Suggests or Enhances not in mainstream repositories: BPCells, enrichR, presto Availability using Additional_repositories specification: BPCells yes https://bnprks.r-universe.dev - enrichR yes https://cran.r-universe.dev + enrichR yes https://satijalab.r-universe.dev presto yes https://satijalab.r-universe.dev +``` -BPCells, enrichR, and presto are hosted on R-universe and used conditionally in Seurat. - -## Downstream dependencies - -There are 3 packages that depend on Seurat: CACIMAR, scCustomize, and SCdeconR; this update does not impact their functionality. - -There are 34 packages that import Seurat: AnanseSeurat, APackOfTheClones, bbknnR, CAESAR.Suite, CAMML, DR.SC, DWLS, GeneNMF, ggsector, mixhvg, nebula, Platypus, PoweREST, PRECAST, ProFAST, rPanglaoDB, scAnnotate, scaper, sccca, scDiffCom, scGate, scGOclust, SCIntRuler, scMappR, scperturbR, scpoisson, SCRIP, scRNAstat, SignacX, SoupX, SpaCCI, SPECK, STREAK, and tidyseurat; this update does not impact their functionality. +`BPCells`, `enrichR`, and `presto` are hosted on R-universe and used conditionally in `Seurat`. -There are 27 packages that suggest Seurat: BisqueRNA, Canek, cellpypes, CIARA, ClustAssess, clustree, combiroc, conos, countland, CRMetrics, CytoSimplex, DIscBIO, dyngen, easybio, grandR, harmony, laminr, mxfda, RESET, rliger, SCORPIUS, SCpubr, scregclust, Signac, SuperCell, treefit, and VAM; this update does not impact their functionality. +## Reverse dependency check results +We checked 65 reverse dependencies, comparing `R CMD check` results across the CRAN and dev versions of this package, and saw no new problems.