组合图表子函数拆分-得到更多数据信息

写在前面

由于之前的函数封装太过于严重,大家无法得知函数到底做了什么,这里我将其中的子函数给大家运行一下,做个演示,大家按照这三个步骤运行三次,理解又可以灵活应用。不一定做这个组合图形, 门特尔相关也可以单独使用,相关半矩阵热图也可以单独使用。

下面是全部参数数解释

建议大家选运行,遇到不懂的参数再次回过头来查找。

  • env.dat = env1 其他指标表格,参见要求

  • tabOTU = tabOTU1 otu表格,list文件,最多三个。

  • distance = “bray”群落距离计算方法,这里就两种 bray和jcd。

  • method = “metal” 门特尔检验方法, 这里两种,另外一种是偏门特尔检验。

  • method.cor = “spearman” 相关性计算方法

  • cor.p = 0.05相关性显著性过滤阈值。

  • x = F 是否设置x轴标签。

  • y = F 是否设置y轴标签

  • diag = T 是否设置对角线标签。

  • sig = TRUE 是否仅仅展示显著的色块

  • siglabel = FALSE 显著色标是否标记星号

  • shownum = TRUE 是否展示相关值

  • numpoint = NULL 色块point类型,默认22号方块,直接使用pch编号即可更换。注意必须更换具有fill属性的编号。

  • numsymbol = 27 这是symbol,扩展了ggplot中point类型,如果要使用,则需要另外安装R包ggsymbol。需要github安装

  • numpoint2 这部分只可以使用ggplot中的pch点形状,默认21号点,控制link部分点形状。

  • lacx = “left” 相关热图展示方向,x轴,可选“right”

  • lacy = “bottom” 相关热图展示方向,y轴,可选“top”

  • range = 0.5 连线整体粗细变化,值越大变化越大。

  • p.thur = 0.3 显著性阈值

  • onlysig = F 是否只展示显著性的连线。

library(phyloseq)
library(ggClusterNet)
library(tidyverse)

data(ps)
ps1 = filter_taxa(ps, function(x) sum(x ) > 200 , TRUE);ps1
## phyloseq-class experiment-level object
## otu_table() OTU Table: [ 442 taxa and 18 samples ]
## sample_data() Sample Data: [ 18 samples by 10 sample variables ]
## tax_table() Taxonomy Table: [ 442 taxa by 7 taxonomic ranks ]
## phy_tree() Phylogenetic Tree: [ 442 tips and 441 internal nodes ]
otu = as.data.frame(t(vegan_otu(ps1)))
mapping = as.data.frame( sample_data(ps1))
data(env1)

tabOTU1 = list(otu1 = otu)
data(env1)

大函数是这样做的

# ?MatCorPlot
p0 <- MatCorPlot(env.dat = env1,tabOTU = tabOTU1)
p0

单独运算门特尔检验

提取R值矩阵和p值矩阵

#--- mantel test
rep = MetalTast (env.dat = env1, tabOTU = tabOTU1,distance = "bray",method = "metal")
repR = rep[c(-seq(from=1,to=dim(rep)[2],by=2)[-1])]
repP = rep[seq(from=1,to=dim(rep)[2],by=2)]

head( repR)## Envs otu1r.BC
## 1 env1 -0.07719302
## 2 env2 0.04398807
## 3 env3 0.11932646
## 4 env4 0.04050745
## 5 env5 -0.07358128
## 6 env6 -0.01627295
head( repP)## Envs otu1p.BC
## 1 env1 0.741
## 2 env2 0.325
## 3 env3 0.194
## 4 env4 0.357
## 5 env5 0.723
## 6 env6 0.536

单独运行环境变量相关半矩阵热图

result <- Miccorplot(data = env1,
method.cor = "spearman",
cor.p = 0.05,
x = F,
y = F,
diag = T,
lacx = "left",
lacy = "bottom",
sig = T,
siglabel = F,
shownum = F,
numpoint = 21,
numsymbol = NULL)

p1 <- result[[1]]

对半矩阵热图添加环境因子连线

p2 <- cor_link(
data = result[[2]],# env table
p = result[[1]], # ggplot object
envdata = repR,# R value table
Ptab = repP,#p value table
numpoint2 = 18,
curvature = 0,
range =0.5,# line size
lacx = "left",
lacy = "bottom",
p.thur = 0.3,#sig value
onlysig = T# if show sig connect
)

p2

library(patchwork)

(p0 | p1 | p2)

根际互作生物学研究室 简介

根际互作生物学研究室是沈其荣教授土壤微生物与有机肥团队下的一个关注于根际互作的研究小组。本小组由袁军副教授带领,主要关注:1.植物和微生物互作在抗病过程中的作用;2 环境微生物大数据整合研究;3 环境代谢组及其与微生物过程研究体系开发和应用。团队在过去三年中在 isme J, Microbiome, PCE,SBB,Horticulture Research等期刊上发表了多篇文章。欢迎关注 微生信生物 公众号对本研究小组进行了解。

团队工作及其成果 (点击查看)

了解 交流 合作

  • 团队成员邮箱 袁军:junyuan@njau.edu.cn;文涛:2018203048@njau.edu.cn

(0)

相关推荐