引言Introduction

做转录组差异分析时,很多人卡在第一步。样本怎么分组,原始counts怎么读,低表达基因怎么过滤,结果又该如何解释。edgeR是Bioconductor中经典的差异分析工具 ,适合从零开始建立规范流程。一张R语言终端界面与RNA-seq火山图组合示意图,背景包含样本分组、counts矩阵和差异基因结果,突出“从原始数据到结果输出”的流程感。

1. edgeR是什么,为什么适合零基础入门

1.1 从原始counts出发,适合标准RNA-seq流程

edgeR处理的是原始计数数据 ,不是已经标准化后的TPM或FPKM。它基于负二项分布建模,核心任务是识别两组样本中表达显著变化的基因。对医学生、医生和科研人员来说,这一点很重要。因为它对应的是更接近统计建模的标准差异分析流程。

edgeR常用于mRNA、miRNA、lncRNA等表达差异分析。课程中也强调了这一点。同一套代码框架可迁移到不同类型的表达矩阵 ,只是输入数据不同。对于做ceRNA、肿瘤分型、药物反应分析的人,这种通用性很高。

1.2 edgeR的核心优势

edgeR的优势不在“复杂”,而在“稳定”。它的标准流程清晰,适合建立可复用分析模板。常见步骤包括:

  1. 读取原始counts。
  2. 创建分组信息。
  3. 构建DGEList对象。
  4. 过滤低表达基因。
  5. 计算标准化因子。
  6. 估计离散度。
  7. 进行显著性检验。
  8. 导出差异基因结果。

只要理解这8步,edgeR差异分析代码就能真正上手。
这也是为什么很多生信文章和课程会把它作为入门工具。

2. 差异分析前必须先做的三件事

2.1 先确认输入的是原始counts

edgeR不适合直接拿归一化后的表达值跑。因为它的统计模型建立在计数型数据 上。也就是说,你的输入矩阵应该满足以下特点:

  • 行是基因。
  • 列是样本。
  • 值是整数计数。
  • 不应是log后数据。

如果输入类型不对,后续标准化和统计检验都会失真。很多初学者报错,不是因为代码错,而是因为数据类型错。

2.2 分组信息决定结果方向

差异分析里,分组是最容易被忽略的地方。分组顺序会直接影响logFC的方向解释。
例如 tumor-control 和 control-tumor,得到的上下调方向是相反的。

课程中给出的典型做法,是根据样本名自动识别分组。比如通过列名某几位字符判断样本属于control还是case。对于TCGA类数据,这种方法很实用,但前提是你要先熟悉自己的样本命名规则。

2.3 低表达基因要先过滤

低表达基因会增加噪声,影响离散度估计和检验稳定性。edgeR分析前通常会先去掉表达过低的基因。课程中提到的做法是过滤均值小于1的基因。

这一步的意义很直接:

  • 降低假阳性。
  • 提高统计效率。
  • 减少无信息基因对结果的干扰。

过滤不是删数据,而是提高分析质量。

3. edgeR差异分析代码的标准流程

3.1 加载包并读取数据

在正式运行前,先加载edgeR包,并读取原始表达矩阵。常见分析中,数据可能来自DESeq2整理后的原始文件,也可能是保存好的R数据对象。课程提到可用load()快速读取,这在大数据项目中很常见。

读取后,建议先检查结构:

  • head()查看前几行。
  • 确认行名是基因名。
  • 确认列名是样本名。
  • 确认矩阵维度正确。

先验证数据,再开始建模,是避免后续返工的关键。

3.2 创建分组向量与DGEList对象

edgeR分析的关键对象是DGEList。它把原始counts和分组信息整合到一起,便于后续标准化、离散度估计和检验。

典型逻辑如下:

  1. 创建group向量,标识control和case。
  2. 使用rep()生成组别信息。
  3. DGEList()构建对象。

这一步的本质,是把“表达矩阵”升级成“可分析对象”。
没有这一步,后面的edgeR函数无法正常工作。

3.3 过滤低表达并做标准化

接下来要做两件事。第一,过滤低表达基因。第二,使用calcNormFactors()计算标准化因子。edgeR默认使用TMM方法进行归一化,主要是校正样本间文库大小和组成偏差。

标准化后,建议查看因子结果。因为如果某个样本的标准化因子明显异常,往往意味着:

  • 样本质量存在问题。
  • 文库构成差异过大。
  • 需要回到原始数据排查。

标准化不是形式步骤,而是决定比较是否公平。

4. 结果怎么看,哪些指标最重要

4.1 离散度和显著性检验

edgeR的统计核心之一是离散度估计。课程中提到使用estimateDispersion或类似函数思路来计算离散度,然后进行差异检验,最终获得P值。

对初学者来说,可以这样理解:

  • 离散度反映样本间波动。
  • 波动越大,检验越保守。
  • 波动越小,越容易检出差异。

