Alpha多樣性指數的計算和差異分析(差異檢驗結果可視化)

2021-02-24 Glioma

alpha多樣性是進行生物群落研究的最基礎方法,關於alpha多樣性指數的介紹和計算在網上有茫茫多的資料,本文將不會花費大量篇幅介紹這些基礎知識,而是重點帶來對alpha多樣性進行統計學分析並直接生成圖像的方法。

Alpha多樣性指數

Alpha多樣性用於分析樣品內(Within-community)的微生物群落多樣性,可以反映樣品內的微生物群落的豐富度和多樣性

alpha多樣性指數包括豐富度、多樣性、均一性等。

豐富度指數只是簡單的估算群落中物種的數量,而不考慮群落中每個物種的豐度情況,例如Chao1、ACE等。

多樣性指數同時考慮的物種在群落中是否存在即其所佔的豐度,例如Shannon、Simpson等。

均一性指數用於評估群落中各個微生物在群落中的均勻程度,所有微生物均具有相同的豐度則均一性最高,例如Pielou等。

Alpha多樣性指數計算

目前可以用來計算alpha多樣性指數的工具非常的多,可以說基本上所有的微生物群落分析工具或相關的統計學軟體都包含了alpha多樣性指數的計算功能,最不濟我們還可以根據每個指數的公式進行手動計算。

這裡推薦兩種alpha多樣性指數的計算工具:

再給大家安利一下PAST這個軟體,真是可以說是最輕便、學習成本最低、功能最多樣的統計學分析軟體了,之前做了一套PAST的完整使用教程,大家可以看一下,可以說是瞬間就可以學會。

Alpha多樣性差異檢驗

在微生物群落的alpha多樣性指數分析中,最常用的就是利用統計學分析檢驗不同組樣本間微生物群落alpha多樣性指數的差異顯著性。

兩組樣本分析

當研究的樣本只有兩組時,一般使用t-test檢驗組間差異。

數據格式為兩列,第一列為各樣本的alpha多樣性指數,第二列為樣本的分組信息。

首先導入分析數據:

alpha <- read.table("alpha_diversity.txt",header = TRUE,row.names = 1,sep = "\t")

手動定義下分組名稱的順序,以確定畫圖時各組的位置,默認畫圖時時按照組名的字母順序排列。

alpha$Group <- factor(alpha$Group,levels = c("Water","Sediment"))

使用t.test()函數進行t-test,並將結果保存。

t <- t.test(Shannon~Group,data = alpha)write.csv(t$p.value,file = "t.test.shannon.txt")

進行結果圖的繪製,結果以箱須圖展示並根據t-test的p-value標註組間差異性。

png(filename = "Shannon.png",width = 5400,height = 7200,res = 600)par(mar = c(5,8,2,2))par(xpd = TRUE)box <- boxplot(Shannon~Group,data = alpha,col = "grey80",lwd = 4,range = 0,axes = FALSE,ylim = c(5,11),xlab = "",ylab = "")axis(side = 1,at = c(1,2),labels = c("",""),lwd = 4)segments(x0 = 0.42,y0 = 4.76,x1 = 2.5,y1 = 4.76,lwd = 5)text(x = c(1,2),y = 4.52,labels = c("water","Sediment"),cex = 3,font = 2)axis(side = 2,at = c(5,6,7,8,9,10),labels = c("","","","","",""),lwd = 4)text(x = 0.37,y = c(5,6,7,8,9,10),labels = c("5","6","7","8","9","10"),adj = c(1,0.5),cex = 2.5)segments(x0 = 0.42,y0 = 4.76,x1 = 0.42,y1 = 11,lwd = 5)mtext(side = 2,text = "Shannon index",cex = 3.5,line = 4.5)segments(x0 = 1,y0 = 7.3,x1 = 1,y1 = 10.6,lwd = 5)segments(x0 = 1,y0 = 10.6,x1 = 2,y1 = 10.6,lwd = 5)segments(x0 = 2,y0 = 10.6,x1 = 2,y1 = 10,lwd = 5)text(x = 1.5,y = 10.8,labels = ifelse(t$p.value <= 0.001, "***",ifelse(t$p.value <= 0.01, "**", ifelse(t$p.value <= 0.05 ,"*"," "))),cex = 6)jitter <- jitter(c(rep(1,36),rep(2,36)))points(x = jitter,y = alpha$Shannon,col = "black",bg = "white",cex = 3,lwd= 3,pch = 21)dev.off()

