Skip to content
Paul Hoffman edited this page Aug 27, 2018 · 13 revisions

Seurat Developer's Guide

Seurat is a toolkit for quality control, analysis, and exploration of single cell RNA sequencing data. This guide is to help developers understand how the Seurat object is structured, how to interact with the object and access data from it, and how to develop new methods for Seurat objects.

Seurat 3.0 is currently under development, and many improvements are aimed towards helping users to rapidly explore and analyze different types of data from the same set of cells. These data types may stem from inherently multimodal data, imputed or batch/corrected measurements, and even spatial data.

Object Overview

The Seurat object is a class allowing for the storage and manipulation of single-cell data. Previous version of the Seurat object were designed primarily with scRNA-seq data in mind. However, with the development of new technologies allowing for multiple modes of data to be collected from the same set of cells, we have redesigned the Seurat 3.0 object to allow for greater flexibility to work with all these data types in a cohesive framework.

At the top level, the Seurat object serves as a collection of Assay and DimReduc objects, representing expression data and dimensionality reductions of the expression data, respectively. The Assay objects are designed to hold expression data of a single type, such as RNA-seq gene expression, CITE-seq ADTs, cell hashtags, or imputed gene values. DimReduc objects represent transformations of the data contained within the Assay object(s) via various dimensional reduction techniques such as PCA. For class-specific details, including more in depth description of the slots, please see the wiki sections for each class.