omics.co.in

12: Single-Cell RNA-Seq Analysis with Seurat

📊 Downloadable Lesson R Script 4.7 KB

r12_single_cell_seurat_pipeline.R

10x Genomics UMI matrix processing, cell QC (nUMI, nGene, percent.mt), apoptotic filtering, log-normalization (10k scale), PCA reduction, and cluster biomarker identification.

$ Rscript r12_single_cell_seurat_pipeline.R

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)
← Return to Home Hub Scroll to Top ↑