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

77,910

Version

5.4.0

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Paul Hoffman

Last Published

December 14th, 2025

Functions in Seurat (5.4.0)

BGTextColor

Determine text color based on background color
BarcodeInflectionsPlot

Plot the Barcode Distribution and Calculated Inflection Points
CalcDispersion

Calculate dispersion of features
CCAIntegration

Seurat-CCA Integration
CalculateBarcodeInflections

Calculate the Barcode Distribution Inflection
BridgeCellsRepresentation

Construct a dictionary representation for each unimodal dataset
BuildClusterTree

Phylogenetic Analysis of Identity Classes
BuildNicheAssay

Construct an assay for spatial niche analysis
CaseMatch

Match the case of character vectors
ColorDimSplit

Color dimensional reduction plot by tree split
CellCycleScoring

Score cell cycle phases
CalcPerturbSig

Calculate a perturbation Signature
CellSelector

Cell Selector
CellScatter

Cell-cell scatter plot
Cells.SCTModel

Get Cell Names
CellsByImage

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

Slim down a Seurat object
BridgeReferenceSet-class

The BridgeReferenceSet Class The BridgeReferenceSet is an output from PrepareBridgeReference
DISP

Find variable features based on dispersion
CombinePlots

Combine ggplot2-based plots into a single plot
DEenrichRPlot

DE and EnrichR pathway visualization barplot
FastRPCAIntegration

Perform integration on the joint PCA cell embeddings.
BlackAndWhite

Create a custom color palette
DotPlot

Dot plot visualization
DoHeatmap

Feature expression heatmap
CountSketch

Generate CountSketch random matrix
CreateCategoryMatrix

Create one hot matrix for a given label
FastRowScale

Scale and/or center matrix rowwise
DimReduc-class

The DimReduc Class
FindAllMarkers

Gene expression markers for all identity classes
FindBridgeIntegrationAnchors

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

Discrete colour palettes from pals
FindBridgeAnchor

Find bridge anchors between two unimodal datasets
ElbowPlot

Quickly Pick Relevant Dimensions
CollapseEmbeddingOutliers

Move outliers towards center on dimension reduction plot
DimHeatmap

Dimensional reduction heatmap
CollapseSpeciesExpressionMatrix

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

Create a SCT Assay object
FeatureScatter

Scatter plot of single cell data
FeaturePlot

Visualize 'features' on a dimensional reduction plot
ExpSD

Calculate the standard deviation of logged values
CustomDistance

Run a custom distance function on an input data matrix
ExpVar

Calculate the variance of logged values
FetchResidualSCTModel

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

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

Calculate the mean of logged values
DimPlot

Dimensional reduction plot
FindBridgeTransferAnchors

Find bridge anchors between query and extended bridge-reference
FindConservedMarkers

Finds markers that are conserved between the groups
FindClusters

Cluster Determination
FindTransferAnchors

Find transfer anchors
FindVariableFeatures

Find variable features
FindMultiModalNeighbors

Construct weighted nearest neighbor graph
FindNeighbors

(Shared) Nearest-neighbor graph construction
GetImage.SlideSeq

Get Image Data
FindSubCluster

Find subclusters under one cluster
FindSpatiallyVariableFeatures

Find spatially variable features
FetchResiduals_reference

temporal function to get residuals from reference
GetIntegrationData

Get integration data
FilterSlideSeq

Filter stray beads from Slide-seq puck
FoldChange

Fold Change
Format10X_GeoJson_CellID

Format 10X Genomics GeoJson cell IDs
GaussianSketch

Gaussian sketching
GetAssay

Get an Assay object from a given Seurat object.
GetResidual

Calculate pearson residuals of features not in the scale.data
IFeaturePlot

Visualize features in dimensional reduction space interactively
HoverLocator

Hover Locator
HTODemux

Demultiplex samples based on data from cell 'hashing'
GetTransferPredictions

Get the predicted identity
Graph-class

The Graph Class
GroupCorrelation

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

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

Spatial Feature Plots
ImageDimPlot

Spatial Cluster Plots
GetTissueCoordinates.SlideSeq

Get Tissue Coordinates
JackStrawData-class

The JackStrawData Class
ISpatialFeaturePlot

Visualize features spatially and interactively
JackStraw

