1. 单细胞RNA‑seq数据简介
做单细胞分析这么多年,我最常被问到的一个问题就是:“单细胞数据到底特殊在哪儿?” 你想想看,普通RNA‑seq是把一堆细胞磨碎了测,得到的是平均表达量。单细胞不一样——它把每个细胞独立建库、独立测序,然后告诉你每个细胞里每个基因到底表达了多少。 说白了,就是从“大锅饭”变成了“每个人碗里有多少菜”,清清楚楚。
1.1 技术原理
单细胞RNA‑seq的核心流程其实不复杂,但每一步都会影响最终数据质量。 我记得第一次上手做这个实验时,导师跟我说:“你只要记住一句话——把单个细胞的mRNA变成可测序的cDNA文库。” 拆开来看,大致分这么几步:
- 组织解离 —— 把组织块打成单细胞悬液。这一步最怕细胞损伤或激活应激基因。
- 单细胞捕获 —— 用微流控芯片、液滴或孔板把单个细胞隔离开。
- 逆转录 —— 每个细胞里的mRNA逆转录成cDNA,同时加上细胞条形码和UMI。
- cDNA扩增 —— PCR放大信号,让微量核酸能被测到。
- 文库构建与测序 —— 加接头、上机,产出FASTQ数据。
- 定量与表达矩阵 —— 比对、计数,生成我们熟悉的
cells × genes矩阵。
这里面有个关键点:细胞条形码用来标记“这个read来自哪个细胞”,UMI用来去除PCR重复。 没有UMI的话,定量会偏得离谱。我之前接过一个项目,对方用的老平台没有UMI,结果同一个基因在一个细胞里检出几百种不同序列, 那就是典型的PCR偏好。嗯,从那以后我对UMI格外敏感。
1.2 常见平台
市面上的平台不少,但我实际用过的就几种。下面这个表是我个人的使用感受,供你参考:
| 平台 | 捕获方式 | 通量 | UMI | 优点 | 缺点 |
|---|---|---|---|---|---|
| 10x Genomics | 液滴微流控 | 高(~1万细胞/样本) | 有 | 通量高、试剂成熟、生态好 | 捕获效率一般,3'端偏好 |
| Smart‑seq2 | 孔板(FACS分选) | 低(96/384孔) | 无 | 全长转录本、灵敏度高 | 通量低、成本高、无UMI |
| Drop‑seq | 液滴微流控(自建) | 中高 | 有 | 成本可控、灵活 | 建库难度大、批次效应强 |
| inDrop | 液滴微流控 | 中高 | 有 | 封装效率高 | 商业化程度低、试剂限制 |
1.3 数据特点
单细胞数据跟bulk RNA‑seq最大的区别,你拿到手第一眼就能感受到——太稀疏了。 我刚开始处理单细胞数据时,打开表达矩阵一看,90%以上都是0,还以为实验失败了。 其实不是,这就是单细胞数据的常态。下面几个特点,每个都是后续分析的挑战:
- 稀疏性(Sparsity) —— 每个细胞只表达几千个基因,大量基因检测不到。 这不全是生物学原因,也有技术丢失。说白了,你看到0,不代表基因真的没表达。
- 高维度 —— 一个样本测几千个细胞,每个细胞测两万个基因。 你想想看,这个矩阵的行数和列数都很大,直接做传统统计根本跑不动。
- 批次效应 —— 这是所有单细胞项目最头疼的问题。 我曾经因为忽略了批次效应,差点得出一个“两种细胞类型差异巨大”的结论。 后来发现,那只是两个批次之间的系统偏差。嗯,从那以后我养成了习惯:拿到数据先按批次染色看UMAP。
- 技术噪音 —— 包括dropout(基因丢失)、扩增偏好、GC偏差。 这些噪音会掩盖真实的生物学信号,所以预处理阶段不能马虎。
1.4 核心数据结构
无论你用Seurat还是Scanpy,最终操作的都是同一个东西——表达矩阵。 矩阵的行是细胞(一般用Barcode标识),列是基因。矩阵中的值代表「该基因在该细胞中的UMI计数」。 下面是一个简化示例:
Malat1 Gapdh Actb Cd3e ...
cell_AAACCCA 12 8 35 0 ...
cell_AAACCCG 0 3 0 0 ...
cell_AAACCCU 7 12 24 0 ...
cell_AAAACAU 0 0 0 5 ...
除了表达矩阵,还需要元数据:样本来源、批次、处理条件、临床信息等。 我习惯把元数据放在一个单独的数据框里,行顺序与矩阵一致,这样不会搞乱。 记住:批次校正需要用到元数据中的批次标签,所以在导入数据时就要把元数据整理好,不然后面会手忙脚乱。
✅ 单细胞RNA‑seq的核心是「每个细胞独立建库+条形码」
✅ 平台选择决定数据质量与通量,10x是主流但并非万能
✅ 稀疏性、高维度、批次效应是数据三大特征,每个都是坑
✅ 表达矩阵 + 元数据 是所有下游分析的起点