🧬 单细胞转录组 × 空间转录组 联合分析完整工作流
这个分析框架可划分为以下 五大核心阶段:
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
你可以从中覆盖数据清洗 → 聚类 → 映射 → 通信分析 → 可视化的全流程。