在RStudio中安装加载ggcor

devtools::install_github("shinepreventer/ggcor-hou")

github网址:https://github.com/shinepreventer/ggcor-hou

以下是github中给出的例子

library(dplyr)
#> Warning: package 'dplyr' was built under R version 3.6.2
data("varechem", package = "vegan")
data("varespec", package = "vegan")mantel <- mantel_test(varespec, varechem,spec.select = list(Spec01 = 1:7,Spec02 = 8:18,Spec03 = 19:37,Spec04 = 38:44)) %>% mutate(rd = cut(r, breaks = c(-Inf, 0.2, 0.4, Inf),labels = c("< 0.2", "0.2 - 0.4", ">= 0.4")),pd = cut(p.value, breaks = c(-Inf, 0.01, 0.05, Inf),labels = c("< 0.01", "0.01 - 0.05", ">= 0.05")))quickcor(varechem, type = "upper") +geom_square() +anno_link(aes(colour = pd, size = rd), data = mantel) +scale_size_manual(values = c(0.5, 1, 2)) +scale_colour_manual(values = c("#D95F02", "#1B9E77", "#A2A2A288")) +guides(size = guide_legend(title = "Mantel's r",override.aes = list(colour = "grey35"), 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))


如果以WGCNA数据进行绘图就需要准备数据啦
首先准备模块的表达数据 MKSJ

MKSJ <- orderMEs(cbind(net$MEs))

其次准备表型与模块的相关性P值与r值矩阵,以及对P值与r值进行归类BXXG

第一列为表型,第二列为模块,第三列委相关性值,第四列为P值
注意:第一列必须为表型数据,1、2列数据不能颠倒

{BXXG <- matrix(NA,ncol = 6,nrow = 66) # 66为表型数2乘以模块数33
BXXG[1:33,2] <- row.names(moduleTraitCor)
BXXG[1:33,1] <- "IMF"
BXXG[34:66,2] <- row.names(moduleTraitCor)
BXXG[34:66,1] <- "tenderness"
colnames(BXXG) <- c("biaoxing","mokuai","r","p","rd","pd")
for (i in 1:66) {BXXG[i,3] <- moduleTraitCor[BXXG[i,2],BXXG[i,1]]BXXG[i,4] <- moduleTraitPvalue[BXXG[i,2],BXXG[i,1]]
}BXXG <- as.data.frame(BXXG)
BXXG[,3] <- as.numeric(BXXG[,3])
BXXG[,4] <- as.numeric(BXXG[,4])for (i in 1:66) {{if(abs(BXXG[i,3])<0.2)BXXG[i,5] <- "<0.2"else if(abs(BXXG[i,3])>=0.2&&abs(BXXG[i,3]) < 0.5)BXXG[i,5] <- "0.2-0.5"elseBXXG[i,5] <- ">=0.5"}{if(BXXG[i,4]>0.05)BXXG[i,6] <- ">0.05"else if(BXXG[i,4]<=0.01)BXXG[i,6] <- "<=0.01"elseBXXG[i,6] <- "0.01-0.05"}}}# 转换为因子,目的是使右侧图注按一定顺序排序
BXXG[,5]<-factor(BXXG[,5],levels=c("<0.2","0.2-0.5",">=0.5"))
BXXG[,6]<-factor(BXXG[,6],levels=c("<=0.01","0.01-0.05",">0.05"))

绘图

quickcor(MKSJ, type = "upper") +geom_square() +anno_link(aes(colour = pd, size = rd), data = BXXG) +scale_size_manual(values = c(0.5, 1, 2)) +scale_colour_manual(values = c("#D95F02", "#1B9E77", "#A2A2A288")) +  ## "#D95F02", "#1B9E77", "#A2A2A288"guides(size = guide_legend(title = "Mantel's r",override.aes = list(colour = "grey35"), 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))

如果想更改模块间的相关性热图颜色可以加如下命令

+ scale_fill_gradientn(colours =c("#0033FF", "#FFE400","#eb261a"))

代码精简版

MKSJ <- orderMEs(cbind(net$MEs))cor <- moduleTraitCor
cor <- as.data.frame(cor)
cor %>% mutate(mokuai =rownames(cor)) -> cor
rownames(cor) = NULL
cor %>% pivot_longer(-mokuai,names_to = "biaoxing",values_to ="r") -> corcorp <- moduleTraitPvalue
corp <- as.data.frame(corp)
corp %>% mutate(mokuai =rownames(corp)) -> corp
rownames(corp) = NULL
corp %>% pivot_longer(-mokuai,names_to = "biaoxing",values_to ="p") -> corpcor %>%full_join(corp, by = c("biaoxing","mokuai")) ->BXXG BXXG %>%mutate(rd = case_when(abs(r) >= 0.5 ~ ">=0.5",abs(r) >=0.2 ~ "0.2-0.5",TRUE ~ "<0.2")) -> BXXGBXXG %>%mutate(pd = case_when(p > 0.05 ~ ">0.05",p >0.01 ~ "0.01-0.05",TRUE ~ "<=0.01")) -> BXXGBXXG %>%mutate(zf = case_when(r >0 ~ "+",TRUE ~ "-")) -> BXXG
BXXG  <- as.data.frame(BXXG )
# 转换为因子,目的是使右侧图注按一定顺序排序
BXXG[,5]<-factor(BXXG[,5],levels=c("<0.2","0.2-0.5",">=0.5"))
BXXG[,6]<-factor(BXXG[,6],levels=c("<=0.01","0.01-0.05",">0.05"))
BXXG[,7]<-factor(BXXG[,7],levels=c("+","-"))names(BXXG)
BXXG %>% select(biaoxing,mokuai,r,p,rd,pd,zf) -> BXXGquickcor(MKSJ, type = "upper") + scale_fill_gradientn(colours =c("#0033FF", "#FFE400","#eb261a"))+geom_square() +anno_link(aes(color = pd, size = rd,linetype=zf), data = BXXG) +scale_size_manual(values = c(0.5, 1, 2)) +scale_linetype_manual(values=c("solid","twodash"))+scale_colour_manual(values = c("#D95F02", "#1B9E77", "#A2A2A288")) +  ## "#D95F02", "#1B9E77", "#A2A2A288"guides(size = guide_legend(title = "Mantel's |r|",override.aes = list(colour = "grey35"), 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))

