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 update 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.

Installation instructions, documentation, and tutorials can be found at:

Seurat can be successfully installed in R on any system (Mac OS X, Linux, Windows).

Improvements and new features are added on a regular basis. For the most up-to-date development version, refer to the main branch. For the most recent version released on CRAN, refer to the cran branch.

Please post under Issues with any bug reports, feature requests, etc., and use Discussions to engage with the wider Seurat community on analysis questions and other topics. PRs are welcome 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

70,361

Version

6.0.0

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Paul Hoffman

Last Published

November 7th, 2026

Functions in Seurat (6.0.0)

CalcPerturbSig

Calculate a perturbation Signature
Cells.SCTModel

Get Cell Names
CalculateBarcodeInflections

Calculate the Barcode Distribution Inflection
CaseMatch

Match the case of character vectors
CreateCategoryMatrix

Create one hot matrix for a given label
CellCycleScoring

Score cell cycle phases
ColorDimSplit

Color dimensional reduction plot by tree split
FastRowScale

Scale and/or center matrix rowwise
FastRPCAIntegration

Perform integration on the joint PCA cell embeddings.
BridgeCellsRepresentation

Construct a dictionary representation for each unimodal dataset
CombinePlots

Combine ggplot2-based plots into a single plot
CountSketch

Generate CountSketch random matrix
CellsByImage

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

Phylogenetic Analysis of Identity Classes
BlackAndWhite

Create a custom color palette
FeaturePlot

Visualize 'features' on a dimensional reduction plot
BridgeReferenceSet-class

The BridgeReferenceSet Class The BridgeReferenceSet is an output from PrepareBridgeReference
BuildNicheAssay

Construct an assay for spatial niche analysis
ElbowPlot

Quickly Pick Relevant Dimensions
CollapseEmbeddingOutliers

Move outliers towards center on dimension reduction plot
CollapseSpeciesExpressionMatrix

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

Dimensional reduction heatmap
DimPlot

Dimensional reduction plot
FindBridgeIntegrationAnchors

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

Calculate the mean of logged values
DEenrichRPlot

DE and EnrichR pathway visualization barplot
CreateSCTAssayObject

Create a SCT Assay object
FindTransferAnchors

Find transfer anchors
FindBridgeTransferAnchors

Find bridge anchors between query and extended bridge-reference
ExpSD

Calculate the standard deviation of logged values
DoHeatmap

Feature expression heatmap
DotPlot

Dot plot visualization
CustomDistance

Run a custom distance function on an input data matrix
ExpVar

Calculate the variance of logged values
HoverLocator

Hover Locator
IFeaturePlot

Visualize features in dimensional reduction space interactively
DiscretePalette

Discrete colour palettes from pals
DimReduc-class

The DimReduc Class
ISpatialDimPlot

Visualize clusters spatially and interactively
FindVariableFeatures

Find variable features
FetchResiduals_reference

temporal function to get residuals from reference
ISpatialFeaturePlot

Visualize features spatially and interactively
FetchResiduals

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

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

Scatter plot of single cell data
FindIntegrationAnchors

Find integration anchors
FindMarkers

Gene expression markers of identity classes
GetIntegrationData

Get integration data
GetImage.SlideSeq

Get Image Data
GetTransferPredictions

Get the predicted identity
FilterSlideSeq

Filter stray beads from Slide-seq puck
Graph-class

The Graph Class
CellScatter

Cell-cell scatter plot
FindClusters

Cluster Determination
CellSelector

Cell Selector
DietSeurat

Slim down a Seurat object
DISP

Find variable features based on dispersion
GetTissueCoordinates.SlideSeq

Get Tissue Coordinates
GetResidual

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

Spatial Cluster Plots
FindAllMarkers

Gene expression markers for all identity classes
FindBridgeAnchor

Find bridge anchors between two unimodal datasets
FindConservedMarkers

Finds markers that are conserved between the groups
LogVMR

Calculate the variance to mean ratio of logged values
JackStrawData-class

The JackStrawData Class
ImageFeaturePlot

Spatial Feature Plots
JackStraw

Determine statistical significance of PCA scores.
LogNormalize

Normalize Raw Data
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
ModalityWeights-class

The ModalityWeights Class
MixscapeLDA

Linear discriminant analysis on pooled CRISPR screen data.
LabelClusters

Label clusters on a ggplot2-based scatter plot
FindNeighbors

(Shared) Nearest-neighbor graph construction
FoldChange

Fold Change
FindMultiModalNeighbors

Construct weighted nearest neighbor graph
GaussianSketch

Gaussian sketching
FindmmNN

Find Multi-Modal Nearest Neighbors
FindsmNN

Find Single-Modality Nearest Neighbors
LabelPoints

Add text labels to a ggplot2 plot
JackStrawPlot

JackStraw Plot
JointPCAIntegration

