「微生物组」基于LorMe包进行微生物组数据分析—微生物群落结构组成分析!!!

文摘   科学   2024-10-21 09:05   宁夏  





为了避免各位错过最新的推文教程,强烈建议大家将“科研后花园”设置为“星标”!


1、安装并加载LorMe包:
###安装LorMe包install.packages("LorMe")##加载MicrobiomeStat包library(LorMe)# Lightening One-Code Resolving Microbial Ecology Solutionlibrary(ggplot2)# Create Elegant Data Visualisations Using the Grammar of Graphicslibrary(dplyr)# A Grammar of Data Manipulation
2、加载数据(这里使用LorMe包自带数据集)并对分析所用的数据进行封装:
##加载示例数据集data(testotu)# Load the standard Qiime output feature tablehead(testotu)# First column -ID, last column -taxonomic annotation, others - the featuretable.feature_table<- testotu[, -c(1,22)]tax_anno<- testotu[, c(1,22)]
#创建分组数据groupinformation <- data.frame(group = c(rep("a", 10), rep("b", 10)),factor1 = rnorm(10),factor2 = rnorm(mean = 100, 10),  subject = factor(c(1:10, 1:10)), group2 = c(rep("e", 5), rep("f", 5), rep("e", 5), rep("f", 5)))
###对数据进行封装test_object <- tax_summary(groupfile = groupinformation,inputtable = feature_table,reads = TRUE,taxonomytable = tax_anno)
###对一些默认设置进行配置my_col=color_scheme("Plan1")my_order=c("b","a")my_facet_order=c("e","f")test_object_plan2 <- object_config(taxobj = test_object,treat_location = 1,rep_location = 4,facet_location = 5,  subject_location = NULL, treat_col = my_col,treat_order = my_order,  facet_order = my_facet_order)
#Taxonomy tidying...#Genarating tables...#Done##Contained elements:#[1]"Groupfile""Base""Base_percent"#[4]"Base_taxonomy""Phylum""Phylum_percent"#[7]"Phylum_taxonomy""Genus""Genus_percent"#[10]"Genus_taxonomy""parameters"#Warning message:#Expected 7 pieces. Missing pieces filled with `NA`in261 rows [4,#6, 9, 12, 18, 20, 24, 32, 37, 43, 44, 45, 46, 58, 59, 68, 70, 71,#72, 76, ...].
3、微生物群落结构组成分析:

1)进行群落结构组成分析,主要基于community_plot()函数完成,以门水平为例:

##绘制门水平排名前10的物种require(magrittr)phylum10 <- community_plot(taxobj = Two_group,taxlevel ="Phylum",#分析水平设置n =10,#保留排名前10的物种rmprefix ="p__",#去除一些物种名中附带的前缀palette ="Paired")
##柱状堆积图绘制phylum10$barplotphylum10$mean_barplot##面积图phylum10$areaplot##冲积图phylum10$alluvialplot

2)属水平:

genus10 <- community_plot(  taxobj = Two_group,  taxlevel = "Genus",  n = 10,  rmprefix = "g__",  palette = "Paired")##柱状堆积图绘制genus10$barplotgenus10$mean_barplot##面积图genus10$areaplot##冲积图genus10$alluvialplot

3)提取数据自定义可视化-以属水平为例:

##提取数据中属水平物种排名前10的相对丰度数据data <- genus10$Grouped_Top10Genusdata$SampleID <- factor(data$SampleID,levels = data$SampleID[1:16])##颜色col <- genus10$filled_color#绘图ggplot(data, aes( x = SampleID, y=100 * rel_abundance,fill = tax))+  geom_bar(stat="summary",fun=mean,position = 'stack')+  scale_y_continuous(expand = c(0,0))+# 调整y轴属性,使柱子与X轴坐标接触  scale_x_discrete(expand = c(0,0))+# 调整y轴属性,使柱子与X轴坐标接触  labs(x=NULL,y="Relative Abundance(%)",#设置X轴和Y轴的名称以及添加标题       fill="Genus")+  guides(fill=guide_legend(keywidth = 1, keyheight = 1)) +#修改图例的框大小  theme_bw()+  theme(panel.grid = element_blank(),        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1),        axis.title.y = element_text(size = 12),        axis.text = element_text(size = 9))+  scale_fill_manual(values = col)+  facet_grid(~Group, scales = 'free',space = "free")

