Learn R Programming

⚠️There's a newer version (5.2.1) of this package.Take me there.

Seurat v3.0.0

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

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 contact seuratpackage@gmail.com with any questions or if you would like to contribute

Version History

April 12, 2019

  • Version 3.0
  • Changes:
    • Preprint published describing new methods for identifying anchors across single-cell datasets
    • Restructured Seurat object with native support for multimodal data
    • Parallelization support via future

July 20, 2018

  • Version 2.4
  • Changes:
    • Java dependency removed and functionality rewritten in Rcpp

March 22, 2018

  • Version 2.3
  • Changes:
    • New utility functions
    • Speed and efficiency improvments

January 10, 2018

  • Version 2.2
  • Changes:
    • Support for multiple-dataset alignment with RunMultiCCA and AlignSubspace
    • New methods for evaluating alignment performance

October 12, 2017

  • Version 2.1
  • Changes:
    • Support for using MAST and DESeq2 packages for differential expression testing in FindMarkers
    • Support for multi-modal single-cell data via @assay slot

July 26, 2017

  • Version 2.0
  • Changes:
    • Preprint released for integrated analysis of scRNA-seq across conditions, technologies and species
    • Significant restructuring of code to support clarity and dataset exploration
    • Methods for scoring gene expression and cell-cycle phase

October 4, 2016

  • Version 1.4 released
  • Changes:
    • Improved tools for cluster evaluation/visualizations
    • Methods for combining and adding to datasets

August 22, 2016:

  • Version 1.3 released
  • Changes :
    • Improved clustering approach - see FAQ for details
    • All functions support sparse matrices
    • Methods for removing unwanted sources of variation
    • Consistent function names
    • Updated visualizations

May 21, 2015:

  • Drop-Seq manuscript published. Version 1.2 released
  • Changes :
    • Added support for spectral t-SNE and density clustering
    • New visualizations - including pcHeatmap, dot.plot, and feature.plot
    • Expanded package documentation, reduced import package burden
    • Seurat code is now hosted on GitHub, enables easy install through devtools
    • Small bug fixes

April 13, 2015:

  • Spatial mapping manuscript published. Version 1.1 released (initial release)

Copy Link

Version

Install

install.packages('Seurat')

Monthly Downloads

57,156

Version

3.0.0

License

GPL-3 | file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Paul Hoffman

Last Published

January 24th, 2025

Functions in Seurat (3.0.0)

BuildClusterTree

Phylogenetic Analysis of Identity Classes
BarcodeInflectionsPlot

Plot the Barcode Distribution and Calculated Inflection Points
ALRAChooseKPlot

ALRA Approximate Rank Selection Plot
CellSelector

Cell selector
AddModuleScore

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

The AnchorSet Class
CombinePlots

Combine ggplot2-based plots into a single plot
Command

Get SeuratCommands
CreateAssayObject

Create an Assay object
DimReduc-class

The Dimmensional Reduction Class
AddMetaData

Add in metadata associated with either cells or features.
CreateDimReducObject

Create a DimReduc object
CaseMatch

Match the case of character vectors
ExportToCellbrowser

Export Seurat object for UCSC cell browser
CreateGeneActivityMatrix

Convert a peak matrix to a gene activity matrix
FeaturePlot

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

The Assay Class
DefaultAssay

Get and set the default assay
AugmentPlot

Augments ggplot2-based plot with a PNG image.
GetAssay

Get an Assay object from a given Seurat object.
CellCycleScoring

Score cell cycle phases
GetAssayData

General accessor function for the Assay class
CustomDistance

Run a custom distance function on an input data matrix
DietSeurat

Slim down a Seurat object
ExpSD

Calculate the standard deviation of logged values
ExpVar

Calculate the variance of logged values
FindConservedMarkers

Finds markers that are conserved between the two groups
Cells

Get cells present in an object
Graph-class

The Graph Class
GetIntegrationData

Get integation data
BlackAndWhite

Create a custom color palette
DoHeatmap

Feature expression heatmap
FeatureScatter

Scatter plot of single cell data
Loadings

Get feature loadings
FetchData

Access cellular data
CreateSeuratObject

Create a Seurat object
CollapseSpeciesExpressionMatrix

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

Find transfer anchors
Embeddings

Get cell embeddings
FindIntegrationAnchors

Find integration anchors
FindVariableFeatures

Find variable features
DimHeatmap

Dimensional reduction heatmap
Idents

Get, set, and manipulate an object's identity classes
HTODemux