WGCNA模块与性状展示图相关推荐

  1. WGCNA 简明指南|2. 模块与性状关联分析并识别重要基因

    WGCNA 简明指南|2. 模块与性状关联分析并识别重要基因 WGCNA 系列 WGCNA 简明指南|1. 基因共表达网络构建及模块识别 WGCNA 系列 参考 关联模块与临床特征 量化module- ...

  2. boost::graph模块实现内部属性图的测试程序

    boost::graph模块实现内部属性图的测试程序 实现功能 C++实现代码 实现功能 boost::graph模块实现内部属性图的测试程序 C++实现代码 #include <boost/c ...

  3. DELL台式机安装Centos7无法正常展示图形化安装界面

    DELL台式机安装Centos7无法正常展示图形化安装界面 文章目录 一.Centos7无法安装现象 二.解决方法 1.开机狂按F12,打开如下界面,选择Change Boot Mode Settin ...

  4. 【Tensorflow教程笔记】常用模块 tf.function :图执行模式

    基础 TensorFlow 基础 TensorFlow 模型建立与训练 基础示例:多层感知机(MLP) 卷积神经网络(CNN) 循环神经网络(RNN) 深度强化学习(DRL) Keras Pipeli ...

  5. unity jump游戏源码展示图

    unity 跳一跳游戏完整源码 展示图: 源码下载

  6. 个人博客系统项目设计及结果展示图

    一.项目总设计图如下: 2.Http请求时序图: 三.具体开发流程图: 四.效果展示图: 1.显示文章列表 2.文章列表的删除 3.文章详情信息

  7. 新版Free手机、PC、平板、笔记本四端网站缩略展示图在线一键生成网站源码

    这是一款新版Free手机.PC.平板.笔记本四端网站缩略展示图在线一键生成PHP网站源码下载 用户打开网站后输入网址域名,然后点击一下就可以生成手机端. PC电脑端.笔记本端和平板端的网站实时缩略图, ...

  8. unity 三消游戏源码展示图

    unity三消游戏源码 游戏展示图 源码下载

  9. html制作天猫页面,《编程基础:HTML第八章》:制作 天猫 商品图展示图

    作者|李娜 *本文为「Java联盟」原创内容,转载无需授权,请保留署名来源. 这几天真是艳阳高照呀!李娜我看了一下自己的"装备",感觉这时候出去浪,是不是有点不给太阳公公面子呀! ...

最新文章

  1. 如何用Word 2007写Blog
  2. 解决输入法图标不见了,控制面板里面也无法设置
  3. 敏感词库 php,敏感词过滤的php类库
  4. display:flex弹性布局
  5. 接受拒绝采样(Acceptance-Rejection Sampling)
  6. 计算机软件复用意义何在,2009计算机科学技术导论复习要点.pdf
  7. 联想拯救者Y90游戏性能实测:全程满帧 散热能力出众
  8. Dim a As New DataObject提示“用户定义类型未定义”
  9. 阿里云,CentOS下yum安装mysql,jdk,tomcat
  10. 酒后谈IT,那些术语大妈都能秒懂!
  11. Android 代码混淆 以及 反编译 的实现
  12. 6183. 字符串的前缀分数和(每日一难phase2--day18)
  13. RTSP RTMP HLS HTTP全功能流媒体播放器SkeyeExPlayer开发计划
  14. 深度| 百度副总裁王海峰:百度在NLP领域都做了什么?
  15. 3.9 编写程序,模拟石头剪刀布游戏。程序随机产生一个数,这个数为2、1或0,分别表示石头剪刀和布。
  16. 机器学习从入门到创业手记-应用与实践
  17. windows 下 nginx 双向认证自签名证书配置
  18. Mac OS X 键盘快捷键
  19. 能定位的不仅GPS,还有它!
  20. 电池管理和连接器对电动汽车

热门文章

  1. SQLServer中DateTime转换成Varchar
  2. python爬虫豆瓣评论论文_python 爬虫 豆瓣 评论及评分
  3. 51Talk进军AI教育,与腾讯、百度、网易有道等巨头一争高低
  4. 2021年河南省高考考成绩查询,河南省考公务员2021年成绩 河南省考成绩查询时间2021...
  5. 宝塔面板使用nohup后台运行任务失败,关闭终端后任务自动终止。
  6. Axure教程:可视化中国地图下钻交互设计
  7. ts_calibrate
  8. 计算机视觉的应用2-以图搜图功能的实现,搭载可视化的搜索界面
  9. 共享充电宝方案/案列/APP/小程序/项目/网站
  10. c语言 subl 指令,linux 之 汇编语言 的mov和movl sub 和subl add 和addl 的区别??