edgeR基于负二项分布模型,适合处理RNA-seq中常见的过度离散问题。相比简单的t检验,它更贴合转录组数据特征。

4.2 topTags输出的是完整差异结果

差异检验后,通常使用topTags()查看结果。通过设置n参数,可以输出全部基因,而不是只看前几条。

结果中常见字段包括:

  • 基因ID。
  • logFC。
  • logCPM。
  • PValue。
  • FDR。

其中logFC和FDR是筛选差异基因最常用的两个指标。

4.3 logFC和FDR怎么解释

logFC表示倍数变化的对数值。
如果logFC大于0,说明目标组上调。
如果logFC小于0,说明目标组下调。

FDR是多重假设检验校正后的结果,通常比原始P值更适合用于筛选。因为转录组一次会检测上万基因,直接看P值容易产生假阳性。

实践中常见阈值包括:

  • PValue < 0.05。
  • |logFC| > 2。
  • 或结合FDR进一步收紧。

真正有意义的差异基因,必须同时满足统计学和生物学幅度。

5. 结果筛选、保存与可视化

5.1 筛选上下调基因

课程中给出的筛选逻辑很明确:先按P值和fold change筛选,再区分上下调。常见条件为:

  • p值小于0.05。
  • |fold change|大于2。

随后可用ifelse()判断表达方向,并添加Regulation字段,标记为up或down。这样处理后,结果表更适合后续作图和富集分析。

这一步的价值在于把统计结果转成可读结果。
科研里,能直接解释的表格比原始输出更重要。

5.2 导出结果并补充基因名

分析完成后,通常要把结果转换成数据框,再补充基因名,最后写入文件。这样方便:

  • 下游富集分析。
  • 火山图和热图绘制。
  • 论文附表整理。
  • 与实验验证结果对照。

建议保存时同时保留完整结果和筛选结果。前者用于追溯,后者用于展示。

5.3 火山图和热图是最常见的输出

edgeR结果出来后,最常见的可视化有两类。

  1. 火山图。
    横坐标常用-log10(FDR),纵坐标用logFC
    上调、下调和未达阈值的基因可以用不同颜色区分。

  2. 热图。
    通常提取显著差异基因表达矩阵,使用热图展示样本间表达模式。
    低表达可设为蓝色,高表达设为红色。

火山图看整体,热图看分组模式。两者结合最有说服力。

6. edgeR与DESeq2怎么选

6.1 没有绝对优劣,关键看场景

课程中明确提到,edgeR和DESeq2没有绝对优劣。两者都属于主流RNA-seq差异分析方法。很多研究中,两者结果重叠度可达到80%以上。

如果你的目标是建立规范流程,理解统计逻辑,edgeR非常适合。
如果你需要更偏向另一种建模框架,也可以用DESeq2。
重点不是追求“唯一正确”,而是保证方法适配数据。

6.2 初学者最容易犯的错误

常见问题主要有四类:

  • 把TPM/FPKM当作counts输入。
  • 分组方向设置错误。
  • 过滤低表达基因不充分。
  • 只看P值,不看FDR和logFC。

这些错误会让结果看起来“有很多差异基因”,但其实可信度不高。
所以初学者最需要做的,不是堆代码,而是理解每一步的统计意义。

7. 从代码到实战,如何更快上手

7.1 建议把edgeR流程整理成模板

对于医学生、医生和科研人员,最有效的学习方式不是死记函数,而是把流程整理成模板。你可以固定以下模块:

  1. 读取数据。
  2. 自动分组。
  3. 构建DGEList。
  4. 过滤低表达。
  5. 标准化。
  6. 估计离散度。
  7. 差异检验。
  8. 导出和作图。

这样以后只需替换样本名和条件,就能重复分析新数据。
模板化,是提高生信效率的核心能力。

7.2 用解螺旋课程和工具减少试错

如果你已经有原始数据,但不确定怎么分组、怎么写edgeR差异分析代码,或者不知道结果该怎么筛选和画图,可以直接借助解螺旋的系统课程和实战资源。它的价值在于把零散知识串成完整流程,帮助你少走弯路。

对想快速做出可复现结果的人来说,解螺旋可以把“会看代码”变成“会做分析”。

总结Conclusion

edgeR差异分析的核心并不神秘。它本质上是一个从原始counts出发,经过分组、过滤、标准化、离散度估计和显著性检验,最终得到可信差异基因的标准流程。只要理解输入数据、分组方向、低表达过滤和FDR筛选这几个关键点,零基础也能逐步上手。

如果你正在学习RNA-seq分析,建议把本文当作入门框架,再结合实际数据反复练习。想进一步提高效率、少踩坑,可以直接进入解螺旋 ,用更系统的课程和实战工具,把edgeR差异分析真正做规范、做完整、做可复现。

解螺旋科研助手企业微信二维码,扫码添加免费领取科研资料礼包,包含AI科研提效、SCI投稿技巧、国自然基金、医学科研绘图、科研软件工具等实用资料