##合并ggplot(data, aes( x = Group, y=100 * rel_abundance,fill = tax))+  geom_bar(stat="summary",fun=mean,position = 'stack')+  scale_y_continuous(expand = c(0,0))+# 调整y轴属性,使柱子与X轴坐标接触  scale_x_discrete(expand = c(0,0))+# 调整y轴属性,使柱子与X轴坐标接触  labs(x=NULL,y="Relative Abundance(%)",#设置X轴和Y轴的名称以及添加标题       fill="Genus")+  guides(fill=guide_legend(keywidth = 1, keyheight = 1)) +#修改图例的框大小  theme_bw()+  theme(panel.grid = element_blank(),        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1),        axis.title.y = element_text(size = 12),        axis.text = element_text(size = 9))+  scale_fill_manual(values = col)

更多内容大家请阅读LorMe包的帮助文档!

参考:LorMe包帮助文档


微生物组系列推文合集:

扩增子测序数据分析还不会?小编整理的全套R语言代码助您轻松解决问题!(更新版


「微生物组」基于LorMe包进行微生物组数据分析—Beta多样性分析!!!


「微生物组」基于LorMe包进行微生物组数据分析—Alpha多样性分析!!!


微生物组」基于microeco包进行共现性网络分析!!!


「微生物组」基于microeco包进行lefsef分析及随机森林分析!!!


「微生物组」Stamp结果图复现——分组差异图的绘制!!!


「微生物组」基于microeco包进行环境数据关联分析—以RDA分析为例!!!


「微生物组」基于microeco包进行共享/独特OTU计算及可视化!!!


微生物组」基于microeco包进行Alpha多样性分析!!!


「微生物组」基于microeco包进行微生物群落结构组成分析!!!


R可视化——Manteltest分析及可视化


基于R语言的微生物群落组成多样性分析——α多样性及其可视化


基于R语言的微生物群落组成多样性分析—β多样性之PCoA分析


基于R语言的微生物群落组成多样性分析—β多样性之组间差异性检验


基于R语言的微生物群落组成多样性分析——种丰度计算及可视化


基于R语言的微生物群落组成多样性分析——种丰度可视化之热图(Heatmap)


基于R语言的微生物群落组成多样性分析——种丰度可视化之弦图(Chord Diagram)


基于R语言的微生物群落组成多样性分析——共线性网络分析


基于R语言的微生物群落组成多样性分析——RDA分析


基于R语言的微生物群落组成多样性分析——CCA分析


基于R语言的微生物群落组成多样性分析——PCA分析


基于R语言的微生物群落组成多样性分析——聚类分析


基于LEfSe分析进行微生物物种差异及关联分析


基于R语言的微生物群落组成分析—差异OTU筛选及展示


基于R语言的微生物群落组成多样性分析——NMDS分析


基于R语言的微生物群落组成分析—α多样性指数的正态分布检验及差异性标注()


R可视化——基于MicrobiomeStat包进行微生物组数据分析(更新版)!!!


基于R语言进行扩增子数据的UMAP分析!


R可视化——共现性网络分析第二弹


R可视化——基于MicrobiotaProcess包进行物种群落结构组成分析!


R可视化——基于MicrobiotaProcess包进行物种差异分析!


基于microeco包进行PCoA分析!!!


基于MicrobiotaProcess包进行PCoA分析!


R可视化——基于MicrobiotaProcess包进行Alpha多样性分析!

PS: 以上内容是小编个人学习代码笔记分享,仅供参考学习,欢迎大家一起交流学习。

R绘图模板合集(包括附带注释的源码、测试数据及绘制效果图)可在公众号后台菜单栏查看具体获取方式!绘图模板合集效果图展示:


科研后花园
专注于R语言绘图及数据分析!
 最新文章