16S测序分析(二)菌群多样性分析

导读

多样性分析是16S测序分析中常见的分析方法。本文旨在向初学者介绍多样性分析中alpha多样性和beta多样性的由来、概念、计算,以及展示“如何用R语言实现alpha多样性和beta多样性的计算和可视化”的工作流程。

一、概念介绍

Alpha多样性、beta多样性和gamma多样性的概念由美国杰出的生态学家Robert Harding Whittaker提出。Whittaker将一个环境中总的物种多样性命名为gamma多样性。Gamma多样性由alpha多样性和beta多样性共同决定。Alpha多样性指在环境中的一个区域内的平均物种多样性。Beta多样性指环境中不同区域之间的差异。

二、Alpha多样性指数

1. Shannon指数:

Shannon指数最初是由Claude Shannon提出用来计算字符串文本信息熵的指标,后来逐渐发展成生态学研究中最常用的多样性指数。Shannon指数不只考虑物种丰富度(Richness,样本中物种数),而且同时考虑物种的均匀度(Evenness,平均程度),所以它是反应群落结构的综合指标。
计算方法:


公式

Pi:第i个物种的个体数占样本中总个体数的比例
R:样本中的总物种数
样本的Shannon指数越高,则其物种多样性也越高。

2. Simpson指数:

Simpson指数是由Edward H. Simpson在1949年提出评价生物多样性的另一种常用指标。它也是既考虑样本中的物种丰富度,又考虑物种均匀度的综合指标。
计算方法:


公式

Pi:第i个物种的个体数占样本中总个体数的比例
R:样本中的总物种数
Simpson指数的取值范围在0和1之间。样本的Simpson指数越高,则其物种多样性也越高。

三、Beta多样性的计算

Beta多样性专用于不同样本间的比较,它不能直接通过某一个样本的物种丰富度和均匀度计算出该样本的多样性度量值。Beta多样性是利用不同样本间的丰度变化或进化关系来计算样本间距离,从而反映样本间是否具有显著的微生物群落差异。
计算beta多样性的方法有很多:有最为常用的bray curtis距离、Jaccard距离还有欧式距离,他们考虑的是样本间物种丰度(有无)和均度(相对丰度);另外还有Unifrac距离法,它是根据系统发生树进行比较。

四、准备工作

软件准备(window环境):

1. R
地址:https://www.r-project.org/
版本:3.4.1

2. R包:openxlsx
功能:打开Excel文件
版本:4.1

3. R包:vegan
功能:包内含有多种生态学分析必备的函数
版本:2.4

4. Excel
功能:数据处理

数据准备:

标准化菌属相对丰度表。获取方法请参考16S测序分析系列(一)菌属丰度表获取

五、Alpha多样性的计算和可视化

install.packages("openxlsx")  ##  下载安装openxlsx包
install.packages("vegan")  ##  下载安装vegan包

setwd("C:/mywd")  ##  设置工作目录为C盘mywd文件夹
getwd()  ##  进入工作目录

library(openxlsx)  ##  调用openxlsx包
library(vegan)  ##  调用vegan包

workbook <- "C:/mywd/data.xlsx"
##  读取并存储data.xlsx的内容到workbook

说明:data.xlsx必须是标准化后的菌属相对丰度表,格式如下:第一行是菌属名称,其余每行代表一个样本,每列代表一类菌属的在每一个样本中的相对丰度。

图片.png
mydataframe <- read.xlsx(workbook, 1)
##  读取并存储workbook中的第一个sheet的内容到mydataframe

alpha_shannon <- diversity(mydataframe, "shannon") 
##  用vegan包中的diversity函数计算shannon多样性

write.xlsx(alpha_shannon, "data_diversity.xlsx")
## 获得shannon多样性指标的计算结果,即data_diversity.xlsx
## 保存alpha_shannon到当前的data_diversity.xlsx中(可自动创建)

数据处理:打开data_diversity.xlsx文件如“1”。其中第一个样本的shannon index是shannon index 1,以此类推。然后我们把这些shannon index加上变量名和分组信息(将其分为A,B两组),得到“2”。利用R或者Excel可以对“2”中的数据进行分组T检验,方法很简单,所以这里不再加以展示。接下来我将利用“2”制作boxplot来更直观的观察两组的shannon index是否有明显的差异。

图片.png
workbook2 <- "C:/mywd/data_diversity.xlsx"
##  读取并存储data_diversity.xlsx的内容到workbook2

mydataframe2 <- read.xlsx(workbook2, 1)
##  读取并存储workbook2中的第一个sheet的内容到mydataframe2

boxplot(mydataframe2$Diversity~ mydataframe2$Group, main="Shannon index", col=c("green", "red"))
## mian:命名;col:上色
## 可视化结果如下。

图片.png

由图可见,A组的多样性明显高于B组。

六、Beta多样性的计算和可视化

setwd("C:/mywd")
getwd()

library(openxlsx)
library(vegan)

workbook <- "C:/mywd/data.xlsx"
mydataframe <- read.xlsx(workbook, 1)
ord <- cmdscale(vegdist(mydataframe, method="bray"))

write.xlsx(ord, "data_ord.xlsx")

数据处理:data_ord.xlsx中保存的是每个样本的二维坐标信息,它是进行此分析的最关键的文件。用windows打开data_ord.xlsx文件,格式如“1”。第一行是变量名,其余每行是每个样本的坐标信息。添加分组信息,如下图“2”。为了方便作图,我这里直接使用颜色”Color”代替组别”Group”,即red代替Group A,blue代替Group B。接下来利用“2”中的样本坐标信息进行绘图。

图片.png
workbook3 <- "C:/mywd/data_ord.xlsx"
mydataframe3 <- read.xlsx(workbook3, 1)

plot(x=mydataframe3$V1,y=mydataframe3$V2,xlab="mds1",ylab="mds2",main="Beta diversity ( Bray Curtis )" , pch=19, col=mydataframe3$Color)
##  x=mydataframe3$V1,y=mydataframe3$V2:以V1为横坐标,V2为纵坐标
##  xlab:设置坐标名称
##  main:设置图片名称
##  pch=19:用点表示样本
##  col=mydataframe3$Color:根据Color中的信息对点上色

legend("topright", pch=c(19, 19), col=c("red", "blue"), legend=c("Group A", "Group B"))
##  "topright":设置图注在右上角
##  pch=c(19, 19):绘制两个点代表两个组
##  col:给点上色
##  legend:给点命名

图片.png

结束语

到这里就完成了beta多样性的计算和可视化的所有工作。从图中可以看出A和B两个组的样本的肠道菌群有明显的差异,所以可以推测“分组变量”很可能和肠道菌群有联系。要想知道具体是“哪些菌”对此联系做了贡献,还需要进行更深层次的分析。本文到此就结束了,如有疑问欢迎留言交流。下次将为大家推出“如何从肠道菌群中寻找你感兴趣的细菌?”来介绍寻找“哪些菌”的方法。

相关阅读:
16S测序分析(一)菌属丰度表获取
16S测序分析(二)菌群多样性分析
16S测序分析(三)用LEfSe寻找组间差异细菌
16S测序分析(四)用MaAsLin寻找组间差异细菌
16S测序分析(五)用RandomForest寻找关键细菌
16S测序分析(六)用PICRUSt预测菌群KEGG代谢通路

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,185评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,445评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,684评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,564评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,681评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,874评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,025评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,761评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,217评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,545评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,694评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,351评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,988评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,778评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,007评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,427评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,580评论 2 349

推荐阅读更多精彩内容