pairwise.perm.manova:快速进行群落两两差异检测

高通量测序得到的微生物群落信息往往需要进行置换检验来检测不同分组之间微生物群落的差异,整体的差异在vegan包中有很成熟的函数解决,例如adonis,anosim等,但是两两比较,不同分组间两两比较就没有成熟的额函数解决了,这里推荐RVAideMemoire包,已经在CRAN了;

为什么这个包好用一些呢,虽然之前我也写过类似函数,但是考虑到多重检测需要做p值校正,需要对统计量进行定义,这个函数做的更好一些,所以大家来试试吧。

安装R包

# indall package for pair preaov.
## if you do not use r usually, may be by following step to install

# install.packages("BiocManager")
# library(RVAideMemoire)
# BiocManager::install("mixOmics")
# install.packages("RVAideMemoire")

# 可以不安装
# BiocManager::install("phyloseq")
# devtools::install_github("taowenmicro/ggClusterNet")

library(RVAideMemoire)
set.seed(0)

构造phyloseq对象

library(phyloseq)
metadata = read.delim("https://raw.githubusercontent.com/taowenmicro/R-_function/main/metadata.tsv",row.names = 1)
otutab = read.delim("https://raw.githubusercontent.com/taowenmicro/R-_function/main/otutab.txt", row.names=1)
taxonomy = read.table("https://raw.githubusercontent.com/taowenmicro/R-_function/main/taxonomy.txt", row.names=1)
tree = read_tree("https://raw.githubusercontent.com/taowenmicro/R-_function/main/otus.tree")

library(Biostrings)
rep = readDNAStringSet("https://raw.githubusercontent.com/taowenmicro/R-_function/main/otus.fa")

ps = phyloseq(sample_data(metadata),
otu_table(as.matrix(otutab), taxa_are_rows=TRUE),
tax_table(as.matrix(taxonomy)), phy_tree(tree),refseq(rep)
)

library(tidyverse)

取相对丰度,调用phyloseq计算距离,这个包可以计算三十多种距离

# 求取相对丰度#----
ps_rela = transform_sample_counts(ps, function(x) x / sum(x) )
unif = phyloseq::distance(ps_rela , method= "bray", type="samples")

使用距离矩阵演示两两比对方法

# 使用距离矩阵做个演示
pairwise.perm.manova(unif,metadata$Group,nperm=1000)
##
## Pairwise comparisons using permutation MANOVAs on a distance matrix
##
## data: unif by metadata$Group
## 1000 permutations
##
## KO OE
## OE 0.006 -
## WT 0.006 0.006
##
## P value adjustment method: fdr

修改参数再次运行

# 调用vegan包计算距离后再做两两比对
pairwise.perm.manova(vegan::vegdist(otutab,"bray"),metadata$Group,
nperm=1000)#
##
## Pairwise comparisons using permutation MANOVAs on a distance matrix
##
## data: vegan::vegdist(otutab, "bray") by metadata$Group
## 1000 permutations
##
## KO OE
## OE 0.008 -
## WT 0.008 0.008
##
## P value adjustment method: fdr
# 选择统计量
result <- pairwise.perm.manova(unif, metadata$Group, test = c("Pillai",
"Wilks","Hotelling-Lawley", "Roy", "Spherical"),
nperm = 1000,progress = TRUE, p.method = "fdr")

展示统计量和方差总解释率

# F 查看统计量,R查看方差总解释率
result <- pairwise.perm.manova(unif,metadata$Group,nperm=1000,F = TRUE,R2 = TRUE)
result$F.value
## KO OE
## OE 3.575085 NA
## WT 2.750151 2.109076
result$R2.value## KO OE
## OE 0.2633564 NA
## WT 0.2156956 0.1741731

根际互作生物学研究室 简介

image

根际互作生物学研究室是沈其荣教授土壤微生物与有机肥团队下的一个关注于根际互作的研究小组。本小组由袁军副教授带领,主要关注:1.植物和微生物互作在抗病过程中的作用;2 环境微生物大数据整合研究;3 环境代谢组及其与微生物过程研究体系开发和应用。团队在过去三年中在 isme J, Microbiome, PCE,SBB,Horticulture Research等期刊上发表了多篇文章。欢迎关注 微生信生物 公众号对本研究小组进行了解。

团队工作及其成果 (点击查看)

了解 交流 合作

  • 团队成员邮箱 袁军:junyuan@njau.edu.cn;文涛:2018203048@njau.edu.cn

(0)

相关推荐