12: Single-Cell RNA-Seq Analysis with Seurat
Chapter 12: Introduction to Single-Cell RNA-Seq Analysis with Seurat
Bulk RNA-Seq averages expression across heterogeneous tissue samples. Single-cell RNA-Seq (scRNA-seq) profiles individual cellular transcriptomes using microfluidic droplet technologies (10x Genomics Chromium). Seurat is the preeminent R toolkit for single-cell genomics.
1. Seurat Object Creation & Cell Quality Control
library(Seurat)
# Create Seurat object from 10x matrix
pbmc <- CreateSeuratObject(counts = raw_counts, project = "PBMC_Immune", min.cells = 3, min.features = 200)
# Calculate mitochondrial fraction
pbmc[["percent.mt"]] <- PercentageFeatureSet(pbmc, pattern = "^MT-")
# Filter low-quality / apoptotic cells
pbmc <- subset(pbmc, subset = nFeature_RNA > 200 & nFeature_RNA < 2500 & percent.mt < 10)2. Normalization & Variable Feature Selection
pbmc <- NormalizeData(pbmc, normalization.method = "LogNormalize", scale.factor = 10000)
pbmc <- FindVariableFeatures(pbmc, selection.method = "vst", nfeatures = 2000)3. Dimensionality Reduction & Cell Clustering
pbmc <- ScaleData(pbmc)
pbmc <- RunPCA(pbmc, features = VariableFeatures(pbmc))
pbmc <- FindNeighbors(pbmc, dims = 1:15)
pbmc <- FindClusters(pbmc, resolution = 0.5)
pbmc <- RunUMAP(pbmc, dims = 1:15)
# Visualize clusters in 2D UMAP space
DimPlot(pbmc, reduction = "umap", label = TRUE)4. Cluster Biomarker Discovery
# Identify marker genes for each cluster
pbmc_markers <- FindAllMarkers(pbmc, only.pos = TRUE, min.pct = 0.25, logfc.threshold = 0.25)
head(pbmc_markers)