Determine statistical significance of PCA scores.
ISpatialDimPlot

Visualize clusters spatially and interactively
FindIntegrationAnchors

Find integration anchors
FindMarkers

Gene expression markers of identity classes
JackStrawPlot

JackStraw Plot
JointPCAIntegration

Seurat-Joint PCA Integration
Load10X_Spatial

Load a 10x Genomics Visium Spatial Experiment into a Seurat object
IntegrationAnchorSet-class

The IntegrationAnchorSet Class
IntegrateLayers

Integrate Layers
InteractiveSpatialPlot

Interactive Spatial Cell Selection Tool
IntegrationData-class

The IntegrationData Class
LabelClusters

Label clusters on a ggplot2-based scatter plot
HTOHeatmap

Hashtag oligo heatmap
LabelPoints

Add text labels to a ggplot2 plot
L2CCA

L2-Normalize CCA
LoadCurioSeeker

Load Curio Seeker data
LoadSTARmap

Load STARmap data
LogNormalize

Normalize Raw Data
LocalStruct

Calculate the local structure preservation metric
L2Dim

L2-normalization
MappingScore

Metric for evaluating mapping success
MetaFeature

Aggregate expression of multiple features into a single feature
NNPlot

Highlight Neighbors in DimPlot
ModalityWeights-class

The ModalityWeights Class
MixingMetric

Calculates a mixing metric
MinMax

Apply a ceiling and floor to all values in a matrix
HVFInfo.SCTAssay

Get Variable Feature Information
HarmonyIntegration

Harmony Integration
LeverageScore

Leverage Score Calculation
IntegrateData

Integrate data
LinkedPlots

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

Integrate low dimensional embeddings
NNtoGraph

Convert Neighbor class to an asymmetrical Graph class
Neighbor-class

The Neighbor Class
PercentAbove

Calculate the percentage of a vector above some threshold
LoadAnnoyIndex

Load the Annoy index file
PrepLDA

Function to prepare data for Linear Discriminant Analysis.
PredictAssay

Predict value from nearest neighbors
PlotClusterTree

Plot clusters as a tree
PlotPerturbScore

Function to plot perturbation score distributions.
NormalizeData

Normalize Data
MapQuery

Map query cells to a reference
MVP

Find variable features based on mean.var.plot
PCASigGenes

Significant genes from a PCA
PolyDimPlot

Polygon DimPlot
PolyFeaturePlot

Polygon FeaturePlot
MixscapeHeatmap

Differential expression heatmap for mixscape
LogVMR

Calculate the variance to mean ratio of logged values
MixscapeLDA

Linear discriminant analysis on pooled CRISPR screen data.
PseudobulkExpression

Pseudobulk Expression
PercentageFeatureSet

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

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

Project full data to the sketch assay
ProjectDim

Project Dimensional reduction onto full dataset
ReadMtx

Load in data from remote or local mtx files
ReadAkoya

Read and Load Akoya CODEX data
ProjectUMAP

Project query into UMAP coordinates of a reference
ProjectCellEmbeddings

Project query data to the reference dimensional reduction
Read10X_ScaleFactors

Load 10X Genomics Visium Scale Factors
PrepareBridgeReference

Prepare the bridge and reference datasets
Read10X

Load in data from 10X
Read10X_h5

Read 10X hdf5 file
Read10X_probe_metadata

Read10x Probe Metadata
ProjectDimReduc

Project query data to reference dimensional reduction
PrepSCTFindMarkers

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

Prepare an object list normalized with sctransform for integration.
ProjectIntegration

Integrate embeddings from the integrated sketched.assay
RPCAIntegration

Seurat-RPCA Integration
Read10X_Coordinates

Load 10X Genomics Visium Tissue Positions
ReadVitessce

Read Data From Vitessce
Read10X_HD_GeoJson

Load 10X Genomics GeoJson
ReadVizgen

Read and Load MERFISH Input from Vizgen
ReadParseBio

Read output from Parse Biosciences
Radius.SlideSeq

Get Spot Radius
RunLDA

Run Linear Discriminant Analysis
ReadNanostring

Read and Load Nanostring SMI data
RunLeiden

Run Leiden clustering algorithm
RunMixscape

Run Mixscape
RunGraphLaplacian