Seurat-Joint PCA Integration
LoadAteraCodewords

Load per-codeword transcript breakdowns for specific genes
HVFInfo.SCTAssay

Get Variable Feature Information
HarmonyIntegration

Harmony Integration
LoadAteraMolecules

Fetch additional Atera transcript molecules for genes not yet loaded
PrepLDA

Function to prepare data for Linear Discriminant Analysis.
LoadCurioSeeker

Load Curio Seeker data
LoadAteraSegmentations

Add segmentation polygons to an Atera field of view, for only the cells currently present in it
GroupCorrelation

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

Find spatially variable features
MULTIseqDemux

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

Find subclusters under one cluster
PrepSCTFindMarkers

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

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

Integrate data
Read10X_h5

Read 10X hdf5 file
MVP

Find variable features based on mean.var.plot
PrepSCTIntegration

Prepare an object list normalized with sctransform for integration.
Neighbor-class

The Neighbor Class
NormalizeChiSquared

Apply Chi-squared normalization to a Seurat object
Read10X

Load in data from 10X
ProjectUMAP

Project query into UMAP coordinates of a reference
PseudobulkExpression

Pseudobulk Expression
Read10X_probe_metadata

Read10x Probe Metadata
IntegrateEmbeddings

Integrate low dimensional embeddings
HTODemux

Demultiplex samples based on data from cell 'hashing'
GenerateSampleObject

Generate a sample-level count matrix based on landmark assay and its weighted.nn object
GetAssay

Get an Assay object from a given Seurat object.
PrepareBridgeReference

Prepare the bridge and reference datasets
Radius.SlideSeq

Get Spot Radius
RunTSNE

Run t-distributed Stochastic Neighbor Embedding
MetaFeature

Aggregate expression of multiple features into a single feature
MinMax

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

Hashtag oligo heatmap
Read10X_Segmentations

Load 10X Genomics Visium Cell Segmentations
NNPlot

Highlight Neighbors in DimPlot
IntegrateLayers

Integrate Layers
ReadAkoya

Read and Load Akoya CODEX data
ProjectDimReduc

Project query data to reference dimensional reduction
NNtoGraph

Convert Neighbor class to an asymmetrical Graph class
ReadVitessce

Read Data From Vitessce
ReadVizgen

Read and Load MERFISH Input from Vizgen
IntegrationAnchorSet-class

The IntegrationAnchorSet Class
ReadSTARsolo

Read output from STARsolo
RunLeiden

Run Leiden clustering algorithm
LinkedPlots

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

Interactive Spatial Cell Selection Tool
L2CCA

L2-Normalize CCA
IntegrationData-class

The IntegrationData Class
ProjectIntegration

Integrate embeddings from the integrated sketched.assay
LeverageScore

Leverage Score Calculation
PlotPerturbScore

Function to plot perturbation score distributions.
Read10X_HD_GeoJson

Load 10X Genomics GeoJson
PolyDimPlot

Polygon DimPlot
Read10X_Coordinates

Load 10X Genomics Visium Tissue Positions
as.sparse.H5Group

Cast to Sparse
SetQuantile

Find the Quantile of Data
ProjectData

Project full data to the sketch assay
L2Dim

L2-normalization
ProjectDim

Project Dimensional reduction onto full dataset
Read10X_ScaleFactors

Load 10X Genomics Visium Scale Factors
RunPLS

Run Partial Least Squares (PLS) on Seurat Objects
RunPCA

Run Principal Component Analysis
subset.AnchorSet

Subset an AnchorSet object
SetIntegrationData

Set integration data
ReadSlideSeq

Load Slide-seq spatial data
SingleCorPlot

A single correlation plot
SingleDimPlot

Plot a single dimension
SelectIntegrationFeatures

Select integration features
SpatialImage-class

The SpatialImage Class
RunGraphLaplacian

Run Graph Laplacian Eigendecomposition
LoadSTARmap

Load STARmap data
VariableFeaturePlot

View variable features
SpatialPlot

Visualize spatial clustering and expression data.
VST

Variance Stabilizing Transformation
Read10X_Image

Load a 10X Genomics Visium Image
RunDiffusionMap

Run Diffusion Map
ScoreJackStraw

Compute Jackstraw scores significance.
RunMarkVario

Run the mark variogram computation on a given position matrix and expression matrix.
Seurat-class

The Seurat Class
RunUMAP

Run UMAP
Load10X_Spatial

Load a 10x Genomics Visium Spatial Experiment into a Seurat object
writing-integration

Writing Integration Method Functions
LoadAnnoyIndex

Load the Annoy index file
LocalStruct

Calculate the local structure preservation metric
MapQuery

Map query cells to a reference
ReadParseBio

Read output from Parse Biosciences
ReadNanostring

Read and Load Nanostring SMI data
SketchDataByGroup

Sketch Data by Group
SCTAssay-class

