从计数到差异基因
2026-03-21
差异表达基因(DEGs):在不同条件下表达水平发生显著变化的基因
对照组 处理组
├─┤ ├────┤
表达量=10 表达量=20
↓
Fold Change = 2
原始counts矩阵
↓
数据过滤 (低表达基因)
↓
标准化 (size factors)
↓
离散度估计
↓
统计检验 (Wald test/LRT)
↓
多重检验校正 (BH)
↓
差异基因筛选 (padj < 0.05, |log2FC| > 1)
RNA-seq计数数据具有以下特点:
负二项分布(Negative Binomial):
均值 = μ
方差 = μ + α×μ² (α为离散度参数)
| 离散度 | 方差 vs 均值 | 分布 |
|---|---|---|
| α = 0 | 方差 = 均值 | 泊松分布 |
| α > 0 | 方差 > 均值 | 负二项分布 |
实际应用: - 低表达基因:离散度高(采样误差大) - 高表达基因:离散度低(采样误差小)
负二项广义线性模型(GLM):
log2(q_ij) = β_0 + β_1 × condition + ε
其中:
- q_ij:基因i在样本j中的期望计数
- β_0:截距(对照组基线)
- β_1:处理效应(log2 Fold Change)
中位数比值法:
size factor_j = median_i (counts_ij / geometric_mean_i)
原理:假设大多数基因在样本间表达稳定
| 样本 | 总reads | Size Factor | 说明 |
|---|---|---|---|
| A | 10M | 1.0 | 基准样本 |
| B | 20M | 2.0 | 测序深度2倍 |
| C | 8M | 0.8 | 测序深度0.8倍 |
| 特性 | DESeq2 | edgeR |
|---|---|---|
| 离散度估计 | 趋势拟合 | 经验贝叶斯 |
| 收缩性 | 更强 | 较弱 |
| 小样本稳健性 | 更好 | 中等 |
| 复杂设计 | 支持 | 支持 |
| 速度 | 较慢 | 较快 |
推荐: - 样本少(n=3):DESeq2更稳健 - 样本多或复杂设计:两者均可
假设检测20,000个基因,每个基因单独检验(α=0.05):
假阳性期望数 = 20,000 × 0.05 = 1,000个!
控制假发现率(FDR):
FDR = E[假阳性数 / 拒绝数]
BH校正:找到最大的k,使得 p_k ≤ (k/m) × α
| 指标 | 符号 | 含义 | 使用场景 |
|---|---|---|---|
| p值 | pvalue | 单次检验错误概率 | 不推荐直接使用 |
| 调整p值 | padj | FDR控制 | 差异基因筛选 |
推荐阈值:
- |log2FC| > 1 (倍数变化 > 2)
- padj < 0.05 (FDR < 5%)
| 列名 | 含义 | 说明 |
|---|---|---|
| baseMean | 平均表达量 | 标准化后的平均reads数 |
| log2FoldChange | log2倍数变化 | 处理组/对照组 |
| lfcSE | log2FC标准误 | 估计的不确定性 |
| stat | Wald统计量 | 检验统计量 |
| pvalue | 原始p值 | 未校正 |
| padj | 校正p值 | BH校正后 |
padj < 0.05
Yes No
┌────────┬────────┐
log2FC │ │ │
> 1 │ 上调 │ nominally上调 │
│ (Up) │ │
├────────┼────────┤
-1 to 1│ 无差异 │ 无差异 │
│ │ │
├────────┼────────┤
< -1 │ 下调 │ nominally下调 │
│ (Down) │ │
└────────┴────────┘
MA图:表达量(mean)vs 差异倍数(log2FC)
Y轴: log2 Fold Change
↑
+2 │ ○ ○
│ ○ ○
0 ├───────────
│ ○ ○
-2 │ ○ ○
↓
└───────────→ X轴: Mean Expression (log10)
1 10 100
特点: - 红点:差异表达基因 - 低表达基因log2FC波动大 - 高表达基因趋于稳定
火山图:log2FC vs -log10(padj)
↑
-log10 │ ●●●
(padj) │ ●●●●●●●
│ ●●●●●●●●●
├──────────────
│ -2 0 +2 → log2FC
│
│ ○ 下调 ● 上调
│
优点:同时展示变化倍数和统计显著性
差异基因表达热图:
Ctrl1 Ctrl2 Ctrl3 Treat1 Treat2 Treat3
Gene_A ████ ███ ███ █████ █████ █████
Gene_B ████ ████ ████ ███ ███ ██
Gene_C ██ ███ ██ █████ █████ █████
↓ ↓
蓝色(低) ──────→ 红色(高)
用途:展示Top差异基因的表达模式
| 问题 | 可能原因 | 解决方案 |
|---|---|---|
| 无差异基因 | 分组错误 | 检查colData |
| 批次效应 | 添加批次到设计公式 | |
| 阈值过严 | 适当放宽阈值 | |
| 差异基因过多 | 生物学差异大 | 检查样本质量 |
| 阈值过松 | 使用更严格阈值 |
问题:低表达基因的高log2FC不可靠
DESeq2解决方案:
效果: - 低表达基因:log2FC向0收缩 - 高表达基因:保持相对稳定
📧 wangshx@csu.edu.cn 🌐 https://wanglabcsu.github.io/ 🐙 https://github.com/WangLabCSU

差异表达分析 | 中南大学