3、单细胞转录组测序技术:scRNA-seq原理、建库方法与数据特点
欢迎来到第三章。前面我们聊了发育生物学的宏观问题和实验设计,今天咱们得把目光聚焦到最核心的技术工具上——单细胞转录组测序。你想想看,传统RNA-seq就像把一锅汤搅匀了再喝一口,你能知道这锅汤里有哪些食材,但每块肉、每片菜叶各自是什么滋味?你完全不知道。scRNA-seq就是让你能够捞出每一块食材,单独尝一口。
嗯,这里要注意。scRNA-seq并不是一门“天降神兵”的技术,它背后是一套非常精巧且环环相扣的湿实验和干实验流程。我当年刚开始接触这个技术时,被各种建库方法搞得晕头转向:10x Genomics是什么?Smart-seq2又是什么?drop-seq靠谱吗?别急,这一章我们就把这些讲透。
3.1 核心原理:从混池到单颗粒
scRNA-seq的核心逻辑,说白了就是四个字:单个捕获。我们要从组织或细胞悬液中,把成千上万个细胞一个一个地分离出来,并对每个细胞的mRNA进行逆转录、扩增和建库。
那么问题来了:怎么实现“一个一个”的捕获?目前主流的两大流派是:
- 基于微流控的液滴法(Droplet-based):代表技术是10x Genomics、Drop-seq、inDrop。细胞与带有独特条形码(Barcode)的凝胶微珠被包裹在油滴里,每个油滴就像一个微型反应室。
- 基于平板的分选法(Plate-based):代表技术是Smart-seq2、MARS-seq。通过流式细胞分选(FACS)或显微操作,把细胞一个个分到96孔或384孔板里,再进行建库。
你可能会问:“那两种方法我该怎么选?” 我个人习惯是:如果你要做稀有细胞类型的发现,或者需要高灵敏度去检测低表达基因,平板法(比如Smart-seq2)更合适。如果你要看细胞群体的异质性,或者做发育轨迹的粗略重建,液滴法(10x)绝对是性价比之王。
3.2 建库方法详解
3.2.1 液滴法:10x Genomics 与 Drop-seq
液滴法的精髂就在于“一个液滴,一个细胞,一个微珠”。以10x Genomics为例,微珠上预先合成了一堆寡核苷酸链,包含:P7序列(用于Illumina测序)、Barcode(每个微珠唯一,用于标记细胞)、UMI(Unique Molecular Identifier,用于标记单个mRNA分子)和Poly(dT)(捕获mRNA的尾巴)。
当细胞与微珠被油滴包裹后,细胞裂解,mRNA释放出来,与微珠上的Poly(dT)结合,进行逆转录。这样每个cDNA分子上都带了Barcode和UMI。之后,打破油滴,进行PCR扩增,构建文库。
# 10x Barcode + UMI 结构示意(Read结构)
Read1: Barcode (16bp) + UMI (12bp) + Poly(dT)
Read2: cDNA序列
# 实际测序输出中,你拿到的数据包含:
I1_read: Barcode + UMI (用于细胞和分子标定)
R1_read: cDNA片段 (比对到参考基因组)
R2_read: 通常是另一端的cDNA片段 (对于长片段测序)
3.2.2 平板法:Smart-seq2
Smart-seq2 走的是另一条路。它利用模板转换(Template Switching)技术,在逆转录时,当逆转录酶到达mRNA的5'端,会多加几个非模板的C碱基。然后特意加入一个带有G碱基的模板转换寡核苷酸(TSO),与之配对,让逆转录酶继续复制下去,从而得到全长cDNA。
这种做法有什么好处?覆盖度极高。你能得到从5'端到3'端的全长转录本信息。对于研究RNA可变剪接、等位基因特异性表达来说,Smart-seq2是利器。
# Smart-seq2 核心步骤(简化逻辑)
1. 细胞分选到96孔板(每孔一个细胞)
2. 加入裂解液和逆转录酶 + oligo-dT + TSO
3. 逆转录:mRNA -> cDNA(全长,带模板转换)
4. PCR预扩增(小循环数,减少偏差)
5. 片段化 + 加接头 + 最终PCR扩增
6. 上机测序
3.3 数据特点:你拿到的到底是什么?
测序跑完,你拿到的可不是一张漂亮的基因表达热图。你得理解最原始的测序数据长什么样。总体来说,scRNA-seq数据有以下几个关键特点:
- 稀疏性(Sparsity):这是最让人头疼的问题。一个细胞里只表达几千种基因,而且很多mRNA分子拷贝数极低。结果就是,表达矩阵中绝大多数位置是0(70%-90%)。这不是技术失误,这是生物学事实。
- UMI vs 读段数(Counts vs Reads):基于UMI的技术(如10x),每个基因的count是UMI去重后的分子数。它消除了PCR扩增的偏好性。而基于读段数的技术(如Smart-seq2),count是比对到该基因的读段总数。这两种数据的统计分布(Poisson vs Negative Binomial)完全不同。
- 批次效应(Batch Effect):不同时间、不同操作者、不同试剂所做的实验,数据中都会引入系统性的差异。这比bulk RNA-seq的批次效应更明显,因为每个细胞的信息量本来就少。
- 离散度(Dispersion):同一个基因在不同细胞中的表达量波动很大,远远超过技术误差。这种“超额离散”是单细胞数据的标志性特征。
| 数据特征 | 液滴法 (droplet) | 平板法 (plate) | 我的建议 |
|---|---|---|---|
| 通量 | 高(数千-数万细胞) | 低(96-384细胞/板) | 发育时间点多的实验,用液滴法 |
| 基因检测数 | 中等(2k-5k基因/细胞) | 高(5k-10k基因/细胞) | 需要检测低丰度转录因子,选平板法 |
| 偏向性 | 3'端偏向 | 全长覆盖 | 做剪接分析,必须用全长法 |
| 成本(每细胞) | 低 | 高 | 预算有限,通量优先,选10x |
| PCR引入误差 | 可消除(UMI去重) | 不可消除(仅靠读段数) | 转录本定量分析,优先UMI法 |
你看这个表格,应该就能明白为什么我在做发育生物学研究时,经常选择两种方法混用:先做10x对整体细胞图谱进行快速扫描,然后挑出感兴趣的细胞类群,再做Smart-seq2深度测序去挖掘细节。
3.4 常见数据格式与初步处理
无论是10x还是Smart-seq2,数据最终都会归结到两个核心文件:一个表达矩阵(genes x cells),以及一个细胞注释文件(metadata)。10x的官方输出格式是:
# 10x Cell Ranger 输出目录结构
outs/
├── filtered_feature_bc_matrix/ # 过滤后的表达矩阵
│ ├── barcodes.tsv.gz # 细胞Barcode列表
│ ├── features.tsv.gz # 基因注释
│ └── matrix.mtx.gz # 稀疏矩阵(MTX格式)
├── raw_feature_bc_matrix/ # 原始表达矩阵(含空滴)
├── metrics_summary.csv # 质控统计
└── analysis/ # 降维、聚类等初步分析
MM(MTX Matrix Exchange)格式是单细胞数据最常用的存储方式。它只记录矩阵中非零元素的行、列和值,极大减少存储空间。你直接用Seurat或Scanpy读取时,它们会自动解析MTX文件。
最后唠叨一句:scRNA-seq数据预处理有三大坑——双胞去除、空滴去除、UMI去重。这三个步骤处理不好,后面所有的轨迹推断、差异表达分析都可能被带偏。我强烈建议,在正式开始下游分析前,先用原生的质控指标(如每个细胞的基因数、UMI总数、线粒体基因比例)做一遍暴力过滤。别着急上复杂的算法,先把数据洗得干干净净。