The SCTModel Class
PCASigGenes

Significant genes from a PCA
MappingScore

Metric for evaluating mapping success
NormalizeData

Normalize Data
ProjectCellEmbeddings

Project query data to the reference dimensional reduction
RelativeCounts

Normalize raw data to fractions
ReadAtera

Load Atera spatial data
RunMixscape

Run Mixscape
PlotClusterTree

Plot clusters as a tree
TransferAnchorSet-class

The TransferAnchorSet Class
Seurat-package

Seurat: Tools for Single Cell Genomics
TopCells

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

Transfer data
SCTResults

Get SCT results from an Assay
kernelpls

Kernel Partial Least Squares
TopFeatures

Find features with highest scores for a given dimensional reduction technique
as.CellDataSet

Convert objects to CellDataSet objects
as.Seurat.CellDataSet

Convert objects to Seurat objects
MixingMetric

Calculates a mixing metric
RunMoransI

Compute Moran's I value.
merge.SCTAssay

Merge SCTAssay objects
SingleExIPlot

Plot a single expression by identity on a plot
SelectIntegrationFeatures5

Select integration features
MixscapeHeatmap

Differential expression heatmap for mixscape
RPCAIntegration

Seurat-RPCA Integration
SubsetByBarcodeInflections

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

Transfer embeddings from sketched cells to the full data
ReadMtx

Load in data from remote or local mtx files
PrepareSampleObject

Perform preprocessing procedures for a Seurat object to prepare for the sample-level analysis
SCTransform

Perform sctransform-based normalization
PredictAssay

Predict value from nearest neighbors
PlotAnnotatedHeatmap

Plot an annotated expression heatmap of features across cells
QuickCorTest

Perform cor.test between each gene and a response variable given a Seurat object
PolyFeaturePlot

Polygon FeaturePlot
RunCCA

Perform Canonical Correlation Analysis
SelectSCTIntegrationFeatures

Select SCT integration features
SplitObject

Splits object into a list of subsetted objects.
RenameCells.SCTAssay

Rename Cells in an Object
RidgePlot

Single cell ridge plot
RunICA

Run Independent Component Analysis on gene expression
TransferSketchLabels

Transfer data from sketch data to full data
RunLDA

Run Linear Discriminant Analysis
LoadXenium

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

Run Supervised Latent Semantic Indexing
RegroupIdents

Regroup idents based on meta.data info
STARmap-class

The STARmap class
as.SingleCellExperiment

Convert objects to SingleCellExperiment objects
RunSPCA

Run Supervised Principal Component Analysis
ScaleFactors

Get image scale factors
ScaleData

Scale and center the data.
setThreads

Set the number of threads to use for parallel processing in Seurat
SeuratCommand-class

The SeuratCommand Class
cc.genes.updated.2019

Cell cycle genes: 2019 update
SingleImagePlot

Single Spatial Plot
TopNeighbors

Get nearest neighbors for given cell
SeuratTheme

Seurat Themes
getThreads

Get the number of threads being used for parallel processing in Seurat
SketchData

Sketch Data
SlideSeq-class

The SlideSeq class
VisiumV2-class

The VisiumV2 class
VisiumV1-class

The VisiumV1 class
SingleImageMap

components

Objects exported from other packages
TrajDETest

Trajectory Differential Expression Test
SampleUMI

Sample UMI
cc.genes

Cell cycle genes
SaveAnnoyIndex

Save the Annoy index
UpdateSCTAssays

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

A single heatmap from ggplot2 using geom_raster
kernelpls.IterableMatrix

Kernel Partial Least Squares for IterableMatrix
SingleSpatialPlot

Base plotting function for all Spatial plots
VlnPlot

Single cell violin plot
cppls_ondisk.IterableMatrix

CPLS (Canonical PLS) for IterableMatrix
contrast-theory

Get the intensity and/or luminance of a color
UpdateSymbolList

Get updated synonyms for gene symbols
VizDimLoadings

Visualize Dimensional Reduction genes
fortify-Spatial

Prepare Coordinates for Spatial Plots
cppls_ondisk

CPLS (Canonical PLS) for On-Disk Matrices
AddAzimuthResults

Add Azimuth Results
AddModuleScore

Calculate module scores for feature expression programs in single cells
AggregateExpression

Aggregated feature expression by identity class
AugmentPlot

Augments ggplot2-based plot with a PNG image.
Assay-class

The Assay Class
AutoPointSize

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

Averaged feature expression by identity class
CCAIntegration

Seurat-CCA Integration
AddAzimuthScores

Add Azimuth Scores
CalcDispersion

Calculate dispersion of features
AnchorSet-class

The AnchorSet Class
BarcodeInflectionsPlot

Plot the Barcode Distribution and Calculated Inflection Points
BGTextColor

Determine text color based on background color
AnnotateAnchors

Add info to anchor matrix