【R语言】使用ALDEx2对微生物组进行差异分析

发布于:2025-03-22 ⋅ 阅读:(23) ⋅ 点赞:(0)

代码展示:

library(ALDEx2)
rm(list = ls())
data(selex)
selex.sub <- selex[1:400,]
selex.sub[1:4,1:4]


input <- "Rhizosphere_Time4"

#input_list <- c("Rhizosphere_Time0","Rhizosphere_Time1","Rhizosphere_Time2","Rhizosphere_Time3","Rhizosphere_Time4")
input_list <- c("Root_Time1","Root_Time2","Root_Time3","Root_Time4")

for (input in input_list) {
otu_table <- read.delim(paste0(input,'_0.5wen.10050.asv_table.txt'), row.names = 1, sep = '\t', stringsAsFactors = FALSE, check.names = FALSE)
group <- read.delim(paste0('group2_',input,'.txt'),row.names = 1,sep = '\t') 


# 进行 Monte Carlo 采样和 CLR 转换
aldex_data <- aldex.clr(otu_table, conds = group$group1, mc.samples = 128, denom = "all")
# 进行 t 检验 和 Wilcoxon 检验
aldex_results <- aldex.ttest(aldex_data, paired = FALSE)
###----

# 显示显著 OTU
significant_OTUs <- aldex_results[aldex_results$wi.ep < 0.05, ]
head(significant_OTUs)

write.csv(significant_OTUs, paste0(input,'_sig.csv'))
}

参考:
[1]推荐使用ALDEx2的文献:
NC:基于38组数据评估14种微生物组差异分析方法—结果差异很大
原文:https://www.nature.com/articles/s41467-022-28034-z
[2]使用 ALDEx2 进行差异分析
[3]b站:微生物差异分析2:Aldex2分析
[4]https://github.com/ggloor/ALDEx2_dev