Skip to contents

To install Seurat, R version 4.0 or greater is required. We also recommend installing RStudio.

Install from CRAN

Seurat is available on CRAN for all systems. To install, run:

Optional packages, developed by other labs, can substantially improve Seurat’s speed and performance.

These include presto (Korsunsky/Raychaudhuri Labs), BPCells (Greenleaf Lab), and glmGamPoi (Huber Lab). To install these packages, run:

setRepositories(ind = 1:3, addURLs = c("https://satijalab.r-universe.dev", "https://bnprks.r-universe.dev/"))
install.packages(c( "presto", "BPCells", "glmGamPoi"))

We also recommend installing the following additional packages, which enhance the functionality of Seurat and are used in our vignettes (see the Extensions page for more details):

install.packages("Signac")

if (!requireNamespace("remotes", quietly = TRUE)) {
  install.packages("remotes")
}

remotes::install_github("satijalab/seurat-data")
remotes::install_github("satijalab/azimuthapi")
remotes::install_github("satijalab/rna-fingerprinting")
remotes::install_github("satijalab/seurat-wrappers")

Install the development version

The development version of Seurat is available on GitHub.

Note: If Seurat has already been loaded (e.g., via library(Seurat)), restart your R session after installing a different version to avoid version conflicts.

To install the development version, run:

if (!requireNamespace("remotes", quietly = TRUE)) {
  install.packages("remotes")
}

remotes::install_github(repo = "satijalab/seurat", ref = "main")
library(Seurat)

Install previous versions

Seurat v4 & older versions of Seurat, from Seurat v2.0.1 and up, are hosted in CRAN’s archive. To install, run:

if (!requireNamespace("remotes", quietly = TRUE)) {
  install.packages("remotes")
}

# Replace X.X.X with your desired version
remotes::install_version(package = "Seurat", version = package_version("X.X.X"))

For versions of Seurat older than those hosted on CRAN (versions 1.3.0 and 1.4.0), please download the packaged source code as a tarball (.tar.gz) from our releases page and install via:

install.packages("/path/to/Seurat_X.X.X.tar.gz", repos = NULL, type = "source")

Use pak for installs

Users may find pak useful for quickly and easily installing Seurat and other packages:

if (!requireNamespace("pak", quietly = TRUE)) {
  install.packages("pak")
}

pak::pkg_install("Seurat")

# Packages to improve speed and performance
pak::repo_add(satijalab = "https://satijalab.r-universe.dev", bnprks = "https://bnprks.r-universe.dev")
pak::pkg_install(c("BPCells", "presto", "glmGamPoi"))

# Packages to extend functionality
pak::pkg_install("Signac")
pak::pkg_install("satijalab/seurat-data")
pak::pkg_install("satijalab/azimuthapi")
pak::pkg_install("satijalab/rna-fingerprinting")
pak::pkg_install("satijalab/seurat-wrappers")

# Development version
pak::pkg_install("satijalab/seurat@main")

# Previous version on CRAN
pak::pkg_install("Seurat@X.X.X")

# Early versions via source tarball
pak::pkg_install("local::/path/to/Seurat_X.X.X.tar.gz")

Docker

We provide Docker images for Seurat via Docker Hub.

Note: packages in these images may be installed from CRAN or Posit Package Manager (RSPM), which supplies precompiled binaries of CRAN releases.

To pull the latest image from the command line:

docker pull satijalab/seurat:latest

To use as a base image in a new Dockerfile:

FROM satijalab/seurat:latest