Run Graph Laplacian Eigendecomposition
RunMarkVario

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

Read output from STARsolo
Read10X_Image

Load a 10X Genomics Visium Image
RelativeCounts

Normalize raw data to fractions
Read10X_Segmentations

Load 10X Genomics Visium Cell Segmentations
RunSLSI

Run Supervised Latent Semantic Indexing
SampleUMI

Sample UMI
RunICA

Run Independent Component Analysis on gene expression
RunSPCA

Run Supervised Principal Component Analysis
SaveAnnoyIndex

Save the Annoy index
RunMoransI

Compute Moran's I value.
RenameCells.SCTAssay

Rename Cells in an Object
ScaleData

Scale and center the data.
ScaleFactors

Get image scale factors
SetIntegrationData

Set integration data
SetQuantile

Find the Quantile of Data
SingleImagePlot

Single Spatial Plot
RunPCA

Run Principal Component Analysis
RunTSNE

Run t-distributed Stochastic Neighbor Embedding
RunUMAP

Run UMAP
Seurat-class

The Seurat Class
Seurat-package

Seurat: Tools for Single Cell Genomics
SingleDimPlot

Plot a single dimension
STARmap-class

The STARmap class
SingleCorPlot

A single correlation plot
SeuratCommand-class

The SeuratCommand Class
LoadXenium

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

Regroup idents based on meta.data info
SCTransform

Perform sctransform-based normalization
ScoreJackStraw

Compute Jackstraw scores significance.
ReadSlideSeq

Load Slide-seq spatial data
SingleRasterMap

A single heatmap from ggplot2 using geom_raster
RidgePlot

Single cell ridge plot
SplitObject

Splits object into a list of subsetted objects.
SpatialPlot

Visualize spatial clustering and expression data.
SelectIntegrationFeatures

Select integration features
VisiumV1-class

The VisiumV1 class
VizDimLoadings

Visualize Dimensional Reduction genes
VlnPlot

Single cell violin plot
TopFeatures

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

Seurat Themes
TopNeighbors

Get nearest neighbors for given cell
UpdateSCTAssays

Update pre-V4 Assays generated with SCTransform in the Seurat to the new SCTAssay class
TransferData

Transfer data
TransferAnchorSet-class

The TransferAnchorSet Class
fortify-Spatial

Prepare Coordinates for Spatial Plots
contrast-theory

Get the intensity and/or luminance of a color
as.CellDataSet

Convert objects to CellDataSet objects
VisiumV2-class

The VisiumV2 class
RunCCA

Perform Canonical Correlation Analysis
SingleExIPlot

Plot a single expression by identity on a plot
SCTResults

Get SCT results from an Assay
SCTAssay-class

The SCTModel Class
SelectSCTIntegrationFeatures

Select SCT integration features
SelectIntegrationFeatures5

Select integration features
SubsetByBarcodeInflections

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

Base plotting function for all Spatial plots
SingleImageMap

TransferSketchLabels

Transfer data from sketch data to full data
as.sparse.H5Group

Cast to Sparse
as.SingleCellExperiment

Convert objects to SingleCellExperiment objects
TopCells

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

Transfer embeddings from sketched cells to the full data
UpdateSymbolList

Get updated synonyms for gene symbols
SketchData

Sketch Data
SpatialImage-class

The SpatialImage Class
SlideSeq-class

The SlideSeq class
VST

Variance Stabilizing Transformation
as.Seurat.CellDataSet

Convert objects to Seurat objects
merge.SCTAssay

Merge SCTAssay objects
components

Objects exported from other packages
subset.AnchorSet

Subset an AnchorSet object
VariableFeaturePlot

View variable features
cc.genes

Cell cycle genes
cc.genes.updated.2019

Cell cycle genes: 2019 update
writing-integration

Writing Integration Method Functions
AugmentPlot

Augments ggplot2-based plot with a PNG image.
AutoPointSize

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

Calculate module scores for feature expression programs in single cells
AnchorSet-class

The AnchorSet Class
AddAzimuthScores

Add Azimuth Scores
AverageExpression

Averaged feature expression by identity class
AddAzimuthResults

Add Azimuth Results
AggregateExpression

Aggregated feature expression by identity class
AnnotateAnchors

Add info to anchor matrix
Assay-class

The Assay Class