1. 课程介绍

大家好,我是老周。在生物信息这个行当里摸爬滚打了快十年,从早期的bulk RNA-seq一路做到现在的单细胞和空间组学。说实话,每次新技术出来都觉得自己又回到了新手村。但有个感觉越来越强烈——单细胞转录组和空间转录组,就像一个人的两张肖像:一张像证件照,高清但没环境;一张像街拍,有背景但模糊。把它们拼起来,才是完整的画面。

这门课,就是带着大家一起干这件事。不过先别急,咱们得把底子打好。这一章我们先聊聊这两种技术各自能干什么,为什么非要“多模态整合”不可。

1.1 scRNA-seq 技术速览

单细胞 RNA 测序,说白了就是把组织打成单细胞悬液,给每个细胞单独建库测序。你得到的是一个细胞×基因的表达矩阵,每个细胞都能独立分析。

这些年主流平台我基本都折腾过:10x Genomics、Drop-seq、Smart-seq2……它们各有各的脾气。10x 通量大,适合发现稀有细胞类型;Smart-seq2 覆盖全长,适合看可变剪接。我个人习惯用 10x 做初步筛查,然后用 Smart-seq2 去验证感兴趣的亚群。

核心优势: 分辨率高,能区分出同一组织里几十种甚至上百种细胞类型。比如肿瘤微环境里的免疫细胞、基质细胞、肿瘤细胞,scRNA-seq 都能一一扒出来。

实际避坑: scRNA-seq 最大的坑是细胞解离带来的“压力基因”表达(比如热休克蛋白)。我曾因为没做质控,把一批应激细胞当成了新的疾病亚群,后来才发现是解离时间太长。现在我做 scRNA-seq 前一定先跑个质控热图,看看应激基因是不是集体飘高。

1.2 空间转录组技术速览

空间转录组就更有意思了。它能把基因表达信息“钉”回组织切片上原来的位置。目前两大类主流:

  • 基于捕获的(如 10x Visium,Slide-seq): 在玻片上有规则排列的 barcoded 捕获点,每个点直径 10–55 μm,捕获细胞释放出的 mRNA。缺点是分辨率受点间距限制,比如 Visium 一个点可能包含 1–10 个细胞。
  • 基于成像的(如 MERFISH,seqFISH+): 直接用荧光标记 RNA 分子,显微镜下成像。分辨率能达到单分子级别,但通量小、成本高,目前还做不了全转录组。

我记得第一次用 Visium 数据时特别兴奋——终于能看到基因在哪了!但打开数据一看,每个 spot 是混合信号,根本不知道里面有几个细胞。这时候你才意识到:空间数据缺细胞级精度,scRNA 数据缺空间坐标。嗯,这不就是互补吗?

注意: 空间转录组的批次效应不比 scRNA 轻。不同切片、不同实验批次之间,捕获效率可能差两倍以上。数据整合前一定要做批次校正,否则聚类结果会跟着切片走,而不是跟着生物学走。

1.3 多模态整合的意义

为什么非要把它们凑一起?因为单体数据都有“盲区”。我画个表你就明白了:

维度 scRNA-seq 空间转录组
细胞分辨率 单细胞级 ✅ 多细胞 spot 或单分子 ❌(大部分方法)
空间坐标 无 ❌ 有 ✅
基因覆盖 全转录组 ~20000 genes ✅ 全转录组(捕获法)或 100–1000 genes(成像法)
通量(细胞数) 数千~数万 ✅ 数百~数千个 spot
个体细胞异质性 高 ✅ 低(混合信号)
组织环境信息 无 ❌ 有 ✅

你看,scRNA-seq 能告诉你“谁”在说话,但不知道在“哪里”说话;空间转录组能告诉你“哪里”有声音,但说不清是“谁”在说。整合就是把两个缺互补起来。

具体怎么做?大致流程是:用 scRNA-seq 数据先做细胞类型注释,然后把这些注释“映射”到空间转录组数据上,推断每个 spot 的细胞组成、重构空间细胞分布。再往下,你还能分析细胞-细胞相互作用、空间区域(比如肿瘤边界)的基因程序。

我个人的一个经验: 千万别把整合当成最后一步。我见过不少同学先各自跑完 scRNA 和空间的分析,最后才想起来要整合,结果因为降维参数、归一化方法不同,两个数据集根本对不上。正确的做法是:预处理阶段就对齐——用同一个基因集、同一套质控标准,甚至用同一个 reference 做 normalization。

1.4 本章知识体系框架

下面这张图包了这整门课的骨架:从两种模态的数据采集开始,经过预处理、整合映射,最终落到生物学解读。注意那些箭头——每一步都有坑,但也每一步都有方法。

多模态整合知识框架 scRNA-seq 数据 空间转录组数据 数据预处理 QC · 归一化 · 批次校正 降维 · 聚类 · 注释 多模态整合映射 细胞类型解卷积 · 空间位置推断 下游生物学解读 ⚠️ 常见坑 - 未对齐基因集 - 批次效应被忽略 💡 关键工具 Seurat · Scanpy · Tangram Cell2location · SpaGE

1.5 学习路径与工具准备

这门课我把它分成三大块:

  1. 单模态基础(第2–4章): scRNA-seq 标准分析流程 + 空间转录组数据读取与可视化。我会手把手带着你跑一遍 Seurat 和 Scanpy。
  2. 核心整合方法(第5–10章): 从简单的“标签转移”到复杂的“概率模型解卷积”。每种方法我都会提供一个真实数据集案例。
  3. 实战应用(第11章起): 用整合后的数据做细胞通讯、空间区域差异、肿瘤微环境分析。每章都附有完整代码和可视化。

工具方面,你最好提前装好以下环境(以 Python 为例):

# 创建一个专用环境
conda create -n multi_omics python=3.9
conda activate multi_omics

# 核心库
pip install scanpy scvelo squidpy anndata
pip install tangram-sc cell2location

# R 用户需要 Seurat
install.packages("Seurat")
install.packages("SeuratDisk")

你可能会问:“为什么用两套语言?” 嗯,现实就是这样——scRNA 社区 R 系 (Seurat) 和 Python 系 (Scanpy) 分庭抗礼,空间转录组工具则两边都有。我建议你至少熟悉一种,剩下用 reticulate 或 rpy2 互调就行。

一个小提示: 第一次跑整合时,别上来就用 10 万细胞的大数据。找一个小规模测试集(比如一个 tissue section + 对应的 scRNA 参考),跑通了再放大。我曾用 5000 细胞的数据调通了 Tangram,然后直接跑 10 万细胞,结果内存爆了——原来 Tangram 的默认迭代次数没调,而且要用 minibatch。所以,小数据验证 + 参数调优是必须的。

最后总结一下: scRNA 和空间转录组是互补的伙伴,不是对手。整合不是炫技,而是回答生物学问题的手段——肿瘤边界的免疫细胞到底是抑制还是激活?发育过程中某个基因在三维空间的表达梯度是怎么建立的?这些问题单靠一种技术都答不全。这门课就是帮你把这些碎片拼起来。

准备好了吗?我们开干。