升级:任意水平微生物数据差异比较和统计展示的新鲜方式
写在前面
何兄弟给我一张图:
图解:这是多个分组和CK组比对,并且将丰度高于CK组和低于CK组的分为两个部分展示,然后不同分组标注不同的颜色,微生物门类在纵坐标上展示,这样可以展示很多的微生物,确实是一种比较好的比较方法,尤其是有多个处理,同时需要和CK比对,并且微生物数量也不较多的情况。
代码数据见文末github链接
优点
可以展示的微生物数量很多
可以区分增加和减少的微生物
结合差异分析,将显著性标注到柱子上,一目了然
开始设计代码
有以下几个点:
差异分析使用edgeR包做而不用Desep2,因为前者更快。将edgeR中的几种标准化方法提取出来,TMM,RLE,upperquartile。方便选择。
使用ggplot出图,注意两个方向的丰度标记。
将显著差异的标注星号,方便懂统计水平上进行确认结论。
如果仅仅是图的话,还不够精细,此时可以将丰度使用ggplot表格的形式展示出来,和图形一起组合使用。
# 注意R包安装完善 edge R, limma
source ("EdgerSuper.R")
source ("EdgerSuper.R")
注意phyloseq对象的构造,其次就是map文件的分组名称设定为Group。
差异分析
## 准备结果存储路径
path = "./"
alppath = paste(path,"/Edger/",sep = "")
dir.create(alppath)
# 准备脚本
source("G:\\Shared_Folder\\Function_local\\R_function\\micro\\EdgerSuper.R")
# 导入必要R包
# library(ggClusterNet)
library(phyloseq)
library(tidyverse)
# 准备数据
ps = readRDS("./ps_liu.rds")
psdata <- tax_glom_wt(ps = ps,ranks = j)
# # examples for stan. method
# result = EdgerSuper(ps = ps,group = "Group", method = "TMM")
# result = EdgerSuper(ps = ps,group = "Group", method = "upperquartile")
# make groups for diff. test # 差异分析分组并计算差异
group1 = c("OE","WT")
group2 = c("OE","KO")
b= data.frame(group1,group2)
res = EdgerSuper(ps = psdata,group = "Group", method = "RLE",artGroup = b)
head(res)
OE-WTlogFC OE-WTlevel OE-KOlogFC OE-KOlevel KO OE WT
Achromobacter 3.0921853 enriched 2.7999594 enriched 0.0001129587 0.0009763456 0.0001031630
Aciditerrimonas 0.2766716 nosig 0.2383107 nosig 0.0001677461 0.0002380545 0.0001744196
Acidovorax -0.4821230 nosig -0.4105079 nosig 0.0004806522 0.0004336911 0.0005325038
Actinocorallia -0.7583509 nosig -0.2106772 nosig 0.0062033812 0.0062849461 0.0092970857
Actinomadura 0.3021294 nosig -0.1472927 nosig 0.0001451865 0.0001572988 0.0001119139
Actinophytocola -0.2492757 nosig -0.2829287 nosig 0.0133356433 0.0131242437 0.0141564903
phylum class order family
Achromobacter Proteobacteria Betaproteobacteria Burkholderiales Alcaligenaceae
Aciditerrimonas Actinobacteria Actinobacteria Acidimicrobiales Acidimicrobineae_incertae_sedis
Acidovorax Proteobacteria Betaproteobacteria Burkholderiales Comamonadaceae
Actinocorallia Actinobacteria Actinobacteria Actinomycetales Thermomonosporaceae
Actinomadura Actinobacteria Actinobacteria Actinomycetales Thermomonosporaceae
Actinophytocola Actinobacteria Actinobacteria Actinomycetales Pseudonocardiaceae
genus
Achromobacter Achromobacter
Aciditerrimonas Aciditerrimonas
Acidovorax Acidovorax
Actinocorallia Actinocorallia
Actinomadura Actinomadura
Actinophytocola Actinophytocola
按照设计可视化
CK参数跟上对照组;
abun为需要过滤的阈值,默认0.001,;
result:为 EdgerSuper函数输出的表格;
j 按照那个分类水平做差异分析。
p <- Plot.CompareWithCK(CK = "OE",j = "Genus",abun = 0.001,result = res )
p
组合图形和表格
library(ggpubr)
tab <- plotdata %>%
distinct(ID,.keep_all = TRUE)
tab[1:6]
stable.p <- ggtexttable(tab[1:5], rows = NULL)
library(patchwork)
p2 <- p + stable.p
p2
根际互作生物学研究室 简介
根际互作生物学研究室是沈其荣教授土壤微生物与有机肥团队下的一个关注于根际互作的研究小组。本小组由袁军副教授带领,主要关注:1.植物和微生物互作在抗病过程中的作用;2 环境微生物大数据整合研究;3 环境代谢组及其与微生物过程研究体系开发和应用。团队在过去三年中在 isme J, Microbiome, PCE,SBB,Horticulture Research等期刊上发表了多篇文章。欢迎关注 微生信生物 公众号对本研究小组进行了解。
赞 (0)