差异表达基因分析(DEG)方法

现代基因组学研究中,高通量测序(RNA-seq)和基因芯片技术的普及使得我们能够从全基因组层面观测生物体在不同状态下的转录组变化。差异表达基因分析(Differentially Expressed Genes Analysis,简称 DEG 分析)作为生物信息学分析的核心环节,旨在识别在不同处理、组织、发育阶段或病理条件下表达水平发生显著变化的基因。这不仅是连接宏观表型与微观分子机制的桥梁,也是后续基因功能注释、通路富集分析以及生物标志物筛选的基石。
标准的 DEG 分析流程从高通量测序产生的原始数据(Raw Reads)开始,经过严格的质量控制与比对后,进入定量与统计检验阶段。整个流程通常包含以下几个关键步骤:

  1. 数据质控与预处理:使用工具(如 FastQC)评估测序数据质量,去除低质量碱基和接头序列,确保下游分析的准确性。
  2. 序列比对或伪比对:将清洁读段(Clean Reads)比对到参考基因组上(如 HISAT2、STAR),或者使用基于转录本的伪比对工具(如 Salmon、Kallisto)快速定量。
  3. 表达量定量:将比对结果转化为基因或转录本的表达矩阵,常用的指标包括 TPM(Transcripts Per Million)、FPKM 和原始读段计数(Raw Read Counts)。
  4. 统计建模与假设检验:利用专门的统计学模型对 Raw Counts 矩阵进行分析,计算基因在不同分组间的表达变化倍数(Fold Change, FC)及显著性 $p$ 值。
  5. 多重假设检验校正:由于基因组包含数万个基因,多重检验会带来较高的假阳性(Type I error),因此必须将 $p$ 值转换为校正后的 $q$ 值或矫正 $p$ 值(Adjusted $p$-value / FDR)。
  6. 下游功能挖掘:根据设定的阈值(如 $|{\log_2\text{FC}}| > 1$ 且 $\text{FDR} < 0.05$)筛选出显著的差异表达基因,进而开展 GO 功能分类和 KEGG 通路富集分析。

主流 DEG 分析算法与模型横向对比

由于基因表达数据通常呈现非正态分布、过度分散(Over-dispersion,即方差大于均值)以及样本量往往较小的特点,传统的经典统计学方法(如普通的 $t$ 检验或 ANOVA)并不适用于 RNA-seq 的 Count 数据。目前业界广泛采用基于广义线性模型(GLM)的专用生物信息学软件:

  • DESeq2
    • 核心原理:基于负二项分布(Negative Binomial Distribution),引入了经验贝叶斯方法来收缩估计基因的离散度(Dispersion)。
    • 优势:在样本量较小(如每组 2-3 个重复)时表现出极高的稳定性和准确性,是目前应用最广泛的工具之一。
  • edgeR
    • 核心原理:同样基于负二项分布,采用精确检验(Exact Test)或更通用的 GLM 框架,利用 Trimmed Mean of M-values (TMM) 方法进行标准化。
    • 优势:计算速度快,尤其适合处理具有复杂实验设计(如多因素、时间序列)的大规模数据集。
  • limma (voom)
    • 核心原理:原本为微芯片设计,通过 voom 函数将 RNA-seq 的 Count 值转换为连续型的对数表达量,并附加精确的权重,从而能够应用成熟的线性模型(Linear Models for Microarray Data)。
    • 优势:非常适合复杂的基因组设计,能够处理批次效应以及包含随机效应的复杂协变量。

实验设计与生物学应用全景

DEG 分析的质量在很大程度上取决于前端的实验设计。在进行遗传学和基因组学研究时,必须合理规划生物学重复(Biological Replicates)与技术重复(Technical Replicates)。生物学重复用于评估群体间的生物学变异,是进行假设检验和计算统计显著性的必需条件;而技术重复则用于评估实验操作的误差。

在宏观应用全景中,DEG 分析广泛渗透于生命科学的各个领域:

  • 分子基础与机制研究:通过对比突变体与野生型的转录组差异,解析特定基因调控网络。
  • 人类健康与疾病诊断:在医学转录组学中,对比患者与健康对照组织的差异表达基因,寻找潜在的疾病诊断标志物或治疗靶点。
  • 发育与环境应激响应:探究生物在面对温度、干病等外界胁迫时的基因动态响应模式。

典型代码实践(基于 R 语言的 DESeq2 简要示例)

以下是一个使用 R 语言中 DESeq2 包进行基础差异表达分析的代码框架:

# 加载必要的包
library(DESeq2)

# 假设 countData 为基因表达矩阵(行是基因,列是样本)
# colData 为样本分组信息数据框
head(countData)
head(colData)

# 1. 构建 DESeq2 对象
dds <- DESeqDataSetFromMatrix(countData = countData,
                              colData = colData,
                              design = ~ condition)

# 2. 过滤低表达基因(可选但推荐)
keep <- rowSums(counts(dds)) >= 10
dds <- dds[keep,]

# 3. 执行标准差异表达分析
dds <- DESeq(dds)

# 4. 提取比较结果(例如对比 "处理组" vs "对照组")
res <- results(dds, contrast=c("condition", "treated", "control"))

# 查看结果摘要
summary(res)

# 5. 将结果转换为数据框并按显著性排序
resOrdered <- data.frame(res) [order(res$padj),]
head(resOrdered)

通过上述标准化的工作流程与严谨的统计模型,研究人员能够从海量的转录组数据中准确剥离噪声,锁定真正具有生物学意义的差异表达基因,为揭示复杂的生命调控规律提供坚实的数据支撑。