You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

DESeq2中log2FoldChange分组逻辑及差异丰度组归属问询

DESeq2差异丰度分析的分组归属问题

核心疑问

我正在对比Alfisol和Ultisol两个位点的微生物属差异丰度,发现Penicillium的log2FoldChange为-20,说明该属在其中一个位点的丰度是另一个的1/2^20。现在需要明确:

  • DESeq2如何定义上调/下调类群对应的位点——Penicillium是在Ultisol还是Alfisol中下调?
  • 为何相关文献的差异丰度图通常仅标注分组名称,未明确归属?

解答

一、log2FoldChange的分组判定逻辑

DESeq2计算log2FoldChange的核心是后组 ÷ 前组的对数,具体由你指定的分组因子顺序决定:

  1. 你的代码中用了siteds <- phyloseq_to_deseq2(Soil, ~ Site),DESeq2默认会把Site因子的水平按字母顺序排序,这里Alfisol在前,Ultisol在后。
  2. 因此,log2FoldChange = log₂(Ultisol位点丰度 / Alfisol位点丰度)
  3. Penicillium的log2FoldChange为-20,意味着Ultisol丰度 / Alfisol丰度 = 2^(-20),也就是该属在Ultisol中的丰度仅为Alfisol的1/2^20,属于在Ultisol中显著下调(以Alfisol为参照)。

你可以用以下代码直接确认分组顺序:

# 查看Site因子的水平排序
levels(Soil@sam_data$Site)

二、文献图未明确归属的原因

  • 领域共识:微生物组研究中,同行默认知晓DESeq2/edgeR等工具的默认排序规则(字母序或输入顺序),论文方法部分会明确写出对比的分组方向(比如“本研究对比Ultisol与Alfisol的微生物组差异”),无需在图中重复标注。
  • 图表简洁性:差异丰度图的核心是展示差异类群的变化趋势,过多标注会干扰视觉重点,保持简洁是常规做法。
  • 自定义优化:如果想让图表更清晰,可以修改ggplot的x轴标题,比如改成x = "log2(Ultisol/Alfisol)",直接说明计算逻辑。

分析代码

siteds <- phyloseq_to_deseq2(Soil, ~ Site)

gm_mean = function(x, na.rm=TRUE){ exp(sum(log(x[x > 0]), na.rm=na.rm) / length(x))}

geoMeans = apply(counts(siteds), 1, gm_mean)
siteds = estimateSizeFactors(siteds, type="ratio", geoMeans = geoMeans) # 可选类型为"poscounts"和"iterate"
siteds = estimateDispersions(siteds, fitType = "local")

# 拟合模型
siteds = DESeq(siteds, test="Wald", fitType="parametric")

# 提取结果并筛选显著差异类群
res = results(siteds)
res = res[order(res$padj, na.last=NA), ]
alpha = 0.05
sigtab1 = res[(res$padj < alpha), ]
sigtab1 = cbind(as(sigtab1, "data.frame"), as(tax_table(Soil)[rownames(sigtab1), ], "matrix"))
head(sigtab1)

# 绘制差异丰度点图
ggplot(sigtab1, aes(y=genus, x=log2FoldChange, color=phylum)) + 
  labs(y = "属", x = "位点 (log2FoldChange)") +
  geom_vline(xintercept = 0.0, color = "gray", size = 0.5) +
  geom_point(size=4) + 
  labs(color = "门")+
  theme(axis.text.x = element_text(angle = 0, hjust = 0, vjust=0.5),
    axis.text.y = element_text(face = "italic"),
    legend.text = element_text(face = "italic"))

差异丰度图表说明

  • 差异丰度点图:以属为纵轴(斜体显示),log2FoldChange为横轴,不同颜色代表不同的门,灰色竖线为0值参考线,展示各显著差异属的变化幅度。
  • 差异丰度表格:包含各显著差异属的log2FoldChange、校正后P值(padj)等统计指标,以及对应的分类学层级信息。

内容的提问来源于stack exchange,提问作者Jjacka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 02:07:11