問(wèn)題描述
使用曼特爾檢驗(yàn)(mantel test)來(lái)實(shí)現(xiàn)微生物組高維數(shù)據(jù)相關(guān)性分析
實(shí)現(xiàn)方法
R語(yǔ)言Vegan軟件包
實(shí)例操作
這里選擇宏基因組數(shù)據(jù)進(jìn)行分析,包括兩個(gè)類群的物種豐度數(shù)據(jù)(MT1和MT2)和兩個(gè)基因(Gene1和Gene2)的豐度數(shù)據(jù)。目的是看兩個(gè)類群的微生物與目標(biāo)基因之間存在什么關(guān)聯(lián)(正負(fù)相關(guān)或不相關(guān))。
數(shù)據(jù)一覽




代碼計(jì)算
基于vegan軟件包mantel()函數(shù)的mantel test分析流程相當(dāng)簡(jiǎn)單,代碼如下:
#加載包
library(vegan)
#設(shè)置文件輸入路徑
setwd("My_direction")
#輸入數(shù)據(jù)
MT1 <- read.csv("MT1.csv", header = T, row.names = 1, check.names = F)
MT2 <- read.csv("MT2.csv", header = T, row.names = 1, check.names = F)
Gene1 <- read.csv("Gene1.csv", header = T, row.names = 1, check.names = F)
Gene2 <- read.csv("Gene2.csv", header = T, row.names = 1, check.names = F)
#計(jì)算輸入數(shù)據(jù)的距離矩陣
MT1_DM <- vegdist(MT1, method = "bray")
MT2_DM <- vegdist(MT2, method = "bray")
Gene1_DM <- vegdist(Gene1, method = "euclidean")
Gene2_DM <- vegdist(Gene2, method = "euclidean")
#這里,對(duì)于多維數(shù)據(jù)的距離矩陣計(jì)算,使用bray-curtis算法;對(duì)于單變量(一維)數(shù)據(jù),使用euclidean算法
#執(zhí)行mantel test檢驗(yàn)
set.seed(520) #設(shè)置隨機(jī)種子,保證相同數(shù)據(jù)每次執(zhí)行結(jié)果都一樣
mantel(MT1_DM, Gene1_DM, method="spearman", permutations=9999) #計(jì)算MT1類群與Gene1的相關(guān)性
##這里,置換檢驗(yàn)9999次,可更改以比較結(jié)果差異
輸出結(jié)果
MT1類群與Gene1之間關(guān)系為顯著正相關(guān)

一些說(shuō)明及疑問(wèn)
1,由于我使用mantel test檢驗(yàn)的數(shù)據(jù)比較少,所以我是通過(guò)更改mantel()函數(shù)中的距離矩陣來(lái)實(shí)現(xiàn)不同變量間的分析,因此這些代碼不能一次輸出所有想要的結(jié)果,只能輸出一次記錄一次;
2,關(guān)于mantel test分析,我從沒(méi)有發(fā)現(xiàn)過(guò)負(fù)顯著相關(guān)的結(jié)果(以p = 0.05為分割),不論是我自己的分析或者是別人已發(fā)表的文章都是如此,這是相當(dāng)令人不解的。如果你發(fā)現(xiàn)了負(fù)顯著相關(guān),煩請(qǐng)留言;
3,假設(shè)你有一組數(shù)據(jù),包含一個(gè)類群的微生物及一個(gè)基因,且這些類群微生物的單個(gè)微生物相對(duì)豐度對(duì)這個(gè)基因都是顯著負(fù)相關(guān)關(guān)系,這時(shí)如果你執(zhí)行這個(gè)類群與基因的mantel test,你會(huì)發(fā)現(xiàn)呈現(xiàn)出一個(gè)要么負(fù)的不顯著、要么正的不顯著、要么正的顯著的相關(guān)性,但不會(huì)出現(xiàn)負(fù)顯著相關(guān)的結(jié)果。這也讓人不解。我的理解是,mantel test需要進(jìn)行一次距離矩陣的計(jì)算,再進(jìn)行相關(guān)性分析,這樣相當(dāng)于對(duì)數(shù)據(jù)進(jìn)行的二次處理了,故其結(jié)論是比不上直接計(jì)算單個(gè)微生物與基因關(guān)系妥當(dāng)?shù)?/strong>(即這些微生物與基因之間的關(guān)系是負(fù)相關(guān),而不是正相關(guān)或不相關(guān))。