library(rstatix)
library(ggplot2)
library(agricolae)4 生物量分析
4.1 微生物绝对丰度
本章节复现论文 Fig. 3A-C 的上半部分,分析不同处理和生长阶段下土壤微生物的总绝对丰度(QMP)变化。
分析方法:将 ASV 水平的定量数据求和,得到每个样本的总细菌绝对丰度(copies/g),取 log10 后进行组间比较。使用 Dunn 检验进行非参数多重比较。
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(根表) | 后期上升更明显 | 宿主筛选作用下差异更显著 |
核心结论:根系生长和根系分泌物驱动了根际和根内微生物的定殖,不平衡施肥通过改变菌群组成和菌量轨迹影响大豆-微生物互作。