1. 什么是单细胞转录组测序(scRNA-seq)?
单细胞转录组测序(Single-cell RNA sequencing,scRNA-seq)是一种高通量测序技术,可以在单细胞水平解析基因表达情况,揭示细胞异质性,探索稀有细胞类型,并研究细胞状态转换及动态调控机制。
与传统的bulk RNA-seq(群体RNA测序)相比,scRNA-seq的优势在于能够解析细胞间的差异,避免群体平均效应的影响,从而更精准地分析复杂生物体系。
2. 单细胞转录组测序的应用
scRNA-seq 在多个生物学和医学领域都有重要应用,包括但不限于:
- 细胞类型鉴定
:解析组织或器官中的不同细胞亚群
- 细胞命运轨迹推断
:研究细胞发育过程及分化轨迹
- 肿瘤异质性分析
:揭示肿瘤微环境和耐药机制
- 免疫学研究
:探索免疫细胞亚型及其功能
- 神经科学
:分析神经元和胶质细胞的异质性
- 干细胞研究
:研究干细胞分化及再生机制
3. scRNA-seq 实验流程
scRNA-seq的实验流程主要包括单细胞分离、cDNA合成及扩增、文库构建、高通量测序等步骤。
(1)单细胞分离
目前常用的单细胞分离技术包括:
- 微流体芯片(如 10x Genomics)
:基于液滴分离单细胞,常用于大规模单细胞研究
- 荧光激活细胞分选(FACS)
:利用荧光标记和流式细胞仪筛选单细胞
- 激光捕获显微切割(LCM)
:通过激光切割特定单细胞,适用于组织切片
- 微孔板(Smart-seq2)
:单细胞逐个手动挑取,适用于低通量高精度测序
(2)细胞裂解与mRNA提取
-
由于单细胞RNA含量极低,通常需要优化裂解方法并使用寡聚dT磁珠富集mRNA,以去除rRNA和gDNA的干扰。
(3)cDNA合成与扩增
-
逆转录(RT-PCR)将mRNA转录为cDNA
-
采用PCR扩增或IVT体外转录扩增提高信号
-
常用扩增策略:
- Smart-seq2
:全长mRNA测序,适用于低通量研究
- Drop-seq/10x Genomics
:基于标签条形码的高通量测序,适用于大规模单细胞研究
- Smart-seq2
(4)文库构建
-
添加接头(Adapters)、条形码(Barcodes)等信息,生成测序文库。
(5)高通量测序
-
使用Illumina NovaSeq等平台进行高通量测序,读取单细胞转录组数据。
4. scRNA-seq 数据分析流程
数据分析主要包括预处理、质量控制、降维聚类、差异基因分析、伪时序分析、细胞通讯分析等。
(1)数据预处理
- 去除低质量细胞
(去除线粒体基因表达过高、基因检测数量过少/过多的细胞)
- 去除双细胞(Doublets)
- 归一化(Normalization)
:如log标准化、SCT(Seurat v3方法)
- 批次效应校正
:如Harmony、MNN(Mutual Nearest Neighbors)
(2)降维与聚类
- 主成分分析(PCA)
降维
- t-SNE、UMAP
可视化
- K-means, Louvain, Leiden
细胞聚类算法
(3)细胞类型注释
-
基于已知marker基因进行细胞类型鉴定(如单核细胞、T细胞、B细胞等)
-
使用单细胞参考数据库(如CellMarker, PanglaoDB)
(4)差异基因分析(DEG)
-
计算不同细胞群体的差异表达基因
-
采用Wilcoxon秩和检验、DESeq2、edgeR等方法
(5)细胞轨迹分析(Pseudotime)
-
使用 Monocle3、Slingshot、scVelo 推测细胞发育轨迹
(6)细胞通讯分析
-
采用 CellChat、CellPhoneDB 分析不同细胞群体之间的配体-受体相互作用
(7)基因调控网络
- SCENIC
等工具可用于识别单细胞水平的基因调控网络
5. 主流单细胞测序技术对比
方法 | 特色 | 适用场景 |
---|---|---|
Smart-seq2 | 全长转录本测序 | 低通量,高精度研究 |
10x Genomics | 高通量,基于微流控芯片 | 大规模细胞研究 |
Drop-seq | 低成本,高通量 | 适合大规模细胞分析 |
Seq-Well | 基于微孔板 | 适合组织样本分析 |
MARS-seq | 适用于小量细胞 | 适用于微量样本 |
SPLiT-seq | 细胞核分选,不依赖单细胞分离 | 适合复杂组织分析 |
6. scRNA-seq 发展趋势
- 多组学整合
:结合单细胞ATAC-seq、蛋白质组学等技术,实现更全面的细胞研究
- 时空转录组(spatial transcriptomics)
:结合空间信息解析组织微环境
- 单细胞代谢组、表观遗传学
:拓展至代谢、DNA甲基化等层面
- AI与大数据分析
:使用机器学习方法优化细胞聚类与注释
- 低成本高通量测序
:优化测序流程,降低成本,提高数据质量
7. 参考文献 & 资源
-
scRNA-seq 经典文章
-
Macosko et al., Highly Parallel Genome-wide Expression Profiling of Individual Cells Using Nanoliter Droplets. Cell, 2015.
-
Satija et al., Spatial Reconstruction of Single-Cell Gene Expression Data. Nature Biotechnology, 2015.
-
Trapnell et al., The dynamics and regulators of cell fate decisions are revealed by pseudotemporal ordering of single cells. Nature Biotechnology, 2014.
-
-
单细胞分析工具
-
Seurat(R)https://satijalab.org/seurat/
-
Scanpy(Python)https://scanpy.readthedocs.io
-
Monocle http://cole-trapnell-lab.github.io/monocle-release/
-
总结
单细胞转录组测序是当今生物学和医学研究的热点,广泛应用于细胞类型鉴定、发育轨迹推测、肿瘤微环境研究等领域。随着测序技术和数据分析方法的不断发展,scRNA-seq 将继续推动精准医学、细胞生物学和系统生物学的发展。
以下是 单细胞转录组测序(scRNA-seq)分析代码流程示例,使用 Seurat(R语言) 进行数据分析,并包含数据预处理、质量控制、降维聚类、细胞类型注释、差异基因分析、轨迹分析等关键步骤。
1. 安装和加载 R 相关包
# 安装所需 R 包(如果未安装)
install.packages("BiocManager")
BiocManager::install(c("Seurat", "SingleCellExperiment", "monocle3", "scater", "scran"))
# 加载 R 包
library(Seurat)
library(dplyr)
library(ggplot2)
library(monocle3)
library(scran)
library(scater)
2. 读取单细胞数据
假设数据来自 10x Genomics(Cell Ranger 输出)
# 设置数据路径(假设 Cell Ranger 输出在 ./filtered_feature_bc_matrix/)
data_dir <- "./filtered_feature_bc_matrix/"
# 读取 10x 数据
sce <- Read10X(data.dir = data_dir)
# 创建 Seurat 对象
seurat_obj <- CreateSeuratObject(counts = sce, project = "scRNA_seq", min.cells = 3, min.features = 200)
# 查看 Seurat 对象
seurat_obj
3. 质量控制(QC)
过滤低质量细胞(如基因数过低、线粒体基因比例过高)
# 计算线粒体基因比例
seurat_obj[["percent.mt"]] <- PercentageFeatureSet(seurat_obj, pattern = "^MT-")
# 绘制 QC 指标分布
VlnPlot(seurat_obj, features = c("nFeature_RNA", "nCount_RNA", "percent.mt"), ncol = 3)
# 设定过滤标准(基因数 200-6000,线粒体基因比例 < 10%)
seurat_obj <- subset(seurat_obj, subset = nFeature_RNA > 200 & nFeature_RNA < 6000 & percent.mt < 10)
# 处理完的 Seurat 对象
seurat_obj
4. 数据归一化
seurat_obj <- NormalizeData(seurat_obj, normalization.method = "LogNormalize", scale.factor = 10000)
5. 识别高变基因
seurat_obj <- FindVariableFeatures(seurat_obj, selection.method = "vst", nfeatures = 2000)
# 可视化高变基因
top10_genes <- head(VariableFeatures(seurat_obj), 10)
VariableFeaturePlot(seurat_obj) + LabelPoints(points = top10_genes, repel = TRUE)
6. 数据缩放和主成分分析(PCA)
# 归一化数据
seurat_obj <- ScaleData(seurat_obj, features = rownames(seurat_obj))
# 进行 PCA 降维
seurat_obj <- RunPCA(seurat_obj, features = VariableFeatures(seurat_obj))
# 可视化 PCA 结果
ElbowPlot(seurat_obj) # 用于选择合适的主成分数量
DimPlot(seurat_obj, reduction = "pca")
7. 聚类分析
# 选择 20 个 PCA 进行最近邻计算
seurat_obj <- FindNeighbors(seurat_obj, dims = 1:20)
# 进行聚类(resolution 决定聚类的精细程度,0.5~1 通常是合理范围)
seurat_obj <- FindClusters(seurat_obj, resolution = 0.5)
# 可视化聚类结果
DimPlot(seurat_obj, reduction = "umap", label = TRUE)
8. 细胞类型注释
# 查找差异表达基因
seurat_obj.markers <- FindAllMarkers(seurat_obj, only.pos = TRUE, min.pct = 0.25, logfc.threshold = 0.25)
# 提取前 5 个 marker 基因
top_markers <- seurat_obj.markers %>% group_by(cluster) %>% top_n(n = 5, wt = avg_log2FC)
# 细胞类型注释(基于已知 marker)
FeaturePlot(seurat_obj, features = c("CD3D", "MS4A1", "LYZ", "PPBP")) # T 细胞, B 细胞, 巨噬细胞, 血小板
9. 差异基因分析(DEG)
# 计算指定细胞群体的差异表达基因
cluster1_vs_cluster2 <- FindMarkers(seurat_obj, ident.1 = 1, ident.2 = 2, min.pct = 0.25, logfc.threshold = 0.25)
# 可视化差异基因
VlnPlot(seurat_obj, features = c("CD3D", "MS4A1")) # 可视化 T 细胞和 B 细胞 marker 基因
10. 轨迹分析(伪时序分析)
# 将 Seurat 对象转换为 Monocle3 对象
cds <- as.cell_data_set(seurat_obj)
# 进行降维(UMAP 方式)
cds <- preprocess_cds(cds, num_dim = 20)
cds <- reduce_dimension(cds)
# 计算轨迹(learn_graph)
cds <- learn_graph(cds)
# 指定根节点(Root Cell)
cds <- order_cells(cds)
# 轨迹可视化
plot_cells(cds, color_cells_by = "pseudotime")
11. 细胞通讯分析(CellChat)
# 安装并加载 CellChat
BiocManager::install("CellChat")
library(CellChat)
# 初始化 CellChat 对象
cellchat <- createCellChat(object = seurat_obj, group.by = "seurat_clusters")
# 计算细胞通讯
cellchat <- identifyOverExpressedGenes(cellchat)
cellchat <- computeCommunProb(cellchat)
# 细胞通讯可视化
netVisual_circle(cellchat, weight.scale = TRUE, label.edge = TRUE)
12. 保存和导出数据
# 保存 Seurat 对象
saveRDS(seurat_obj, file = "scRNA-seq_seurat_obj.rds")
# 导出差异基因
write.csv(cluster1_vs_cluster2, "DEG_cluster1_vs_cluster2.csv")
总结
这个 单细胞转录组(scRNA-seq)分析流程 包括: ✅ 数据预处理
✅ 质量控制(QC)
✅ 归一化和高变基因识别
✅ PCA 降维
✅ 聚类和 UMAP/t-SNE 可视化
✅ 细胞类型注释
✅ 差异基因分析(DEG)
✅ 伪时序分析(Monocle3)
✅ 细胞通讯分析(CellChat)
你可以根据具体研究需求调整参数,如 resolution
控制聚类粒度、logfc.threshold
控制差异基因阈值等。
生信大白记第55记,就到这里,关注我!
下一记,持续更新学习生物信息学的内容!
生信大白记邮箱账号:shengxindabaiji@163.com
生信大白记简书账号:生信大白记
生信大白记CSDN账号:生信大白记
生信大白记微信公众号:生信大白记
加入生信大白记交流群938339543