Demultiplex samples based on data from cell 'hashing'
FindAllMarkers

Gene expression markers for all identity classes
ExpMean

Calculate the mean of logged values
HTOHeatmap

Hashtag oligo heatmap
FindClusters

Cluster Determination
DimPlot

Dimensional reduction plot
FindMarkers

Gene expression markers of identity classes
DotPlot

Dot plot visualization
HVFInfo

Get highly variable feature information
LabelClusters

Label clusters on a ggplot2-based scatter plot
JackStraw

Determine statistical significance of PCA scores.
JackStrawData-class

The JackStrawData Class
ElbowPlot

Quickly Pick Relevant Dimensions
MULTIseqDemux

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

Add text labels to a ggplot2 plot
HoverLocator

Hover Locator
MinMax

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

L2-Normalize CCA
IntegrateData

Integrate data
LocalStruct

Calculate the local structure preservation metric
JackStrawPlot

JackStraw Plot
Misc

Access miscellaneous data
SCTransform

Use regularized negative binomial regression to normalize UMI count data
Read10X_h5

Read 10X hdf5 file
Read10X

Load in data from 10X
ReadAlevin

Load in data from Alevin pipeline
ReadAlevinCsv

Load in data from Alevin pipeline
FindNeighbors

SNN Graph Construction
RunTSNE

Run t-distributed Stochastic Neighbor Embedding
IntegrationData-class

The IntegrationData Class
SampleUMI

Sample UMI
VizDimLoadings

Visualize Dimensional Reduction genes
VariableFeatures

Get and set variable feature information
seurat-class

The Seurat Class
JS

Get JackStraw information
MetaFeature

Aggregate expression of multiple features into a single feature
Key

Get a key
pbmc_small

A small example version of the PBMC dataset
RunUMAP

Run UMAP
LogNormalize

Normalize raw data
MixingMetric

Calculates a mixing metric
LogVMR

Calculate the variance to mean ratio of logged values
NormalizeData

Normalize Data
PolyDimPlot

Polygon DimPlot
L2Dim

L2-normalization
PercentageFeatureSet

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

Scale and center the data.
PlotClusterTree

Plot clusters as a tree
PolyFeaturePlot

Polygon FeaturePlot
RunLSI

Run Latent Semantic Indexing on binary count matrix
RunPCA

Run Principal Component Analysis
ScoreJackStraw

Compute Jackstraw scores significance.
Project

Get and set project information
ProjectDim

Project Dimensional reduction onto full dataset
SelectIntegrationFeatures

Select integration features
SubsetData

Return a subset of the Seurat object
RunCCA

Perform Canonical Correlation Analysis
RunICA

Run Independent Component Analysis on gene expression
SetAssayData

Setter for multimodal data
StopCellbrowser

Stop Cellbrowser web server
SetIntegrationData

Set integation data
OldWhichCells

Identify cells matching certain criteria
SubsetByBarcodeInflections

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

Normalize raw data to fractions
Seurat-class

The Seurat Class
RenameCells

Rename cells
SplitObject

Splits object into a list of subsetted objects.
TF.IDF

Term frequency-inverse document frequency
PCASigGenes

Significant genes from a PCA
as.Graph

Convert a matrix (or Matrix) to the Graph class.
Stdev

Get the standard deviations for an object
UpdateSeuratObject

Update old Seurat object to accomodate new features
VlnPlot

Single cell violin plot
WhichCells

Identify cells matching certain criteria
ReadH5AD

Read from and write to h5ad files
RidgePlot

Single cell ridge plot
RunALRA

Run Adaptively-thresholded Low Rank Approximation (ALRA)
VariableFeaturePlot

View variable features
as.Seurat

Convert objects to Seurat objects
Tool

Get and set additional tool data
merge.Assay

Merge Seurat Objects
print.DimReduc

Print the results of a dimensional reduction analysis
[.Seurat

Subset a Seurat object
SeuratCommand-class

The SeuratCommand Class
TopCells

Find cells with highest scores for a given dimensional reduction technique
as.loom

Convert objects to loom objects
as.SingleCellExperiment

Convert objects to SingleCellExperiment objects
SeuratTheme

Seurat Themes
as.sparse

Convert between data frames and sparse matrices
TopFeatures

Find features with highest scores for a given dimensional reduction technique
cc.genes

Cell cycle genes
TransferData

Transfer Labels
AverageExpression

Averaged feature expression by identity class
CellScatter

Cell-cell scatter plot
CalculateBarcodeInflections

Calculate the Barcode Distribution Inflection