Learn R Programming

Seurat v5

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

We are excited to release Seurat v5! This updates introduces new functionality for spatial, multimodal, and scalable single-cell analysis.

Seurat v5 is backwards-compatible with previous versions, so that users will continue to be able to re-run existing workflows.

Instructions, documentation, and tutorials can be found at:

Seurat is also hosted on GitHub, you can view and clone the repository at

Seurat has been successfully installed on Mac OS X, Linux, and Windows, using the devtools package to install directly from GitHub

Improvements and new features will be added on a regular basis, please post on the github page with any questions or if you would like to contribute

For a version history/changelog, please see the NEWS file.

Copy Link

Version

Install

install.packages('Seurat')

Monthly Downloads

74,423

Version

5.3.1

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Paul Hoffman

Last Published

October 29th, 2025

Functions in Seurat (5.3.1)

BuildNicheAssay

Construct an assay for spatial niche analysis
BuildClusterTree

Phylogenetic Analysis of Identity Classes
CalcPerturbSig

Calculate a perturbation Signature
CollapseSpeciesExpressionMatrix

Slim down a multi-species expression matrix, when only one species is primarily of interenst.
Cells.SCTModel

Get Cell Names
CollapseEmbeddingOutliers

Move outliers towards center on dimension reduction plot
CellsByImage

Get a vector of cell names associated with an image (or set of images)
DimHeatmap

Dimensional reduction heatmap
CombinePlots

Combine ggplot2-based plots into a single plot
DimPlot

Dimensional reduction plot
ColorDimSplit

Color dimensional reduction plot by tree split
CustomDistance

Run a custom distance function on an input data matrix
CellSelector

Cell Selector
CreateSCTAssayObject

Create a SCT Assay object
CellScatter

Cell-cell scatter plot
CalculateBarcodeInflections

Calculate the Barcode Distribution Inflection
CaseMatch

Match the case of character vectors
BlackAndWhite

Create a custom color palette
CellCycleScoring

Score cell cycle phases
CreateCategoryMatrix

Create one hot matrix for a given label
ExpMean

Calculate the mean of logged values
ElbowPlot

Quickly Pick Relevant Dimensions
CountSketch

Generate CountSketch random matrix
ExpSD

Calculate the standard deviation of logged values
DimReduc-class

The DimReduc Class
DiscretePalette

Discrete colour palettes from pals
FetchResidualSCTModel

Calculate pearson residuals of features not in the scale.data This function is the secondary function under FetchResiduals
ExpVar

Calculate the variance of logged values
FindAllMarkers

Gene expression markers for all identity classes
FetchResiduals

Get the Pearson residuals from an sctransform-normalized dataset.
FindBridgeAnchor

Find bridge anchors between two unimodal datasets
FastRPCAIntegration

Perform integration on the joint PCA cell embeddings.
FastRowScale

Scale and/or center matrix rowwise
DEenrichRPlot

DE and EnrichR pathway visualization barplot
DoHeatmap

Feature expression heatmap
DotPlot

Dot plot visualization
FeatureScatter

Scatter plot of single cell data
FeaturePlot

Visualize 'features' on a dimensional reduction plot
FindIntegrationAnchors

Find integration anchors
FindClusters

Cluster Determination
FindConservedMarkers

Finds markers that are conserved between the groups
DISP

Find variable features based on dispersion
GetAssay

Get an Assay object from a given Seurat object.
FindTransferAnchors

Find transfer anchors
FetchResiduals_reference

temporal function to get residuals from reference
FindVariableFeatures

Find variable features
FilterSlideSeq

Filter stray beads from Slide-seq puck
FindBridgeIntegrationAnchors

Find integration bridge anchors between query and extended bridge-reference
DietSeurat

Slim down a Seurat object
GetIntegrationData

Get integration data
FindSubCluster

Find subclusters under one cluster
FindMarkers

Gene expression markers of identity classes
FindSpatiallyVariableFeatures

Find spatially variable features
ISpatialFeaturePlot

Visualize features spatially and interactively
GetResidual

Calculate pearson residuals of features not in the scale.data
Graph-class

The Graph Class
ImageDimPlot

Spatial Cluster Plots
FindMultiModalNeighbors

Construct weighted nearest neighbor graph
FindBridgeTransferAnchors

Find bridge anchors between query and extended bridge-reference
FindNeighbors

(Shared) Nearest-neighbor graph construction
GroupCorrelation

Compute the correlation of features broken down by groups with another covariate
JointPCAIntegration

Seurat-Joint PCA Integration
JackStrawPlot

JackStraw Plot
GetTransferPredictions

Get the predicted identity
GetTissueCoordinates.SlideSeq

Get Tissue Coordinates
LeverageScore

Leverage Score Calculation
IntegrationAnchorSet-class

The IntegrationAnchorSet Class
IntegrationData-class

The IntegrationData Class
ISpatialDimPlot

