空间转录组技术原理:三大主流平台详解
讲空间转录组,有个问题我常被问到:“这些技术到底有什么区别?我该选哪个?”说实话,我刚接触这个领域时也一头雾水。10x Visium、Slide-seq、MERFISH,名字都挺唬人,但背后的原理其实很清晰。
今天我就带你把这三个主流平台拆开来看。咱们不搞玄学,只讲干货。
说到底,空间转录组在测什么?
传统单细胞测序(scRNA-seq)能把细胞类型分得很细,但有个致命缺陷——它把细胞从组织里解离出来,位置信息全丢了。
你想想看,发育生物学里,细胞在什么位置、和谁做邻居,这信息多重要。神经嵴细胞从哪里迁移?心脏 progenitors 怎么排列?没有空间位置,这些研究就缺了一条腿。
空间转录组技术,说白了就是在传统转录组上加了一个“GPS坐标”。
根据捕获方式,目前主要有三大流派:
- 基于原位捕获的:代表性平台是10x Visium和Slide-seq。用带空间条形码的芯片直接捕获组织中的mRNA。
- 基于原位成像的:代表性平台是MERFISH。通过荧光探针在显微镜下直接“数”出RNA分子。
- 基于激光显微切割的:代表性平台是LCM-seq。用激光把特定区域切下来再做测序。这个我们以后细说。
三大平台核心对比
我个人习惯在选平台前先做一张对比表,这样心里有数。你看这张表就明白了:
| 特性 | 10x Visium | Slide-seq | MERFISH |
|---|---|---|---|
| 原理 | 芯片原位捕获+测序 | 微珠原位捕获+测序 | 多重荧光原位杂交 |
| 分辨率 | 55 μm(约1-10个细胞/点) | 10 μm(亚细胞级别) | 单分子级别(100-200 nm) |
| 基因检测数 | 全转录组(~20,000基因) | 全转录组(~20,000基因) | 预设Panel(~100-500基因) |
| 组织类型 | 冷冻/石蜡切片 | 冷冻切片 | 冷冻切片 |
| 通量 | 高(4-16个样本/芯片) | 中(1个样本/芯片) | 低(1-2个样本/天) |
| 成本 | $$$ | $$ | $$$$ |
| 代表性应用 | 肿瘤异质性、发育图谱 | 神经发育、早期胚胎 | 神经元分型、单细胞空间图谱 |
从这张表里你能看出端倪:没有完美的技术,只有合适的场景。
10x Visium:最成熟的“大空间”平台
Visium是目前应用最广的空间转录组平台。它的工作原理很有意思:
- 芯片设计:芯片上有4个捕获区域(6.5×6.5 mm),每个区域包含~5,000个直径为55 μm的点(spot)。每个点表面有标记了空间条形码(spatial barcode)的捕获探针。
- 组织切片:把冷冻组织切片贴在芯片上。
- HE染色:先给切片做HE染色,拍高清组织图像。
- 透化:用酶把细胞膜打孔,释放mRNA。
- 捕获:mRNA扩散到最近的spot上,被捕获探针的poly-T吸附。
- 建库测序:洗掉组织,直接在芯片上反转录、建库、测序。
嗯,这里要注意一个问题:透化时间。透化时间短了,RNA释放不出来;时间长了,RNA会扩散到相邻spot,造成位置模糊。我调参数时遇到过几次,透化过了,整个组织看起来像“化掉”一样,信号混乱。
Slide-seq:更高分辨率的选择
Visium的55 μm分辨率在有些场景下不够用。比如你想把发育中的神经管区域分清楚,每个spot可能混合了多种细胞类型。这时候Slide-seq就派上用场了。
Slide-seq的核心是——微珠(beads)。每个微珠直径约10 μm,表面也有空间条形码。把数千万个微珠随机铺在一个载玻片上,形成一个“微珠地毯”。
我记得第一次看Slide-seq数据时有点蒙——每个微珠的条形码是随机的,怎么知道哪个微珠在哪个位置?
答案是:解卷积定位。先用荧光标记的已知序列探针对微珠做几轮原位测序,记录每个微珠的坐标;然后把组织切片贴上去,捕获mRNA。这样,每个微珠的条形码就对应了真实的物理位置。
Slide-seq有两个版本:
- Slide-seq V1:分辨率约10 μm,但基因捕获效率较低(~10-20%)。
- Slide-seq V2:优化了微珠表面,捕获效率提升到~50%。我建议新用户直接用V2版本。
MERFISH:单细胞级别的“终极武器”
如果你需要精确到单个细胞甚至亚细胞层面的空间分布,MERFISH是当前的不二之选。
MERFISH(Multiplexed Error-Robust Fluorescence In Situ Hybridization)的原理和上面的两种技术完全不同。它不是“捕获+测序”,而是“成像+计数”。
让我用大白话说一遍:
- 设计探针:针对每个目标基因,设计几十个特异性荧光探针。
- 编码:每个探针带一个“编码条码”——用不同荧光颜色的组合来标记不同基因。比如红色+绿色代表基因A,红色+蓝色代表基因B。
- 杂交:把探针加到组织切片上,让它们和靶RNA结合。
- 成像:用超分辨率显微镜拍几十轮荧光图像。每轮洗掉一种荧光,再染上另一种,依次拍摄。
- 解码:根据荧光组合在图像上还原出每个RNA分子的种类和位置。
你想想看,这样做的好处是——能直接看到单个RNA分子!而且不涉及PCR扩增,没有偏差。
但代价也很明显:只能检测预设的基因Panel。目前商用Panel最大能覆盖500个基因左右。如果你做全转录组发现,那MERFISH就不太适合。
另一个挑战是数据量。一次MERFISH实验可能产生几TB的图像数据。我刚开始做时,存储和计算成了瓶颈。后来学了用Cloud Optimized GeoTIFF格式压缩存储,才算解决了。
三种技术如何选?
我建议按这个逻辑来选:
- 先问自己:我需要多少基因? 想要全转录组 → 选Visium或Slide-seq。
- 再问:分辨率够不够? 单细胞级别 → Slide-seq(低成本)或MERFISH(高精度)。
- 最后问:我想研究什么? 组织图谱、细胞邻域分析 → Visium。神经发育、早期胚胎 → Slide-seq。亚细胞定位、时空动态 → MERFISH。
SVG:三种技术原理对比图
为了让你更直观地理解,我画了下面这张对比图。它展示了三种技术的核心流程和特点。
数据和格式:你需要知道的东西
选好平台只是第一步。接下来你会面对一堆数据格式问题。我遇到过不少同学,实验做完了,拿到数据,发现不会读。
这里列一下主流平台的数据输出:
- 10x Visium:输出是标准的Space Ranger格式。包含
filtered_feature_bc_matrix.h5(基因表达矩阵)、spatial/文件夹(tissue_positions_list.csv、scalefactors_json.json、HE图像)。 - Slide-seq:输出是
.h5ad格式(AnnData),包含微珠的坐标(coords)和表达矩阵(X)。也有些团队用slide-seq_beads.csv这种纯文本。 - MERFISH:输出是CSV或HDF5格式。包含每个分子的坐标(x, y, z)、基因ID、细胞分配结果。
我建议从第一天开始就用统一的Python分析环境(Scanpy + Squidpy),这样不同平台的数据都可以对接。看一个读Visium数据的代码示例:
import scanpy as sc
import squidpy as sq
# 读10x Visium h5文件
adata = sc.read_visium("path/to/spaceranger/output/",
count_file="filtered_feature_bc_matrix.h5")
# 添加空间坐标信息
adata.obsm["spatial"] = adata.obs[["x", "y"]].values
# 可视化
sq.pl.spatial_scatter(adata, color="n_genes_by_counts")
scalefactors_json.json里的像素比例因子。我遇到过因为比例因子搞错,导致HE图像和空间点错位的情况。这个小坑浪费了我半天时间。
避坑指南:我的血泪教训
最后,分享几个我踩过的坑:
- 组织切片质量:Visium和Slide-seq对组织切片要求很高。切片厚度、平整度、有无褶皱,都会影响捕获效率。我曾经用一块有皱褶的切片做实验,结果捕获区域出现大片空白,无法获得组织轮廓。
- RNA完整性:RNA降解是空间转录组的头号杀手。我建议在切片前用RIN值评估RNA质量,RIN > 7才勉强能用。有一次项目快交付了才发现样本RIN只有4,最后重做。
- 重复实验:空间转录组技术的批次效应不容忽视。同一个组织,不同切片、不同批次,结果可能有差异。我通常建议至少做2个生物学重复,或者用同一个组织切4-6片做技术重复。
- 计算资源:不要小看数据处理。一个Visium样本带全转录组数据,压缩前可能2-3 GB。MERFISH的成像数据更是TB级别。我最早在笔记本上跑,结果死机了。后来换了云GPU+大内存虚拟机。