代碼中各參數的意義詳見之前的推文:每天學習一點R:19.箱須圖的繪製!!

多組樣本分析

大多數情況下,我們分析的樣本可能並不是兩組而是多組,此時需要使用ANVOA來檢驗樣本間多樣性指數的差異,但是ANOVA只是用於評估所有樣本整體是否具有差異,各組樣本間的兩兩比較還需要進一步使用Turkey HSD test來進行檢驗

當樣本組數目較多時,如果使用兩兩之間連線+顯著性標註的方法來展示樣本簡單的差異會比較亂,因而通常是使用相同的字母來代表組間沒有差異的樣本,而常規的Turkey test檢驗結果只會給出p-value而並不會標出各組之間的分類結果,下面就來介紹一個基於R語言自動進行統計學檢驗並以字母標出組間差異的方法。

分析的數據格式與兩組樣本一致,均為兩列,一列為alpha多樣性指數,另一列為分組信息。

首先還是要導入數據,並手動指定分組因子的順序。

Sediment <- read.table("Sediment.txt",header = T,sep = "\t",row.names = 1)Sediment$Group <- factor(Sediment$Group,levels = c("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"))

接下來進行Turkey檢驗並保存結果。

fit <- aov(chao1~Group,data = Sediment)Tukey <- TukeyHSD(fit)write.csv(Tukey$Group,file = "Tukey.test.S.chao1.csv")

接來下進行圖像繪製,繪圖需要依賴multcomp包。

library(multcomp)png(filename = "S.chao1.png",width = 5400,height = 5400,res = 700)par(mar=c(4,6,6,2))  tuk<-glht(fit,linfct=mcp(Group="Tukey"))p1 <- plot(cld(tuk,level=0.05),col="lightgrey",cex = 4)dev.off()

當然由於這項分析的主要目的是給出統計學結果,因而對於結果可視化上就沒有進行優化,結果圖像中的各項參數相對比較難調整,建議應用該方法得到樣本組分類對應的字母編號,之後在繪製合適的箱須圖後手動添加這些字母標註。

關注公眾號「紅皇后學術」,後臺回復「alpha」獲取本文介紹的繪圖示例文件和完整代碼。