Visualize clusters spatially and interactively
IFeaturePlot

Visualize features in dimensional reduction space interactively
GetImage.SlideSeq

Get Image Data
Load10X_Spatial

Load a 10x Genomics Visium Spatial Experiment into a Seurat object
L2Dim

L2-normalization
HoverLocator

Hover Locator
HarmonyIntegration

Harmony Integration
IntegrateLayers

Integrate Layers
L2CCA

L2-Normalize CCA
IntegrateEmbeddings

Integrate low dimensional embeddings
MVP

Find variable features based on mean.var.plot
LabelClusters

Label clusters on a ggplot2-based scatter plot
MapQuery

Map query cells to a reference
MixscapeLDA

Linear discriminant analysis on pooled CRISPR screen data.
MixscapeHeatmap

Differential expression heatmap for mixscape
HTODemux

Demultiplex samples based on data from cell 'hashing'
JackStraw

Determine statistical significance of PCA scores.
GroupCorrelationPlot

Boxplot of correlation of a variable (e.g. number of UMIs) with expression data
LinkedPlots

Visualize spatial and clustering (dimensional reduction) data in a linked, interactive framework
NNPlot

Highlight Neighbors in DimPlot
MixingMetric

Calculates a mixing metric
ModalityWeights-class

The ModalityWeights Class
MinMax

Apply a ceiling and floor to all values in a matrix
LocalStruct

Calculate the local structure preservation metric
LabelPoints

Add text labels to a ggplot2 plot
JackStrawData-class

The JackStrawData Class
MetaFeature

Aggregate expression of multiple features into a single feature
PercentAbove

Calculate the percentage of a vector above some threshold
PercentageFeatureSet

Calculate the percentage of all counts that belong to a given set of features
MappingScore

Metric for evaluating mapping success
PolyDimPlot

Polygon DimPlot
LogNormalize

Normalize Raw Data
PolyFeaturePlot

Polygon FeaturePlot
PseudobulkExpression

Pseudobulk Expression
ProjectUMAP

Project query into UMAP coordinates of a reference
LoadAnnoyIndex

Load the Annoy index file
LogVMR

Calculate the variance to mean ratio of logged values
MULTIseqDemux

Demultiplex samples based on classification method from MULTI-seq (McGinnis et al., bioRxiv 2018)
NNtoGraph

Convert Neighbor class to an asymmetrical Graph class
Neighbor-class

The Neighbor Class
PredictAssay

Predict value from nearest neighbors
ReadNanostring

Read and Load Nanostring SMI data
ReadParseBio

Read output from Parse Biosciences
PrepLDA

Function to prepare data for Linear Discriminant Analysis.
PrepSCTIntegration

Prepare an object list normalized with sctransform for integration.
PrepSCTFindMarkers

Prepare object to run differential expression on SCT assay with multiple models
HTOHeatmap

Hashtag oligo heatmap
FoldChange

Fold Change
HVFInfo.SCTAssay

Get Variable Feature Information
GaussianSketch

Gaussian sketching
ImageFeaturePlot

Spatial Feature Plots
PlotClusterTree

Plot clusters as a tree
PlotPerturbScore

Function to plot perturbation score distributions.
RunICA

Run Independent Component Analysis on gene expression
RunGraphLaplacian

Run Graph Laplacian Eigendecomposition
ReadSTARsolo

Read output from STARsolo
ReadSlideSeq

Load Slide-seq spatial data
ProjectDimReduc

Project query data to reference dimensional reduction
ProjectIntegration

Integrate embeddings from the integrated sketched.assay
ReadVizgen

Read and Load MERFISH Input from Vizgen
ReadVitessce

Read Data From Vitessce
ReadAkoya

Read and Load Akoya CODEX data
ProjectDim

Project Dimensional reduction onto full dataset
ProjectData

Project full data to the sketch assay
ReadMtx

Load in data from remote or local mtx files
RPCAIntegration

Seurat-RPCA Integration
RunTSNE

Run t-distributed Stochastic Neighbor Embedding
RunLeiden

Run Leiden clustering algorithm
RunLDA

Run Linear Discriminant Analysis
Radius.SlideSeq

Get Spot Radius
SelectIntegrationFeatures

Select integration features
ScoreJackStraw

Compute Jackstraw scores significance.
RunUMAP

Run UMAP
SCTransform

Perform sctransform-based normalization
RelativeCounts

Normalize raw data to fractions
RunPCA

Run Principal Component Analysis
RenameCells.SCTAssay

Rename Cells in an Object
RunMoransI

Compute Moran's I value.
SCTAssay-class

The SCTModel Class
SCTResults

Get SCT results from an Assay
Seurat-class

The Seurat Class
Seurat-package

Seurat: Tools for Single Cell Genomics
SampleUMI

Sample UMI
SaveAnnoyIndex

