1. 转录组学与差异表达分析概述
说起转录组学,你可能会觉得有点抽象。说白了,它就是研究一个细胞或组织里,所有RNA分子都在干什么。我刚开始接触这个领域时,也搞不清它跟基因组学有什么区别——后来才明白,基因组是静态的蓝图,而转录组是动态的执行报告。
为什么这玩意儿这么重要?因为RNA是基因表达的「中间人」。DNA藏在细胞核里不能直接干活,得靠转录出mRNA,再翻译成蛋白质去执行功能。你想想看,想要知道某个基因在不同条件下是不是被「打开」或「关闭」,最直接的办法就是看它的RNA水平变化——这就是差异表达分析(DE分析)的由来。
1.1 什么是转录组学
转录组学(Transcriptomics)研究的对象,是某个特定时刻、特定条件下,一个细胞或组织里所有RNA的集合。包括mRNA、非编码RNA,还有各种剪接变体。
它解决的问题很明确:
- 哪些基因在表达?——定性分析,检测基因是否被转录。
- 表达量是多少?——定量分析,计算每个基因的RNA丰度。
- 在不同条件下怎么变?——差异分析,比较两组之间的表达差异。
我在一个癌症项目中遇到过这样的情况:同一个基因,在不同患者的肿瘤样本里,表达模式天差地别。如果不做差异分析,你根本抓不住那些关键驱动基因。
1.2 差异表达分析的核心问题
差异表达分析,说白了就是回答一个问题:「在条件A和条件B之间,哪些基因的表达量有统计学意义上的显著变化?」
你可能会想,这不就是做个t检验吗?嗯,没那么简单。测序数据有几个让人头疼的特点:
- 离散度高——RNA-seq数据通常是计数数据,方差往往大于均值。
- 样本量小——生物学重复通常只有3~5个,统计检验力不够。
- 多重比较——一次分析几万个基因,假阳性膨胀得厉害。
所以专用的方法应运而生。DESeq2就是其中最常用的一种,它用负二项分布模型来处理过离散问题,还内置了多重检验校正。
关键指标:差异表达分析通常以 log2FoldChange (倍数变化) 和 adjusted p-value (校正后p值) 为筛选标准。比如我习惯用 |log2FC| > 1 且 padj < 0.05 来挑差异基因。
1.3 常见的研究设计
差异分析的设计五花八门,但大体上可以归成几类:
| 设计类型 | 示例 | 分析难点 |
|---|---|---|
| 两组比较 | 处理组 vs 对照组 | 批次效应容易混淆 |
| 多组比较 | 野生型 vs 突变体 vs 回补株 | 需要多重比较校正策略 |
| 时间序列 | 0h, 6h, 12h, 24h 处理 | 趋势检验,连续变量建模 |
| 配对设计 | 同一患者的肿瘤 vs 癌旁 | 考虑个体随机效应 |
我个人经验是:批次效应是很多新手翻车的地方。曾经有一个项目,我拿到了两批数据,结果第一批和第二批的实验日期差了一个月,组内差异比组间还大。后来我通过DESeq2的公式里加入批次变量,才把信号捞出来。
注意:不要在设计阶段把批次信息和生物学条件混在一起。如果你的对照组全是在某一天做的,处理组全是在另一天做的,那统计模型根本分不清差异到底是处理造成的还是批次造成的。
1.4 数据预处理流程概览
在跑DESeq2之前,你手头得有干净的数据。标准的预处理流程大致如下:
- 原始测序数据(FASTQ)——质控、去除接头、过滤低质量读段。
- 比对到参考基因组/转录组——用STAR、HISAT2或Salmon等工具。
- 基因水平定量——得到每个基因的计数矩阵(count matrix)。
- 导入DESeq2——构建DESeqDataSet对象,进行差异分析。
嗯,这里要注意:DESeq2的输入是整数计数,而不是标准化后的RPKM/FPKM。为什么?因为它内部会自己处理文库大小和基因长度,你给它原始整数就行。
下面是一个典型的count matrix片段,CSV格式:
gene_id,control1,control2,treatment1,treatment2
ENSG000001,120,95,340,310
ENSG000002,45,38,22,19
ENSG000003,210,205,198,215
每一行是一个基因,每一列是一个样本,数字代表比对到这个基因上的读段数目。
小技巧:在将数据导入R之前,我习惯用sed或awk检查一下最后一列有没有空值或字母。曾经有一次下游分析报错,查了半天才发现是样本名里带了一个不可见字符。
1.5 本章小结
这一章我们把转录组差异分析的基本概念捋了一遍。核心就是:在两组或多组样本之间,找出表达有显著变化的基因。后面所有的技巧、代码、调试,都是围绕这个目标展开的。
下面我用一张流程图把整个分析框架串起来,后续每一章都会在某个环节上深入展开。
这张图把我们从实验设计到最终可视化的链路都串起来了。其中DESeq2差异分析是核心环节,后面我们会花大量篇幅来拆解它内部的统计模型和参数调优。
个人建议:如果你是初学者,不要一开始就纠结于统计细节。先搭建一条完整的流程——从原始数据到差异基因列表——跑通一次再说。我当初就是先上车后补票,反而理解得更快。