🧬 单细胞转录组 × 空间转录组 联合分析完整工作流
这个分析框架可划分为以下 五大核心阶段:
1️⃣ 数据预处理与质量控制
2️⃣ 降维聚类与批次整合
3️⃣ 空间解构与细胞映射
4️⃣ 空间图谱构建与通信推理
5️⃣ 高阶因果建模与可视化呈现
✅ 1️⃣ 数据预处理与质量控制
👨🔬 目标:读取、过滤、归一化表达矩阵,为后续做准备。
| 步骤 |
常用工具/函数 |
简要说明 |
| 原始数据读取 |
Scanpy.read_10x_mtx() / Seurat::Read10X() |
读取矩阵格式数据(h5ad / loom / 10X) |
| 质量控制 |
pp.filter_cells()、pp.filter_genes()、mito_ratio过滤 |
移除低质量细胞和基因 |
| 标准化 |
Scanpy.pp.normalize_total() / Seurat::LogNormalize() |
每细胞归一化为1万UMI |
| Log 转换 |
Scanpy.pp.log1p() / Seurat::SCTransform() |
缓解极端表达影响 |
| 高变基因选择 |
pp.highly_variable_genes() / FindVariableFeatures() |
选出表达波动大的基因用于建模 |
✅ 2️⃣ 降维聚类与整合(多样本整合)
👨🔬 目标:从表达矩阵中提取主要信号,识别细胞亚群,整合多组数据。
| 步骤 |
常用工具 |
简要说明 |
| PCA 降维 |
Scanpy.pp.pca() / RunPCA() |
初始主成分压缩 |
| 邻接图构建 |
Scanpy.pp.neighbors() / FindNeighbors() |
后续聚类与UMAP使用 |
| 聚类识别 |
Scanpy.tl.leiden() / FindClusters() |
细胞类型划分 |
| 可视化 |
Scanpy.tl.umap() / RunUMAP() |
降维图展示 |
| 多样本整合 |
Harmony, BBKNN, CCA, Scanorama, ingest |
多平台或多批次合并 |
| 注释识别 |
SingleR, CellTypist, Azimuth |
自动细胞类型注释 |
✅ 3️⃣ 空间解构与细胞映射
👨🔬 目标:将 scRNA-seq 信息“投影”到空间上,重建细胞组成图谱。
| 任务 |
方法/工具 |
说明 |
| Spot 细胞比例估计(解构) |
Cell2location, RCTD, SPOTlight, SpatialDWLS |
每个 spot 中包含哪些细胞类型 |
| 表达映射预测 |
Tangram, Seurat label transfer, SpaGE |
将 scRNA-seq 的表达信息转回空间位置 |
| 多模态交叉分析 |
MIA(Multimodal Intersection Analysis) |
空间 cluster × scRNA cluster 对应性 |
| 图像辅助坐标映射 |
STUtility, Stereopy, Giotto |
图像/坐标精修,配准支持空间分辨 |
✅ 4️⃣ 空间图谱 + 通讯 + 拟时序轨迹分析
👨🔬 目标:探索空间组织中的“结构-功能”关系与细胞交互。
| 类型 |
工具/方法 |
说明 |
| 空间邻接图构建 |
Squidpy, Giotto, SpaGene |
建立基于物理距离的空间图 |
| 空间聚类与分区 |
BayesSpace, stLearn, SpaGCN, MISTy |
精细化空间亚区块识别 |
| 空间轨迹/发育图 |
CellTrek, stLearn, STAGATE |
空间状态连续变化建模 |
| 空间通讯分析 |
CellChat, COMMOT, SpaOTsc |
推断空间特异的 L-R 通讯 |
| 空间调控建模 |
MISTy, ISCHIA |
推断空间中 TF 网络与因果结构 |
| 空间 WGCNA 分析 |
hdWGCNA, WGCNA |
空间模式的共表达网络分析 |
✅ 5️⃣ 高阶推理 + 可视化发布
👨🔬 目标:基因模块、拷贝数变化、演化结构图与图形呈现。
| 类型 |
工具 |
说明 |
| 空间 CNV 拟合 |
inferCNV, SpatialinferCNV |
推测空间中的克隆变异、CNV 模式 |
| 空间发育轨迹图 |
Uphyplot2 |
展示演化树+空间结构 |
| 交互式可视化平台 |
SPATA2, Giotto Viewer, stViewer |
web 交互式探索分析结果 |
| 报告生成与分享 |
Scanpy.pl.*, cell2location.pl.* |
生成高质量可视图 |
🔄 精简流程图(从表达矩阵到空间洞察)
(1) QC + Normalize → HVG → PCA/UMAP → 聚类 + 注释
↓
空间数据 QC → 空间图构建(邻接矩阵)
↓
单细胞 → Cell2location/Tangram → 空间成分/表达映射
↓
→ SpaGCN / BayesSpace → 空间聚类与结构
→ CellChat / COMMOT → 空间通讯网络
→ hdWGCNA / ISCHIA → 空间共调控模块
→ inferCNV / Uphyplot2 → 空间变异与演化
↓
→ SPATA2 / Giotto → 交互可视化
✅ 工具全景表:每个阶段的利器
| 阶段 |
工具套件 |
| 基础预处理 |
Seurat, Scanpy, Stereopy |
| 多样本整合 |
Harmony, CCA, BBKNN, Scanorama, ingest |
| 空间映射解构 |
Cell2location, Tangram, RCTD, SPOTlight, MIA |
| 空间图谱分析 |
Squidpy, Giotto, BayesSpace, SpaGCN, stLearn |
| 通信与调控分析 |
CellChat, COMMOT, MISTy, ISCHIA, SpaOTsc |
| 模块与轨迹推理 |
hdWGCNA, CellTrek, Uphyplot2 |
| 空间CNV预测 |
inferCNV, SpatialinferCNV |
| 可视化与发布 |
SPATA2, Giotto, stViewer, Scanpy.pl.* |
🎓 如果你是初学者,推荐的组合路径:
Scanpy + Squidpy + Cell2location + Tangram + COMMOT + SPATA2
你可以从中覆盖数据清洗 → 聚类 → 映射 → 通信分析 → 可视化的全流程。