2021.07.17【R语言】丨扩增子课程学习——α多样性简介

22 篇文章 6 订阅
9 篇文章 8 订阅

α多样性简介

α多样性描述的是样本内的多样性,主要有两个维度
种类数量(丰富度)
种类数量的均匀度
种类数量越多,种类间的分布越均衡,α多样性指数越高
Observed species指数:指样本中实际测定得到的OTU数量,亨利OTU丰富度指数
chaol指数:预测值
物种均一度:用来描述物种中的个体所占比例均匀度
Shannon指数和Simpson指数:考虑到了样品中的分类总数和每个分类所占的逼利均匀度
Faith‘s Phylogenetic Diversity指数(FPD):强调遗传基础和序列的丰富度

R语言的安装

安装地址:https://www.r-project.org/
安装本地工作台:Rstudio:https://www.rstudio.com/ (可视化分析)
ps:Rstudio需要对应R版本

R依赖包及需要命令

install.packages(“ggplot2”)
install.packages(“ggpubr”)
install.packages(“agricolae”)
install.packages(“vegan”)
#安装需要的包,如已安装,可省略这一步
library(ggplot2)
library(ggpubr)
library(agricolae)
library(vegan)
#加载需要的分析包,如果还没有安装这些包,请使用

数据导入

otu=read.table(‘E:/lesson1/feature-table.taxonomy.txt’,row.names = 1,skip=1,header=T,comment.char=’’,sep=’\t’)
#‘E:/lesson1/feature-table.taxonomy.txt’为文件路径,注意斜线方向
#row.names = 1指定第一列为行名
#skip=1跳过第一行不读
#header=T指定第一个有效行为列名
#sep=’\t’表示指定制表符为分隔符
#comment.char=’'表示设置注释符号为空字符‘’,这样#后面的内容就不会被省略
OTU表格
在这里插入图片描述

数据导入注意事项

明确数据分隔符:逗号‘,’,制表符‘\t’,空格‘’等。PS:推荐使用Notepad+
注意注释符号‘#’,‘#’默认情况下,注释符号后面的内容将会被忽略
数据里慎用特殊字符:除阿拉伯数字,英文字母,下划线之外的符号要慎用,尽量不要在数据里出现特殊符号,以免麻烦

数据塑形

otu=otu[,-ncol(otu)]
#删除多余的列
otu=t(otu)
#转置

Alpha多样性指数的计算-计算和储存

shannon=diversity(otu,“shannon”)
#计算香农指数
simpson=diversity(otu,“simpson”)
#计算辛普森指数
alpha=data.frame(shannon,simpson)
#合并数据
write.table(alpha,‘E:/lesson1/alpha-summary.tsv’,sep = ‘\t’,quote=F)
#储存结果
表格
在这里插入图片描述

数据可视化

可视化-数据导入

map<-read.table(‘E:/lesson1/mapping_file.txt’,row.names = 1,header = T,sep=’\t’,comment.char=’’,check.names=F)
#读取分组表格
#row.names = 1表示指定第一列为行名
#header = T表示指定第一个有效行为列名
#sep=’\t’表示指定制表符为分隔符
#comment.char=’'表示设置注释符号为空字符‘’,这样#后面的内容就不会被省略
#check.names=F表示读取过程中不对行名和列名做任何修改
group<-map[‘Group1’]
#提取需要的分组,'Group1’为表中分组列名
alpha<-read.table(‘E:/lesson1/alpha-summary.tsv’,header = T,row.names = 1,sep = ‘\t’)
#读取alpha多样性表

可视化-数据塑形(合并)

alpha<-alpha[match(rownames(group),rownames(alpha)),]
#重排alpha的行的顺序,使其与group的样本id(行名)顺序一致
data<-data.frame(group,alpha)
#合并两个表格
表格
在这里插入图片描述

可视化-箱线图

p=ggplot(data = data,aes(x=Group1,y=shannon))+geom_boxplot(fill=rainbow(7)[5])
p
#data = data指定数据表格
#x=Group1指定作为x轴的数据列名
#y=shannon指定作为y轴的数据列名
#geom_boxplot()表示画箱线图
可视化-添加星号显著性标记
mycompare=list(c(‘A’,‘B’),c(‘A’,‘C’),c(‘B’,‘C’))
#指定多重比较的分组对
p<-p+stat_compare_means(comparisons=mycompare,label = “p.signif”,method = ‘wilcox’)
p

可视化-添加字母显著性标记

anova <- aov(shannon~Group1,data = data)
plotdata<-duncan.test(anova,“Group1”,console = TRUE, alpha = 0.05)
plotdata<-data.frame(id=rownames(plotdata g r o u p s ) , p l o t d a t a groups),plotdata groups),plotdatagroups)
p<-p+geom_text(data = plotdata,aes(x=id,y=5,label=groups))
p
#添加星号,添加显著性标记的第一种方法,使用wilcoxon非参数检验方法
#添加显著性字母,添加显著性标记的第二种方法,注意此方法为参数检验,要求alpha多样性指数服从正太分布

可视化-图片的修饰

p=p+xlab("")+ylab(“Shannon”)
#更改横坐标标题和纵坐标标题
p=p+theme(text = element_text(size = 15,face = “bold”))
p
#修改字号字形

可视化-图片保存

ggsave(plot = p,‘E:/lesson1/shannon_boxplot2.png’,height = 7,width = 6,dpi = 300)
#plot = p指定刚刚叠加修饰好的p
#‘E:/practice1/shannon_boxplot.pdf’表示存储路径和文件名字,
#注意文件的后缀名,它将决定图片格式
#建议储存为pdf格式,具体原因,请关注后面的讲座

总结

Notepad+可以显示分隔符,从这个角度而言比Editplus更有用
Windows和Linux的路径表示的斜杠线是不同的,欢迎加群讨论
在这里插入图片描述

以上内容由深圳微生太公司培训学习资料整理而成。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

穆易青

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值