相關焦點

  • ​R語言計算群落多樣性分析中常見Alpha多樣性指數
    本篇以某16S高通量測序所得細菌群落數據為例,簡介使用R計算幾種在微生物群落分析中常用的Alpha多樣性指數。 本篇示例文件、R腳本等,已上傳至百度盤,提取碼xim2。 加載R包,讀入OTU豐度表,計算常見Alpha多樣性指數,概念可見前文。vegan包是生態群落分析的常用包,該包提供了計算多種Alpha多樣性指數的命令,加載vegan包使用。
  • 3*差異分析方法和可視化方法匯總
    生信人之前推過很多的課程,但是課程都側重於套路的復現和思路的復現,或者就是過於基礎的課程。
  • 微生物組間差異分析之LEfSe分析
    首先在多組樣本中採用 非參數因子Kruskal-Wallis秩和檢驗 檢測不同分組間豐度差異顯著的物種;也就是圖中按class1 和class2兩個大的分組,每一行都進行檢驗,初步得到差異物種,通過檢驗的打鉤進入step2檢驗;Step2.
  • 微生物群落多樣性測序與功能分析
    該指數實際反映了本次測序結果是否代表樣本的真實情況。計算公式為:C=1-n1/N  其中n1 = 只含有一條序列的OTU的數目; N = 抽樣中出現的總的序列數目。計算菌群豐度:Chao、ace;  計算菌群多樣性:Shannon、Simpson。Simpson指數值越大,說明群落多樣性越高;Shannon指數越大,說明群落多樣性越高。表中顯示前10個樣本,如果樣本大於10個,詳見結果目錄中的alpha_div.txt。Q: 能不能解釋下每個指數(如chao1、shannon)?
  • Nature子刊:教你零基礎開展微生物組數據分析和可視化
    頁面頂部是幾個下拉菜單,用戶可以在其中瀏覽不同的alpha多樣性測度或選擇分類級別以評估多樣性差異。默認情況下,使用Chao1在特徵(OTU / ASV)級別評估alpha多樣性,並使用t檢驗評估顯著性差異。頁面的下半部分包含結果的兩個圖形摘要。左側是點圖,顯示了樣本之間的alpha多樣性度量,而右側是框圖,總結了各個組的alpha多樣性度量。
  • 差異基因表達分析(上)
    細胞特異性的基因;發育階段特異性的基因;疾病狀態相關的基因;環境相關的基因;…基本方法就是以生物學意義的方式計算基因表達量,然後通過統計學分析表達量尋找具有統計學顯著性差異的基因,從而分析方法尋找差異表達基因有三種方式:第一種是計算
  • 微生物群落差異分析方法大揭秘
    β 多樣性差異分析。最多,也就是基於PICRUSt,BUGBASE這類型的軟體預測完功能後,再做一些功能差異分析。常見的差異檢驗方法,可以分為兩大類,一類是最基本的差異檢驗方法,只輸出p值,例如t檢驗,秩和檢驗等。另外一類是可以輸出p值的同時,也可以輸出R值(R值是什麼?往下看吧),如Anosim,Adonis等。下面來簡單介紹一下這些方法。
  • 品頭論足-distcomp:組間分布差異檢驗
    它較 KS 檢驗有如下特點:在不同分位數或不同取值上進行多次檢驗,可以比較不同區間的分布差異保留 KS 檢驗對分位數多重檢驗 (quantile multiple testing) 中錯誤拒絕率 (family-wise error rate, FWER) 的強控制 (意即,對於樣本所有可能取值,多重錯誤拒絕率小於給定水平。
  • 卡方檢驗結果分析專題及常見問題 - CSDN
    R語言卡方檢驗與結果可視化1,卡方分析簡介與實例2,R語言chisq.test()3,基於ggstatsplot包的可視化分析卡方分析簡介與實例:卡方檢驗是生物學中應用很廣的一種假設檢驗,可以通過對構成比,率進行檢驗,進而判斷分類資料間的偏差程度。
  • 營養與健康所等開發新的定量蛋白質組數據差異分析計算模型
    」,報導了一種新計算模型MAP,用於統計分析基於同位素標記產生的定量蛋白質組數據並鑑定其中差異表達的蛋白質。  基於同位素標記和質譜技術的定量蛋白質組實驗(如iTRAQ、TMT和SILAC等)能同時檢測數千甚至上萬個蛋白質在不同樣本之間的相對豐度或表達差異。這類數據已有的差異表達分析方法大多依賴於對並行或已有的技術重複數據進行前期比較來構建實驗的技術誤差模型,並以它為基礎檢驗每個蛋白質在被比較樣本之間表達差異的統計顯著性。該方法佔用了有限的實驗通道,也難以保證誤差模型的精確適用性。
  • 商業數據分析中如何進行差異分析
    1.商業場景 在商業分析中,經常需要通過排名展示出最熱賣的產品或產品子類。使用簡單的排名分析無法展示出產品品類(或子類)之間的銷售額差異。例如,銷售額排名第一的書架類產品與銷售額排名第三的椅子類產品的銷售額相差多少?解決此類問題需要分析產品品類之間的銷售額差異。
  • OmicShare差異分析工具上線了!
    小師妹真是痛心疾首,你們都沒有聽周老師的課啊~在第14期在線交流課堂——RNA-seq中的基因表達量計算和差異表達分析(下),周老師已經詳細地講解了edgeR等差異分析軟體的分析原理,以及為什麼差異分析輸入的數據是read count而不是RPKM。
  • 史上最詳細版16S測序結果解讀,動動手指,趕快收藏吧!
    一般情況下健康組中的微生物多樣性會高於疾病組,原因可能是疾病組中一些致病菌豐度增加,對其它菌群產生了抑制作用。此外也有一些疾病類型出現疾病組微生物多樣性高於健康組的情況,如陰道疾病。通常僅用1個指數來表徵這種差異,如chao 1指數或shannon指數或simpon指數。p值小於0.05說明組間alpha多樣性存在顯著性差異。
  • 宏基因組binning分析免費做
    、多組學……今天,我們通過1篇經典案例,具體看看「可視化」和「高級分析」這些策略在文章中的應用。策略:小提琴圖、組合圖的專業可視化 + SEM、binning的高級分析文章主要圍繞兩種藍藻聚集體開展深入的微生物多樣性分析。對於常規的分析點,大家可以查看原文。這裡我們主要分享文章的特色之處。
  • DEBKS | 專門的環狀RNA差異分析工具
    「出道即巔峰」的edgeR或DESeq被廣泛應用於高通量測序的差異表達分析,包括環狀RNA的差異表達分析。然而,做過環狀RNA差異表達分析的老師應該都清楚,反向剪切(back-splicing)的環狀RNA並不像mRNA或lncRNA那樣馴服。
  • 16s rRNA分析流程和工具的介紹
    >OTU和OTU代表序列界定,包括OTU和代表序列的挑選,物種分類分配,進化樹分析等;數據深入及可視化分析:包括alpha和beta多樣性分析,聚類和相關性分析,數據可視化等。測序深度不理想和不均勻的話會對alpha多樣性及beta多樣性均有影響。Uneven sequencing depth can affect diversity estimates in a single sample(i.e.
  • 多樣性的大一統理論
    生物多樣性是生命科學的一個中心概念,即生物有機體之間的多樣性和變異性及其所處的生態複合體;這包括物種內部、物種之間和生態系統的多樣性。近年來,人類活動對生態系統影響的廣泛關注使得生物多樣性的測量和評估日益成為重要的課題。Pielou(1975)是第一個注意到可以擴大多樣性以納入物種差異的人。
  • 要分析組間的差異,該如何選擇正確的統計方法?
    納入協變量是為了去除該類因素對主要觀察變量差異的影響。調整該類因素後,可以減少其對研究結果的幹擾,更加準確地分析兩個主要觀察變量之間的差異,保證結果的真實可靠性。 比如,分析幹預一段時間後酗酒者和非酗酒者的身體水平差異,往往會收集一系列健康相關指標,如谷丙轉氨酶、血壓、血糖、甘油三脂等。針對該研究,有2種統計分析方法:(1)分別對每一個因變量進行分析,開展多項統計檢驗;(2)聯合多個因變量,在一項檢驗中分析所有數據。第1種方法是醫學領域常用的處理方式,本文只介紹分別對每個因變量進行分析的情況。
  • 基因差異 墨西哥人具有驚人遺傳多樣性
    原標題:墨西哥人具有驚人遺傳多樣性        圖片來源:Aurora Photos/Alamy 對墨西哥人進行最大的遺傳學研究到目前為止揭示了該國極大的遺傳多樣性。在某些情況下,參與研究的受試者在遺傳學上的差異就好像彼此來自不同的大洲。
  • r 秩和檢驗 - CSDN
    可視化數據並在R中計算的Wilcoxon測試ř函數用於計算的秩檢驗為了執行兩個樣本的Wilcoxon檢驗,比較兩個獨立樣本(x&y)的均值,R函數wilcox.test()可以如下使用:wilcox.test(x, y, alternative = "two.sided")