当前位置:主页 > 医药资讯 > 文章内容

转录组分析技术进行差异表达分析时,如何筛选差异基因?

作者:中华医学网发布时间:2025-06-10 09:21浏览:

在转录组分析中进行差异表达分析时,筛选差异基因(Differentially Expressed Genes, DEGs)需要结合统计检验生物学意义,通常通过以下关键步骤实现。以下是具体方法和常用工具的说明:

一、数据预处理与标准化

在筛选差异基因前,需对原始测序数据进行预处理,确保数据可比性:
 
  1. 数据过滤
    • 去除低质量 reads、接头污染和核糖体 RNA(rRNA)。
    • 对 RNA-seq 数据,通过比对(如 STAR、HISAT2)或定量工具(如 Salmon、Kallisto)获得基因表达量(如 FPKM、TPM 或原始计数)。
  2. 标准化处理
    • 消除技术误差(如测序深度、样本间差异):
      • 原始计数数据:使用DESeq2edgeR中的标准化方法(如median-of-ratiosTMM)。
      • 表达量数据(如 TPM):可直接进行对数转换(如log2(TPM+1))。

二、差异表达分析的统计检验

通过统计模型识别组间表达量显著差异的基因,常用工具和方法包括:

1. 基于原始计数数据的工具

适用于 RNA-seq 的计数数据(如 HTSeq-count、Salmon 的原始计数):
 
  • DESeq2(基于负二项分布模型)
    • 步骤:
      1. 构建实验设计公式(如~group表示分组差异)。
      2. 拟合数据并估计离散度。
      3. 进行 Wald 检验或 likelihood ratio test(LRT)。
  • edgeR(基于负二项分布,使用准似然法或精确检验)
    • 步骤:
      1. 通过DGEList对象导入计数数据。
      2. 标准化(TMM 方法)。
      3. 拟合广义线性模型(GLM)并进行glmFitglmContrasts
      4. 使用glmTreatglmLRT识别差异基因。
  • limma-voom(适用于少量样本,结合线性模型和经验贝叶斯方法)
    • 步骤:
      1. 将计数数据转换为对数 CPM(counts per million)并标准化。
      2. 使用voom函数构建权重矩阵。
      3. 通过limma的线性模型和eBayes检验识别差异基因。

2. 基于表达量数据的工具

适用于微阵列数据或已定量的 RNA-seq 表达量(如 TPM/FPKM):
 
  • t 检验 / 方差分析(ANOVA)
    • 简单组间比较(如两组样本用 t 检验,多组用 ANOVA),需满足正态分布假设,可用limma包实现。
  • 倍数变化(Fold Change, FC)筛选
    • 直接计算两组均值的比值(如 FC > 2 或 FC < 0.5),但需结合统计显著性(如 p 值)。

三、差异基因筛选的关键阈值

筛选差异基因需综合以下两个指标:
 
  1. 统计显著性(p 值或调整后 p 值)
    • p 值校正:为控制多重检验误差(如成千上万基因同时检验),需将原始 p 值转换为调整后 p 值(如 FDR 或 q 值)。
    • 常用阈值:padj < 0.05(或q值 < 0.05)。
  2. 生物学意义(表达量变化幅度)
    • 倍数变化(FC):通常要求|log2(FC)| ≥ 1(即 FC ≥ 2 或 FC ≤ 0.5),但需根据研究领域调整(如某些低表达基因可能允许更低 FC)。

四、可视化与验证

筛选后需通过可视化验证结果可靠性,并排除假阳性:
 
  1. 火山图(Volcano Plot)
    • X 轴:log2 (FC);Y 轴:-log10 (p 值)。
    • 用颜色标记显著差异基因(如 padj <0.05 且 | log2 (FC)| ≥ 1),示例如下:
       
      image
  2. 热图(Heatmap)
    • 展示差异基因在样本中的表达模式聚类,验证组间一致性。
  3. qPCR 验证
    • 对关键基因进行定量 PCR 实验,确认测序结果的准确性。

五、常用工具与代码示例(以 DESeq2 为例)

r
# 加载包
library(DESeq2)

# 构建DESeqDataSet对象(假设counts为原始计数矩阵,group为分组信息)
dds <- DESeqDataSetFromMatrix(countData = counts, 
                             colData = colData, 
                             design = ~ group)

# 差异表达分析
dds <- DESeq(dds)
res <- results(dds, contrast = c("group", "处理组", "对照组"))

# 筛选差异基因(阈值:padj < 0.05,|log2FC| ≥ 1)
resSig <- subset(res, padj < 0.05 & abs(log2FoldChange)1)

# 结果排序
resOrdered <- resSig[order(resSig$padj), ]
 

六、注意事项

  1. 样本量与重复
    • 生物学重复(≥3)可提高统计效力,减少技术变异影响。
  2. 数据分布假设
    • RNA-seq 计数数据通常服从负二项分布,微阵列数据可能需正态转换。
  3. 阈值灵活性
    • 低表达基因(如 TPM < 1)可排除,避免噪声;或使用apeglm包进行效应值收缩(shrinkage)提高稳定性。
  4. 功能富集分析
    • 筛选后需对差异基因进行 GO/KEGG 富集分析,挖掘其生物学功能(如 clusterProfiler 包)。
 
通过以上步骤,可系统地筛选出具有统计学意义和生物学相关性的差异基因,为后续机制研究(如基因互作网络、通路分析)奠定基础。