4  生物量分析

4.1 微生物绝对丰度

本章节复现论文 Fig. 3A-C 的上半部分,分析不同处理和生长阶段下土壤微生物的总绝对丰度(QMP)变化。

分析方法:将 ASV 水平的定量数据求和,得到每个样本的总细菌绝对丰度(copies/g),取 log10 后进行组间比较。使用 Dunn 检验进行非参数多重比较。

library(rstatix)
library(ggplot2)
library(agricolae)
taxonomy <- c('Kingdom', 'Phylum', 'Class', 'Order', 'Family', 'Genus', 'Species')
treatment <- c('Ctrl', '-N', '-P', '-K')
stage <- c('D0', 'D1', 'D4', 'D7', 'D14', 'D28', 'D42', 'D60', 'D72')

qmp_taxonomy_data <- read.csv('qmp_taxonomy_data.csv', check.names = FALSE)

metadata <- read.csv('metadata.csv', row.names = 1)
metadata$Treatment <- factor(metadata$Treatment, levels = treatment)
metadata$Stage <- factor(metadata$Stage, levels = stage)

# calculate total absolute abundance
absolute_df <- data.frame(Value = colSums(qmp_taxonomy_data[!names(qmp_taxonomy_data) %in% taxonomy]))

4.1.1 散装土壤 (BS)

Bulk Soil 的绝对菌量在各处理间差异相对有限,说明土壤背景微生物群落较为稳定,长期施肥处理未显著改变总菌量。

group_bs <- metadata[metadata$Compartment == 'BS', ]
tmp_df <- merge(group_bs, absolute_df, by = 'row.names', all.x = TRUE)

dunn_res <- dunn_test(tmp_df, Value ~ Treatment, p.adjust.method = 'fdr')
dunn_res_df <- data.frame(dunn_res[-1])

for (n in 1:nrow(dunn_res_df)) {
    if (dunn_res_df$p.adj[n] <= 0.001)
        dunn_res_df$p.adj.signif[n] <- '***'
    else if (dunn_res_df$p.adj[n] <= 0.01)
        dunn_res_df$p.adj.signif[n] <- '**'
    else if (dunn_res_df$p.adj[n] <= 0.05)
        dunn_res_df$p.adj.signif[n] <- '*'
    else
        dunn_res_df$p.adj.signif[n] <- ''
}

Label <- c('', dunn_res_df$p.adj.signif[1:3])

tmp_df$Value <- log10(tmp_df$Value)
ggplot(tmp_df, aes(x = Treatment, y = Value, color = Treatment)) +
    geom_boxplot(width = 0.68, outlier.shape = NA) +
    geom_point(size = 1) +
    labs(x = '', y = 'Absolute abundance (log10copies g-1)') +
    facet_grid(~ Compartment, scales = 'free_x', switch = 'x') +
    theme_bw() +
    theme(axis.text.x = element_blank(),
          axis.ticks.x = element_blank(),
          legend.position = 'none')

散装土壤微生物绝对丰度

4.1.2 根际 (R)

根际绝对菌量随发育阶段显著上升,尤其在 D28-D72 时期更为明显。这反映了根系生长和根系分泌物可能增强了微生物定殖。不同营养缺失处理改变了菌量的上升轨迹。

group_r <- metadata[metadata$Compartment == 'R', ]
tmp_df <- merge(group_r, absolute_df, by = 'row.names', all.x = TRUE)

dunn_res <- dunn_test(tmp_df, Value ~ Stage, p.adjust.method = 'fdr')
dunn_res_df <- data.frame(dunn_res[-1])

mean_df <- aggregate(tmp_df['Value'], by = list(Group = tmp_df$Stage), FUN = mean)
n <- nrow(mean_df)
pvalue_df <- matrix(1, ncol = n, nrow = n)
k <- 0
for (i in 1:(n - 1)) {
    for (z in (i + 1):n) {
        k <- k + 1
        pvalue_df[i, z] <- dunn_res_df$p.adj[k]
        pvalue_df[z, i] <- dunn_res_df$p.adj[k]
    }
}

sig_df <- orderPvalue(mean_df$Group, mean_df$Value, 0.05, pvalue_df, console = TRUE)
sig_df <- sig_df[stage[-1], ]

tmp_df$Value <- log10(tmp_df$Value)
ggplot(tmp_df, aes(x = Treatment, y = Value, color = Treatment)) +
    geom_boxplot(width = 0.68, outlier.shape = NA) +
    geom_point(size = 0.5) +
    labs(x = '', y = 'Absolute abundance (log10copies g-1)') +
    facet_grid(~ Stage, scales = 'free_x', switch = 'x') +
    theme_bw() +
    theme(axis.text.x = element_blank(),
          axis.ticks.x = element_blank(),
          legend.key.size = unit(0.25, 'cm'),
          legend.position = 'none')

根际微生物绝对丰度随时间变化

4.1.3 根表 (RS)

根表的绝对菌量变化模式与根际类似,但受宿主筛选作用更强,不同处理间的差异在后期更加明显。

group_rs <- metadata[metadata$Compartment == 'RS', ]
tmp_df <- merge(group_rs, absolute_df, by = 'row.names', all.x = TRUE)

dunn_res <- dunn_test(tmp_df, Value ~ Stage, p.adjust.method = 'fdr')
dunn_res_df <- data.frame(dunn_res[-1])

mean_df <- aggregate(tmp_df['Value'], by = list(Group = tmp_df$Stage), FUN = mean)
n <- nrow(mean_df)
pvalue_df <- matrix(1, ncol = n, nrow = n)
k <- 0
for (i in 1:(n - 1)) {
    for (z in (i + 1):n) {
        k <- k + 1
        pvalue_df[i, z] <- dunn_res_df$p.adj[k]
        pvalue_df[z, i] <- dunn_res_df$p.adj[k]
    }
}

sig_df <- orderPvalue(mean_df$Group, mean_df$Value, 0.05, pvalue_df, console = TRUE)
sig_df <- sig_df[stage[-1], ]

tmp_df$Value <- log10(tmp_df$Value)
ggplot(tmp_df, aes(x = Treatment, y = Value, color = Treatment)) +
    geom_boxplot(width = 0.68, outlier.shape = NA) +
    geom_point(size = 0.5) +
    labs(x = '', y = 'Absolute abundance (log10copies g-1)') +
    facet_grid(~ Stage, scales = 'free_x', switch = 'x') +
    theme_bw() +
    theme(axis.text.x = element_blank(),
          axis.ticks.x = element_blank(),
          legend.key.size = unit(0.25, 'cm'),
          legend.position = 'none')

根表微生物绝对丰度随时间变化

4.1.4 结果解读

生态位 绝对菌量趋势 处理间差异
BS(散装土壤) 相对稳定 差异有限,土壤背景群落缓冲能力强
R(根际) 随发育阶段显著上升 不同营养缺失改变了上升轨迹
RS(根表) 后期上升更明显 宿主筛选作用下差异更显著

核心结论:根系生长和根系分泌物驱动了根际和根内微生物的定殖,不平衡施肥通过改变菌群组成和菌量轨迹影响大豆-微生物互作。