Save the Annoy index
STARmap-class

The STARmap class
LoadXenium

Read and Load 10x Genomics Xenium in-situ data
RunMixscape

Run Mixscape
Read10X_Image

Load a 10X Genomics Visium Image
RegroupIdents

Regroup idents based on meta.data info
RunMarkVario

Run the mark variogram computation on a given position matrix and expression matrix.
Read10X_ScaleFactors

Load 10X Genomics Visium Scale Factors
SingleDimPlot

Plot a single dimension
SingleCorPlot

A single correlation plot
SeuratCommand-class

The SeuratCommand Class
SeuratTheme

Seurat Themes
SingleImageMap

SingleExIPlot

Plot a single expression by identity on a plot
SelectIntegrationFeatures5

Select integration features
SelectSCTIntegrationFeatures

Select SCT integration features
TopNeighbors

Get nearest neighbors for given cell
SingleSpatialPlot

Base plotting function for all Spatial plots
SketchData

Sketch Data
TopFeatures

Find features with highest scores for a given dimensional reduction technique
LoadSTARmap

Load STARmap data
IntegrateData

Integrate data
LoadCurioSeeker

Load Curio Seeker data
as.SingleCellExperiment

Convert objects to SingleCellExperiment objects
TransferData

Transfer data
as.sparse.H5Group

Cast to Sparse
TransferAnchorSet-class

The TransferAnchorSet Class
contrast-theory

Get the intensity and/or luminance of a color
SubsetByBarcodeInflections

Subset a Seurat Object based on the Barcode Distribution Inflection Points
TopCells

Find cells with highest scores for a given dimensional reduction technique
SingleRasterMap

A single heatmap from ggplot2 using geom_raster
VizDimLoadings

Visualize Dimensional Reduction genes
VlnPlot

Single cell violin plot
SlideSeq-class

The SlideSeq class
fortify-Spatial

Prepare Coordinates for Spatial Plots
SingleImagePlot

Single Spatial Plot
SpatialImage-class

The SpatialImage Class
VisiumV1-class

The VisiumV1 class
VisiumV2-class

The VisiumV2 class
subset.AnchorSet

Subset an AnchorSet object
writing-integration

Writing Integration Method Functions
UnSketchEmbeddings

Transfer embeddings from sketched cells to the full data
TransferSketchLabels

Transfer data from sketch data to full data
merge.SCTAssay

Merge SCTAssay objects
VariableFeaturePlot

View variable features
VST

Variance Stabilizing Transformation
Read10X

Load in data from 10X
PCASigGenes

Significant genes from a PCA
Read10X_Coordinates

Load 10X Genomics Visium Tissue Positions
NormalizeData

Normalize Data
PrepareBridgeReference

Prepare the bridge and reference datasets
ProjectCellEmbeddings

Project query data to the reference dimensional reduction
Read10X_h5

Read 10X hdf5 file
RunCCA

Perform Canonical Correlation Analysis
RidgePlot

Single cell ridge plot
RunSLSI

Run Supervised Latent Semantic Indexing
Read10X_probe_metadata

Read10x Probe Metadata
components

Objects exported from other packages
RunSPCA

Run Supervised Principal Component Analysis
SpatialPlot

Visualize spatial clustering and expression data.
ScaleData

Scale and center the data.
SetQuantile

Find the Quantile of Data
SetIntegrationData

Set integration data
ScaleFactors

Get image scale factors
UpdateSCTAssays

Update pre-V4 Assays generated with SCTransform in the Seurat to the new SCTAssay class
cc.genes.updated.2019

Cell cycle genes: 2019 update
as.Seurat.CellDataSet

Convert objects to Seurat objects
UpdateSymbolList

Get updated synonyms for gene symbols
SplitObject

Splits object into a list of subsetted objects.
as.CellDataSet

Convert objects to CellDataSet objects
cc.genes

Cell cycle genes
Assay-class

The Assay Class
AnchorSet-class

The AnchorSet Class
AddModuleScore

Calculate module scores for feature expression programs in single cells
AugmentPlot

Augments ggplot2-based plot with a PNG image.
AutoPointSize

Automagically calculate a point size for ggplot2-based scatter plots
AddAzimuthResults

Add Azimuth Results
AnnotateAnchors

Add info to anchor matrix
AggregateExpression

Aggregated feature expression by identity class
AverageExpression

Averaged feature expression by identity class
AddAzimuthScores

Add Azimuth Scores
BridgeReferenceSet-class

The BridgeReferenceSet Class The BridgeReferenceSet is an output from PrepareBridgeReference
CCAIntegration

Seurat-CCA Integration
BridgeCellsRepresentation

Construct a dictionary representation for each unimodal dataset
BGTextColor

Determine text color based on background color
BarcodeInflectionsPlot

Plot the Barcode Distribution and Calculated Inflection Points
CalcDispersion

Calculate dispersion of features