Seurat v2.3.4


Monthly downloads



Tools for Single Cell Genomics

A toolkit for quality control, analysis, and exploration of single cell RNA sequencing data. 'Seurat' aims to enable users to identify and interpret sources of heterogeneity from single cell transcriptomic measurements, and to integrate diverse types of single cell data. See Satija R, Farrell J, Gennert D, et al (2015) <doi:10.1038/nbt.3192>, Macosko E, Basu A, Satija R, et al (2015) <doi:10.1016/j.cell.2015.05.002>, and Butler A and Satija R (2017) <doi:10.1101/164889> for more details.


Build Status AppVeyor build status CRAN Version CRAN Downloads

Seurat v2.3

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 with any questions or if you would like to contribute

Version History

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)

Functions in Seurat

Name Description
ClassifyCells Classify New Data
CaseMatch Match the case of character vectors
CollapseSpeciesExpressionMatrix Slim down a multi-species expression matrix, when only one species is primarily of interenst.
FindAllMarkers Gene expression markers for all identity classes
FindAllMarkersNode Find all markers for a node
DiffTTest Differential expression testing using Student's t-test
FindGeneTerms Find gene terms from Enrichr
FetchData Access cellular data
DimTopCells Find cells with highest scores for a given dimensional reduction technique
CustomDistance Run a custom distance function on an input data matrix
DimTopGenes Find genes with highest scores for a given dimensional reduction technique
DotPlotOld Old Dot plot visualization (pre-ggplot implementation) Intuitive way of visualizing how gene expression changes across different identity classes (clusters). The size of the dot encodes the percentage of cells within a class, while the color encodes the AverageExpression level of 'expressing' cells (green is high).
DotPlot Dot plot visualization
DimElbowPlot Quickly Pick Relevant Dimensions
GetCellEmbeddings Dimensional Reduction Cell Embeddings Accessor Function
FindMarkers Gene expression markers of identity classes
FilterCells Return a subset of the Seurat object
ColorTSNESplit Color tSNE Plot Based on Split
CustomPalette Create a custom color palette
CombineIdent Sets identity class information to be a combination of two object attributes
Convert Convert Seurat objects to other classes and vice versa
GetCentroids Get cell centroids
DimHeatmap Dimensional reduction heatmap
GetClusters Get Cluster Assignments
GetDimReduction Dimensional Reduction Accessor Function
DimPlot Dimensional reduction plot
FastWhichCells FastWhichCells Identify cells matching certain criteria (limited to character values)
DoHeatmap Gene expression heatmap
DoKMeans K-Means Clustering
FeatureHeatmap Vizualization of multiple features
KClustDimension Perform spectral k-means clustering on single cells
KMeansHeatmap Plot k-means clusters
DarkTheme Dark Theme
CreateSeuratObject Initialize and setup the Seurat object
ExpMean Calculate the mean of logged values
DiffExpTest Likelihood ratio test for zero-inflated data
ExpSD Calculate the standard deviation of logged values
DMEmbed Diffusion Maps Cell Embeddings Accessor Function
ICALoad ICA Gene Loadings Accessor Function
CellCycleScoring Score cell cycle phases
MarkerTest ROC-based marker discovery
DMPlot Plot Diffusion map
FeatureLocator Feature Locator
LogNormalize Normalize raw data
FeaturePlot Visualize 'features' on a dimensional reduction plot
GenesInCluster GenesInCluster
PCElbowPlot Quickly Pick Relevant PCs
MatrixRowShuffle Independently shuffle values within each row of a matrix
PCASigGenes Significant genes from a PCA
LogVMR Calculate the variance to mean ratio of logged values
OldDoHeatmap Gene expression heatmap
CellPlot Cell-cell scatter plot
ExpVar Calculate the variance of logged values
DBClustDimension Perform spectral density clustering on single cells
DESeq2DETest Differential expression using DESeq2
ExtractField Extract delimiter information from a string.
PCAEmbed PCA Cell Embeddings Accessor Function
PCHeatmap Principal component heatmap
PrintCalcVarExpRatioParams Print Parameters Associated with CalcVarExpRatio
FindMarkersNode Gene expression markers of identity classes defined by a phylogenetic clade
FindClusters Cluster Determination
FindConservedMarkers Finds markers that are conserved between the two groups
PrintDMParams Print Diffusion Map Calculation Parameters
PrintSNNParams Print SNN Construction Calculation Parameters
PCTopCells Find cells with highest PCA scores
FitGeneK Build mixture models of gene expression
GetGeneLoadings Dimensional Reduction Gene Loadings Accessor Function
FindVariableGenes Identify variable genes
PrintTSNEParams Print TSNE Calculation Parameters
GetIdent Get identity of cells
RidgePlot Single cell ridge plot
MultiModal_CCA Run Canonical Correlation Analysis (CCA) on multimodal data
GenePlot Scatter plot of single cell data
HoverLocator Hover Locator
ICAEmbed ICA Cell Embeddings Accessor Function
ICTopGenes Find genes with highest ICA scores
ICAPlot Plot ICA map
PrintICA Print the results of a ICA analysis
RunCCA Perform Canonical Correlation Analysis
PrintICAParams Print ICA Calculation Parameters
MultiModal_CIA Run coinertia analysis on multimodal data
Read10X_h5 Read 10X hdf5 file
GetAssayData Accessor function for multimodal data
JackStraw Determine statistical significance of PCA scores.
PoissonDETest Poisson test for UMI-count based data
JackStrawPlot JackStraw Plot
ScaleDataR Old R based implementation of ScaleData. Scales and centers the data
SetAllIdent Switch identity class definition to another variable
PrintAlignSubspaceParams Print AlignSubspace Calculation Parameters
HTODemux Demultiplex samples based on data from cell 'hashing'
InitialMapping Infer spatial origins for single cells
MergeNode Merge childen of a node
RefinedMapping Quantitative refinement of spatial inferences
RunMultiCCA Perform Canonical Correlation Analysis with more than two groups
RunPCA Run Principal Component Analysis on gene expression using IRLBA
SubsetColumn Return a subset of columns for a matrix or data frame
ProjectDim Project Dimensional reduction onto full dataset
MetageneBicorPlot Plot CC bicor saturation plot
ProjectPCA Project Principal Components Analysis onto full dataset
SetAssayData Assay Data Mutator Function
SubsetData Return a subset of the Seurat object
PurpleAndYellow A purple and yellow color palette
MergeSeurat Merge Seurat Objects
NegBinomDETest Negative binomial test for UMI-count based data
HTOHeatmap Hashtag oligo heatmap
SetClusters Set Cluster Assignments
VlnPlot Single cell violin plot
VizPCA Visualize PCA genes
ICHeatmap Independent component heatmap
ICTopCells Find cells with highest ICA scores
MASTDETest Differential expression using MAST
StashIdent Set identity class information
MakeSparse Make object sparse
NormalizeData Normalize Assay Data
SubsetByPredicate Return a subset of the Seurat object.
MinMax Apply a ceiling and floor to all values in a matrix
Read10X Load in data from 10X
PCAPlot Plot PCA map
PCALoad PCA Gene Loadings Accessor Function
PrintCCAParams Print CCA Calculation Parameters
NegBinomRegDETest Negative binomial test for UMI-count based data (regularized version)
PrintDim Print the results of a dimensional reduction analysis
pbmc_small A small example version of the PBMC dataset
cc.genes Cell cycle genes
PrintFindClustersParams Print FindClusters Calculation Parameters
NumberClusters Convert the cluster labels to a numeric representation
RunDiffusion Run diffusion map
SampleUMI Sample UMI
PrintPCA Print the results of a PCA analysis
PrintCalcParams Print the calculation
PrintPCAParams Print PCA Calculation Parameters
PCTopGenes Find genes with highest PCA scores
RemoveFromTable Remove data from a table
Seurat-deprecated Deprecated function(s) in the Seurat package
Shuffle Shuffle a vector
RenameCells Rename cells
PlotClusterTree Plot phylogenetic tree
VizDimReduction Visualize Dimensional Reduction genes
RunICA Run Independent Component Analysis on gene expression
RenameIdent Rename one identity class to another
SplitDotPlotGG Split Dot plot visualization
ReorderIdent Reorder identity classes
SplitObject Splits object into a list of subsetted objects.
RunTSNE Run t-distributed Stochastic Neighbor Embedding
SaveClusters Save cluster assignments to a TSV file
SubsetRow Return a subset of rows for a matrix or data frame
TSNEPlot Plot tSNE map
VizICA Visualize ICA genes
ScaleData Scale and center the data.
SetDimReduction Dimensional Reduction Mutator Function
UpdateSeuratObject Update old Seurat object to accomodate new features
SetIdent Set identity class information
TobitTest Differential expression testing using Tobit models
WhichCells Identify cells matching certain criteria
ValidateClusters Cluster Validation
WilcoxDETest Differential expression using Wilcoxon Rank Sum
TransferIdent Transfer identity class information (or meta data) from one object to another
ValidateSpecificClusters Specific Cluster Validation
seurat The Seurat Class
VariableGenePlot View variable genes
BatchGene Identify potential genes associated with batch effects
BlackAndWhite A black and white color palette
AssessNodes Assess Internal Nodes
AssessSplit Assess Cluster Split
BuildSNN SNN Graph Construction
AddModuleScore Calculate module scores for gene expression programs in single cells
AddSamples Add samples into existing Seurat object.
CalcAlignmentMetric Calculate an alignment score
CalcVarExpRatio Calculate the ratio of variance explained by ICA or PCA to CCA
AddSmoothedScore Calculate smoothed expression values
AlignSubspace Align subspaces using dynamic time warping (DTW)
BuildClusterTree Phylogenetic Analysis of Identity Classes
BuildRFClassifier Build Random Forest Classifier
AugmentPlot Augments ggplot2 scatterplot with a PNG image.
AverageDetectionRate Probability of detection by identity class
AverageExpression Averaged gene expression by identity class
AveragePCA Average PCA scores by identity class
AddImputedScore Calculate imputed expression values
AddMetaData Add Metadata
No Results!

Last month downloads


Date 2018-07-16
LinkingTo Rcpp (>= 0.11.0), RcppEigen, RcppProgress
License GPL-3 | file LICENSE
LazyData true
Collate 'RcppExports.R' 'alignment.R' 'seurat.R' 'conversion.R' 'as.R' 'cluster_determination.R' 'cluster_determination_internal.R' 'cluster_validation.R' 'data.R' 'deprecated_functions.R' 'differential_expression.R' 'differential_expression_internal.R' 'dimensional_reduction.R' 'dimensional_reduction_internal.R' 'dimensional_reduction_utilities.R' 'interaction.R' 'jackstraw.R' 'jackstraw_internal.R' 'multi_modal.R' 'not_used_yet.R' 'plotting.R' 'plotting_internal.R' 'plotting_utilities.R' 'preprocessing.R' 'preprocessing_internal.R' 'printing_utilities.R' 'scoring.R' 'snn.R' 'spatial.R' 'spatial_internal.R' 'tSNE_project.R' 'utilities.R' 'utilities_internal.R'
RoxygenNote 6.0.1
NeedsCompilation yes
Packaged 2018-07-15 17:45:16 UTC; paul
Repository CRAN
Date/Publication 2018-07-20 10:14:52

Include our badge in your README