Skip to content

Commit

Permalink
Merge pull request #808 from satijalab/release/4.4.0
Browse files Browse the repository at this point in the history
Release/4.4.0
  • Loading branch information
saketkc committed Sep 27, 2023
2 parents f20de9d + 820f29d commit d9f09de
Show file tree
Hide file tree
Showing 13 changed files with 111 additions and 103 deletions.
11 changes: 6 additions & 5 deletions DESCRIPTION
@@ -1,6 +1,6 @@
Package: Seurat
Version: 4.3.0.9013
Date: 2023-07-21
Version: 4.4.0
Date: 2023-09-26
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) <doi:10.1038/nbt.3192>, Macosko E, Basu A, Satija R, et al (2015) <doi:10.1016/j.cell.2015.05.002>, Stuart T, Butler A, et al (2019) <doi:10.1016/j.cell.2019.05.031>, and Hao, Hao, et al (2020) <doi:10.1101/2020.10.12.335331> for more details.
Authors@R: c(
Expand Down Expand Up @@ -58,6 +58,7 @@ Imports:
plotly (>= 4.9.0),
png,
progressr,
purrr,
RANN,
RColorBrewer,
Rcpp (>= 1.0.7),
Expand All @@ -67,9 +68,9 @@ Imports:
ROCR,
Rtsne,
scales,
scattermore (>= 0.7),
sctransform (>= 0.3.5),
SeuratObject (>= 4.1.3),
scattermore (>= 1.2),
sctransform (>= 0.4.0),
SeuratObject (>= 4.1.4),
shiny,
spatstat.explore,
spatstat.geom,
Expand Down
1 change: 1 addition & 0 deletions NAMESPACE
Expand Up @@ -674,6 +674,7 @@ importFrom(plotly,plot_ly)
importFrom(plotly,raster2uri)
importFrom(png,readPNG)
importFrom(progressr,progressor)
importFrom(purrr,imap)
importFrom(reticulate,import)
importFrom(reticulate,py_module_available)
importFrom(reticulate,py_set_seed)
Expand Down
7 changes: 4 additions & 3 deletions NEWS.md
@@ -1,4 +1,4 @@
# Unreleased
# Seurat 4.4.0 (2023-09-27)

## Added
- Added parallelization support with speed improvements for `PrepSCTFindMarkers`
Expand All @@ -7,11 +7,12 @@
## Changes
- Fix bug in `as.Seurat.SingleCellExperiment()` ([#6692](https://github.com/satijalab/seurat/issues/6692))
- Support for Visium probe information introduced in Spaceranger 2.1 ([#7141](https://github.com/satijalab/seurat/pull/7141))
- Add `LoadCurioSeeker` to load sequencing-based spatial datasets generated using the Curio Seeker ([#744](https://github.com/satijalab/seurat-private/pull/744))
- Fix fold change calculation for assays ([#739](https://github.com/satijalab/seurat-private/pull/739))
- Add `LoadCurioSeeker` to load sequencing-based spatial datasets generated using the Curio Seeker
- Fix fold change calculation for assays ([#7095](https://github.com/satijalab/seurat/issues/7095))
- Fix `pt.size` bug when rasterization is set to true ([#7379](https://github.com/satijalab/seurat/issues/7379))
- Fix `FoldChange` and `FindMarkers` to support all normalization approaches ([#7115](https://github.com/satijalab/seurat/pull/7115),[#7110](https://github.com/satijalab/seurat/issues/7110),[#7095](https://github.com/satijalab/seurat/issues/7095),[#6976](https://github.com/satijalab/seurat/issues/6976),[#6654](https://github.com/satijalab/seurat/issues/6654),[#6701](https://github.com/satijalab/seurat/issues/6701),[#6773](https://github.com/satijalab/seurat/issues/6773), [#7107](https://github.com/satijalab/seurat/issues/7107))
- Fix for handling newer ParseBio formats in `ReadParseBio` ([#7565](https://github.com/satijalab/seurat/pull/7565))
- Fix for handling rasterization by default ([#7842](https://github.com/satijalab/seurat/pull/7842))

# Seurat 4.3.0 (2022-11-18)

Expand Down
3 changes: 2 additions & 1 deletion R/preprocessing.R
Expand Up @@ -488,6 +488,7 @@ GetResidual <- function(
#' @importFrom png readPNG
#' @importFrom grid rasterGrob
#' @importFrom jsonlite fromJSON
#' @importFrom purrr imap
#'
#' @export
#' @concept preprocessing
Expand Down Expand Up @@ -519,7 +520,7 @@ Load10X_Spatial <- function(

if (to.upper) {
data <- imap(data, ~{
rownames(.x) <- toupper(rownames(.x))
rownames(.x) <- toupper(x = rownames(.x))
.x
})
}
Expand Down
14 changes: 7 additions & 7 deletions R/visualization.R
Expand Up @@ -4009,7 +4009,7 @@ SpatialPlot <- function(
}

# Get feature max for individual feature
if (!(is.null(x = keep.scale)) && keep.scale == "feature" && class(x = data[, features[j]]) != "factor") {
if (!(is.null(x = keep.scale)) && keep.scale == "feature" && !inherits(x = data[, features[j]], what = "factor") ) {
max.feature.value <- max(data[, features[j]])
}

Expand Down Expand Up @@ -4085,7 +4085,7 @@ SpatialPlot <- function(
}

# Plot multiple images depending on keep.scale
if (!(is.null(x = keep.scale)) && class(x = data[, features[j]]) != "factor") {
if (!(is.null(x = keep.scale)) && !inherits(x = data[, features[j]], "factor")) {
plot <- suppressMessages(plot & scale_fill_gradientn(colors = SpatialColors(n = 100), limits = c(NA, max.feature.value)))
}

Expand Down Expand Up @@ -4885,7 +4885,7 @@ AutoPointSize <- function(data, raster = NULL) {
#' hexadecimal codes
#' @param threshold Intensity threshold for light/dark cutoff; intensities
#' greater than \code{theshold} yield \code{dark}, others yield \code{light}
#' @param w3c Use \href{http://www.w3.org/TR/WCAG20/}{W3C} formula for calculating
#' @param w3c Use \href{https://www.w3.org/TR/WCAG20/}{W3C} formula for calculating
#' background text color; ignores \code{threshold}
#' @param dark Color for dark text
#' @param light Color for light text
Expand Down Expand Up @@ -7802,7 +7802,7 @@ globalVariables(names = '..density..', package = 'Seurat')
#' @param cols An optional vector of colors to use
#' @param pt.size Point size for the plot
#' @param smooth Make a smoothed scatter plot
#' @param rows.highight A vector of rows to highlight (like cells.highlight in
#' @param rows.highlight A vector of rows to highlight (like cells.highlight in
#' \code{\link{SingleDimPlot}})
#' @param legend.title Optional legend title
#' @param raster Convert points to raster format, default is \code{NULL}
Expand Down Expand Up @@ -7842,7 +7842,7 @@ SingleCorPlot <- function(
jitter = TRUE
) {
pt.size <- pt.size %||% AutoPointSize(data = data, raster = raster)
if ((nrow(x = data) > 1e5) & !isFALSE(raster)){
if ((nrow(x = data) > 1e5) & !is.null(x = raster)){
message("Rasterizing points since number of points exceeds 100,000.",
"\nTo disable this behavior set `raster=FALSE`")
}
Expand Down Expand Up @@ -8051,7 +8051,7 @@ SingleDimPlot <- function(
raster = NULL,
raster.dpi = NULL
) {
if ((nrow(x = data) > 1e5) & !isFALSE(raster)){
if ((nrow(x = data) > 1e5) & is.null(x = raster)){
message("Rasterizing points since number of points exceeds 100,000.",
"\nTo disable this behavior set `raster=FALSE`")
}
Expand Down Expand Up @@ -8245,7 +8245,7 @@ SingleExIPlot <- function(
if (PackageCheck('ggrastr', error = FALSE)) {
# Set rasterization to true if ggrastr is installed and
# number of points exceeds 100,000
if ((nrow(x = data) > 1e5) & !isFALSE(raster)){
if ((nrow(x = data) > 1e5) & is.null(x = raster)){
message("Rasterizing points since number of points exceeds 100,000.",
"\nTo disable this behavior set `raster=FALSE`")
# change raster to TRUE
Expand Down
2 changes: 1 addition & 1 deletion README.md
Expand Up @@ -3,7 +3,7 @@
[![CRAN Version](https://www.r-pkg.org/badges/version/Seurat)](https://cran.r-project.org/package=Seurat)
[![CRAN Downloads](https://cranlogs.r-pkg.org/badges/Seurat)](https://cran.r-project.org/package=Seurat)

# Seurat v4.3.0
# Seurat v4.4.0

Seurat is an R toolkit for single cell genomics, developed and maintained by the Satija Lab at NYGC.

Expand Down
24 changes: 5 additions & 19 deletions cran-comments.md
@@ -1,30 +1,16 @@
# Seurat v4.2.1
# Seurat v4.4.0

## Test environments
* local Ubuntu 20.04 install, R 4.1.3
* local Ubuntu 20.04 install, R 4.3.1
* win-builder (release, devel)

## R CMD check results
There were no ERRORs or WARNINGs

There was one NOTE:

* checking CRAN incoming feasibility ... NOTE
Maintainer: 'Paul Hoffman <seurat@nygenome.org>'

Found the following (possibly) invalid URLs:
URL: https://www.science.org/doi/abs/10.1126/science.aad0501
From: man/cc.genes.Rd
man/cc.genes.updated.2019.Rd
Status: 503
Message: Service Unavailable

This URL is valid and the service still exists. When navigating to the URL either via the documentation or directly, you are taken to the correct article
There were no ERRORs or WARNINGs.

## Downstream dependencies

There no packages that depend on Seurat

There are sixteen packages that import Seurat: CAMML, CIDER, DR.SC, DUBStepR, maple, Platypus, rPanglaoDB, scDiffCom, scMappR, SCRIP, scRNAstat, Signac, SignacX, SoupX, spruce, and tidyseurat; this update does not impact their functionality
There are forty-five packages that import Seurat: AnanseSeurat, APL, bbknnR, benchdamic, CAMML, CIDER, COTAN, CSCDRNA, Dino, DR.SC, DWLS, ggsector, gsdensity, infercnv, IRISFGM, mixhvg, Nebulosa, pipeComp, PRECAST, ProFAST, rPanglaoDB, scAnnotate, scBFA, scBubbletree, scCB2, scDataviz, scDiffCom, scFeatures, scGate, scMappR, scperturbR, scpoisson, SCRIP, scRNAseqApp, scRNAstat, scTreeViz, SignacX, singleCellTK, SoupX, Spaniel, SPECK, speckle, SpotClean, stJoincount, and STREAK; this update does not impact their functionality

There are twelve packages that suggest Seurat: BisqueRNA, CIARA, ClustAssess, clustree, conos, DIscBIO, dyngen, harmony, rliger, Rmagic, treefit, and VAM; this update does not impact their functionality.
There are fifty-one packages that suggest Seurat: ASURAT, BayesSpace, BisqueRNA, Canek, cellpypes, CIARA, ClustAssess, clustifyr, clustifyrdatahub, clustree, combiroc, conos, countland, CRMetrics, decoupleR, DIscBIO, dittoSeq, dorothea, dyngen, EasyCellType, EpiMix, escape, fcoex, FEAST, fgsea, GeomxTools, grandR, harmony, M3Drop, MOFA2, monocle, muscData, progeny, RESET, rliger, SCORPIUS, SCpubr, scRepertoire, scTensor, Signac, SimBenchData, SimBu, spatialHeatmap, SPOTlight, TAPseq, TCGAbiolinks, tidybulk, treefit, tricycle, UCell, and VAM; this update does not impact their functionality.
106 changes: 57 additions & 49 deletions inst/CITATION
@@ -1,31 +1,33 @@
citHeader("To cite Seurat in publications, please use:")

citEntry(entry = "article",
author = personList(as.person("Yuhan Hao"),
as.person("Stephanie Hao"),
as.person("Erica Andersen-Nissen"),
as.person("William M. Mauck III"),
as.person("Shiwei Zheng"),
as.person("Andrew Butler"),
as.person("Maddie J. Lee"),
as.person("Aaron J. Wilk"),
as.person("Charlotte Darby"),
as.person("Michael Zagar"),
as.person("Paul Hoffman"),
as.person("Marlon Stoeckius"),
as.person("Efthymia Papalexi"),
as.person("Eleni P. Mimitou"),
as.person("Jaison Jain"),
as.person("Avi Srivastava"),
as.person("Tim Stuart"),
as.person("Lamar B. Fleming"),
as.person("Bertrand Yeung"),
as.person("Angela J. Rogers"),
as.person("Juliana M. McElrath"),
as.person("Catherine A. Blish"),
as.person("Raphael Gottardo"),
as.person("Peter Smibert"),
as.person("Rahul Satija")),
bibentry(bibtype = "article",
author = c(
as.person("Yuhan Hao"),
as.person("Stephanie Hao"),
as.person("Erica Andersen-Nissen"),
as.person("William M. Mauck III"),
as.person("Shiwei Zheng"),
as.person("Andrew Butler"),
as.person("Maddie J. Lee"),
as.person("Aaron J. Wilk"),
as.person("Charlotte Darby"),
as.person("Michael Zagar"),
as.person("Paul Hoffman"),
as.person("Marlon Stoeckius"),
as.person("Efthymia Papalexi"),
as.person("Eleni P. Mimitou"),
as.person("Jaison Jain"),
as.person("Avi Srivastava"),
as.person("Tim Stuart"),
as.person("Lamar B. Fleming"),
as.person("Bertrand Yeung"),
as.person("Angela J. Rogers"),
as.person("Juliana M. McElrath"),
as.person("Catherine A. Blish"),
as.person("Raphael Gottardo"),
as.person("Peter Smibert"),
as.person("Rahul Satija")
),
title = "Integrated analysis of multimodal single-cell data",
journal = "Cell",
year = "2021",
Expand All @@ -34,17 +36,19 @@ citEntry(entry = "article",
textVersion = "Hao and Hao et al. Integrated analysis of multimodal single-cell data. Cell (2021) [Seurat V4]"
)

citEntry(entry = "article",
author = personList(as.person("Tim Stuart"),
as.person("Andrew Butler"),
as.person("Paul Hoffman"),
as.person("Christoph Hafemeister"),
as.person("Efthymia Papalexi"),
as.person("William M Mauck III"),
as.person("Yuhan Hao"),
as.person("Marlon Stoeckius"),
as.person("Peter Smibert"),
as.person("Rahul Satija")),
bibentry(bibtype = "article",
author = c(
as.person("Tim Stuart"),
as.person("Andrew Butler"),
as.person("Paul Hoffman"),
as.person("Christoph Hafemeister"),
as.person("Efthymia Papalexi"),
as.person("William M Mauck III"),
as.person("Yuhan Hao"),
as.person("Marlon Stoeckius"),
as.person("Peter Smibert"),
as.person("Rahul Satija")
),
title = "Comprehensive Integration of Single-Cell Data",
journal = "Cell",
year = "2019",
Expand All @@ -55,12 +59,14 @@ citEntry(entry = "article",
textVersion = "Stuart and Butler et al. Comprehensive Integration of Single-Cell Data. Cell (2019) [Seurat V3]"
)

citEntry(entry = "article",
author = personList(as.person("Andrew Butler"),
as.person("Paul Hoffman"),
as.person("Peter Smibert"),
as.person("Efthymia Papalexi"),
as.person("Rahul Satija")),
bibentry(bibtype = "article",
author = c(
as.person("Andrew Butler"),
as.person("Paul Hoffman"),
as.person("Peter Smibert"),
as.person("Efthymia Papalexi"),
as.person("Rahul Satija")
),
title = "Integrating single-cell transcriptomic data across different conditions, technologies, and species",
journal = "Nature Biotechnology",
year = "2018",
Expand All @@ -71,12 +77,14 @@ citEntry(entry = "article",
textVersion = "Butler et al. Integrating single-cell transcriptomic data across different conditions, technologies, and species. Nat Biotechnol (2018) [Seurat V2]"
)

citEntry(entry = "article",
author = personList(as.person("Rahul Satija"),
as.person("Jeffrey A Farrell"),
as.person("David Gennert"),
as.person("Alexander F Schier"),
as.person("Aviv Regev")),
bibentry(bibtype = "article",
author = c(
as.person("Rahul Satija"),
as.person("Jeffrey A Farrell"),
as.person("David Gennert"),
as.person("Alexander F Schier"),
as.person("Aviv Regev")
),
title = "Spatial reconstruction of single-cell gene expression data",
journal = "Nature Biotechnology",
year = "2015",
Expand Down
2 changes: 1 addition & 1 deletion man/BGTextColor.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions man/SingleCorPlot.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit d9f09de

Please sign in to comment.