第1章 RNA‑seq 基础:你手里的数据到底从哪来的
我刚入行那会,老板扔给我一个 FASTQ 文件,说「做个差异表达」。我盯着那堆字母和符号,完全不知道这玩意儿是怎么产生的。后来自己亲手跑了一遍建库、上机、下机,才算搞清楚——RNA‑seq 说白了就是把细胞里所有的 RNA 分子,打断、反转录、测序,然后数一数每个基因上有多少条 read。下面我从技术原理、应用场景、数据类型和常见平台四个角度,把这块基石帮你夯实。
1.1 技术原理:从 RNA 到数字信号
RNA‑seq 的核心思路很直接:
- 提取总 RNA,去掉 rRNA(或者不去,看实验设计);
- 用 oligo‑dT 磁珠富集 mRNA(如果想看 poly‑A 转录本)或者用随机引物;
- 反转录成 cDNA,然后打断(或者先打断再反转录);
- 加上接头、扩增,形成文库;
- 上机测序,得到 millions 条短读序(reads)。
这些 reads 比对到参考基因组或转录组,count 落到每个基因上的 reads 数量,就是表达量的原始数字。嗯,这里要注意:同一个基因的 counts 不能直接跨样本比较,因为测序深度、基因长度、文库组成都不一样。所以后续才需要标准化和差异检验。
1.2 应用场景:你能用 RNA‑seq 做什么?
说白了,RNA‑seq 就是用来回答「基因在什么条件下表达量变了」这个问题的。但我看到过不少新人以为 RNA‑seq 只能做差异表达,其实它的应用远不止于此:
| 应用方向 | 典型问题 | 分析关键点 |
|---|---|---|
| 差异表达分析 | 处理组 vs 对照组哪些基因上调/下调 | 多重假设检验校正 (BH) |
| 可变剪接分析 | 同一个基因在不同条件下外显子使用是否改变 | rMATS、MAJIQ 等工具 |
| 融合基因检测 | 肿瘤中是否存在基因融合事件 | STAR‑Fusion、Arriba |
| 新转录本发现 | 某物种参考注释不全,组装新的转录本 | StringTie、Cufflinks |
| RNA editing | 碱基编辑事件在转录组中的分布 | REDItools、GATK Variant Calling |
我自己还遇到过有人用 RNA‑seq 做微生物组物种鉴定(meta‑transcriptomics),不过那是另一个话题了。
1.3 数据类型:你得认识这几种文件
干这行,每天打交道的就是下面几种文件。我刚开始分不清 SAM 和 BAM,被 debug 折磨了一整天。你想想看,它们其实是层层递进的关系:
- FASTQ:测序机出来的原始数据,包含 read 序列和质量值。每 4 行为一条 read。
- FASTA:参考基因组/转录组序列,只有序列没有质量。
- SAM/BAM:比对结果。SAM 是文本,BAM 是二进制压缩版。我习惯用 samtools 处理它们。
- GTF/GFF:基因注释文件,标注了每个基因、转录本、外显子的位置和属性。
- Count matrix:我们最终需要的表格——行是基因,列是样本,格子是 counts。
拿到别人的 GTF 文件,先检查一下版本。我吃过亏:用 Ensembl v75 注释去比对 hg38 基因组,结果很多基因没匹配上,白白浪费半天。
1.4 常见测序平台:你选哪个?
目前主流的 RNA‑seq 平台就两大阵营。我个人的选择思路是:问清楚实验预算和需要的 read 长度。
| 平台 | 机型 | 读长 | 通量 | 适用场景 |
|---|---|---|---|---|
| Illumina | NovaSeq 6000, NextSeq 2000 | PE150 / PE100 | 高 | 标准差异表达、可变剪接 |
| MGI | DNBSEQ‑T7 | PE100 / PE150 | 极高 | 大规模队列研究 |
| PacBio / ONT | Sequel IIe, PromethION | 1‑50 kb | 低 | 全长转录本 / 异构体鉴定 |
我曾经在一个项目中,甲方指定要 PacBio 测全长,结果 downsampling 之后,差异表达的灵敏度反而不如 Illumina 的模拟数据。为什么?因为长读长错误率高,低表达基因的 counts 不稳定。所以你要根据核心问题选平台,不是越新越好。
不要混淆「测序深度」和「read 长度」。差异表达分析主要关心深度的均一性,而剪接分析更依赖读长能否跨越外显子边界。做实验设计时,这两者要一起考虑。
1.5 知识框架图
下面这张图把 RNA‑seq 从实验到分析的核心流程串起来了。你可以把它当作整本笔记的 roadmap。
1.6 准备好了吗?
这一章我们把 RNA‑seq 的来龙去脉大致捋了一遍。从技术原理到平台选择,再到数据文件类型,你心里应该有个谱了。接下来就要动手处理真实的 FASTQ 数据了。记得先装好 conda 环境和必要的工具——这个准备工作我吃过亏,装包装到崩溃。
conda create -n rnaseq python=3.9
conda activate rnaseq
conda install -c bioconda fastqc trimmomatic star samtools subread
嗯,STAR 比对需要很大的内存(我一般给 32GB),你用服务器的时候先检查一下资源。
记住:RNA‑seq 分析不是一锤子买卖,每个环节都会反哺前面的实验设计。你多跑几个项目,就会发现那些常量(比如比对率低于 70%、重复样本间相关性低于 0.9)才是你最重要 QC 指标。