单细胞转录组分析(scRNA-seq)

图片

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

      :基于标签条形码的高通量测序,适用于大规模单细胞研究

(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 发展趋势
  1. 多组学整合

    :结合单细胞ATAC-seq、蛋白质组学等技术,实现更全面的细胞研究

  2. 时空转录组(spatial transcriptomics)

    :结合空间信息解析组织微环境

  3. 单细胞代谢组、表观遗传学

    :拓展至代谢、DNA甲基化等层面

  4. AI与大数据分析

    :使用机器学习方法优化细胞聚类与注释

  5. 低成本高通量测序

    :优化测序流程,降低成本,提高数据质量


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)​​​​​​​

# 安装并加载 CellChatBiocManager::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

### 单细胞测序分析工作流图表 单细胞RNA测序(scRNA-seq)技术使得研究者能够解复杂组织中的异质性并揭示罕见细胞类型及其状态。生物信息学管道对于处理和解释这些数据至关重要。 #### 数据预处理阶段 此阶段涉及质量控制(QC),过滤低质量读取以及去除污染序列[^1]。具体操作包括评估每个细胞的总UMI计数、基因检测数目等指标来决定保留哪些细胞用于后续分析。 #### 序列比对与量化 经过初步清理后的reads会被映射到参考基因组上,之后通过特征条形码分配给各个单独的细胞核/细胞,并统计每种转录本的数量以形成表达矩阵。 #### 质量控制后处理 进一步的质量控制措施应用于整个样本集合层面,比如移除死细胞或双倍体事件造成的异常值;同时也会执行批次效应校正以便于多批样品间比较一致性。 #### 细胞聚类及标注 利用降维算法(如t-SNE, UMAP)可视化高维度空间内的细胞群体分布情况,并采用无监督学习方法自动识别不同簇群。随后借助已知标记物的信息来进行功能性的分类命名。 ```python import scanpy as sc adata = sc.read('filtered.h5ad') sc.pp.neighbors(adata) sc.tl.umap(adata) sc.pl.umap(adata, color='cell_type', title="Cell Clustering", frameon=False) ``` #### 差异表达分析 针对特定条件下的两组或多组细胞之间开展差异表达测试,找出显著上调或下调的mRNAs/lncRNAs/circRNAs等分子标志物。 #### 基因调控网络构建 基于共表达模式推断潜在相互作用关系,预测新的信号通路成员或是验证已有假说关于某些蛋白质复合物的工作机制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值