当前位置: 首页 > news >正文

基于R的linkET包qcorrplot可视化Mantel test相关性网络热图分析correlation heatmap

写在前面

需求是对瘤胃宏基因组结果鉴定到的差异菌株与表观指标、瘤胃代谢组、血清代谢组、牛奶代谢组中有差异的部分进行关联分析,效果图如下:

image-20230926151159439

数据准备

逗号分隔的csv格式文件,两个表格,一个是每个样本对应的表观指标数据,另一个是每个样本对应的菌群丰度,我这里用的是genus水平

  • 需要关联的表观数据rumen.csv

image-20230926151926227

  • 不同样本的菌群丰度genus.csv

image-20230926152040334

R包linkET可视化

  • 装包
install.pakages("linkET")
library(linkET)

如果报错R版本有问题装不上(我的4.3.1版本R出现了这个报错)请尝试:

install.packages("devtools")
devtools::install_github("Hy4m/linkET", force = TRUE)
packageVersion("linkET")
  • 读取数据
library(ggplot2)
rumen <- read.csv("rumen.csv",sep=",",row.name=1,stringsAsFactors = FALSE,check.names = FALSE)
genus <- read.csv("genus.csv",sep=",",row.name=1,stringsAsFactors = FALSE,check.names = FALSE)
#如果报错row.names重复错误请检查数据格式是否为csv
  • rumen.csv组内相关系数
matrix_data(list(rumen = rumen)) %>% as_md_tbl()
correlate(rumen) %>% as_matrix_data()
correlate(rumen) %>% as_md_tbl()correlate(rumen) %>% as_md_tbl() %>% qcorrplot() +geom_square()#如果对“%>%”功能报错,装具有此功能的包即可,比如dplyrlibrary(vegan)
correlate(rumen, genus, method = "spearman") %>% qcorrplot() +geom_square() +geom_mark(sep = '\n',size = 3, sig_level = c(0.05, 0.01, 0.001),sig_thres = 0.05, color = 'white') + #添加显著性和相关性值scale_fill_gradientn(colours = RColorBrewer::brewer.pal(11, "RdBu"))

在这里插入图片描述

  • 两个表格进行关联生成相关性矩阵图,带显著性标记
library(vegan)
correlate(rumen, genus, method = "spearman") %>% qcorrplot() +geom_square() +geom_mark(sep = '\n',size = 3, sig_level = c(0.05, 0.01, 0.001),sig_thres = 0.05, color = 'white') + #添加显著性和相关性值scale_fill_gradientn(colours = RColorBrewer::brewer.pal(11, "RdBu"))
image-20230926155801309
  • 加工可视化
library(dplyr)
mantel <- mantel_test(rumen, genus,spec_select = list(Milk_yeild=1,Milk_fat=2,Urea_Nitrogen=3,Butyric_acid=4,Valeric_acid=5,BUN=6,T_AOC=7,SOD=8,MDA=9,IgA=10,IgG=11))%>% mutate(rd = cut(r, breaks = c(-Inf,  0.5, Inf),labels = c("< 0.5", ">= 0.5")),pd = cut(p, breaks = c(-Inf, 0.01, 0.05, Inf),labels = c("< 0.01", "0.01 - 0.05", ">= 0.05")))qcorrplot(correlate(genus), type = "lower", diag = FALSE) +geom_square() +geom_mark(sep = '\n',size = 1.8, sig_level = c(0.05, 0.01, 0.001),sig_thres = 0.05,color="white") +geom_couple(aes(colour = pd, size = rd), data = mantel, curvature = nice_curvature()) +scale_fill_gradientn(colours = RColorBrewer::brewer.pal(11, "RdBu")) +scale_size_manual(values = c(0.5, 1, 2)) +scale_colour_manual(values = color_pal(3)) +guides(size = guide_legend(title = "Mantel's r",override.aes = list(color = "black"), order = 2),colour = guide_legend(title = "Mantel's p", override.aes = list(size = 3), order = 1),fill = guide_colorbar(title = "Pearson's r", order = 3))

在这里插入图片描述

  • 不显著的灰色连接线部分也可以去掉让画面更干净。其余细节去AI加工即可。
http://www.lryc.cn/news/176473.html

相关文章:

  • IOTDB的TsFile底层设计
  • MATLAB算法实战应用案例精讲-【人工智能】边缘计算(补充篇)
  • Linux学习-HIS系统部署(1)
  • Cairo介绍及源码构建安装(3)
  • Mac电脑信息大纲记录软件 OmniOutliner 5 Pro for Mac中文
  • linux设置应用开机自启(通用:mysql、jar、nginx、solr...)
  • Offset Explorer(Kafka消息可视化工具)报invalid hex digit ‘{‘错误解决方法
  • 深度学习:模型训练过程中Trying to backward through the graph a second time解决方案
  • 【数值计算方法】非线性方程(组)和最优化问题的计算方法:非线性方程式求根的二分法、迭代法、Newton 迭代法及其Python实现
  • linux主机名
  • 前端uniapp图片select联动文本切换
  • java - 包装类
  • 防火墙基础
  • 服务断路器_Resilience4j的断路器
  • 微信小程序学习笔记3.0
  • nginx 反向代理 负载均衡 动静分离
  • Codeanalysis(tca)后端二次开发环境搭建
  • JS前端树形Tree数据结构使用
  • Automation Anywhere推出新的生成式AI自动化平台,加速提高企业生产力
  • 电缆隧道在线监测系统:提升电力设施安全与效率的关键
  • Java BigDecimal 详解
  • 简述信息论与采样定理
  • 网络安全之网站常见的攻击方式
  • iOS Swift 拍照识别数字(Recognizing Text in Images)
  • 数学建模:智能优化算法及其python实现
  • monkeyrunner环境搭建和初步用法
  • 2024华为校招面试真题汇总及其解答(一)
  • css调整字体间距 以及让倾斜字体
  • 工具篇 | Gradle入门与使用指南 - 附Github仓库地址
  • 使用 Python 函数callable和isinstance的意义