WGCNA相关性图的绘制

本文介绍了如何处理生物数据中的宽数据并将其转换为长数据格式,以分析不同性状之间的相关性。使用pvalue和调整后的p值(BH方法),对相关性进行分级,并通过ggcor库创建相关性连线图展示强相关、弱相关和无相关。两个部分分别针对单个和多个性状进行详细操作。
摘要由CSDN通过智能技术生成

针对只有一个性状

##  整理cor—data (宽数据转化为长数据)
cor_data = moduleTraitCor %>% as.data.frame() %>% 
  rownames_to_column(var = "module") %>% 
  dplyr::select(module,cor = V1) %>%
  left_join(moduleTraitPvalue %>% as.data.frame() %>% 
              rownames_to_column(var = "module") %>% 
              dplyr::select(module,pvalue = V1) ) %>% 
  mutate(datTrait = "sex") %>% 
  dplyr::select(module,datTrait,cor,pvalue)
    
# 添加相关性级别 "Strong Cor" "Weak Cor" “no Cor
cor_data = cor_data %>% mutate(levels = if_else(abs(cor) >= 0.5 & pvalue <= 0.05,
                                                "Strong Cor",
                                                if_else(
                                                  abs(cor) >= 0.3&abs(cor)< 0.5 & pvalue <= 0.05,
                                                  "Weak Cor",
                                                  "No Cor"
                                                )))  
# 添加相关性方向
cor_data = cor_data %>% mutate(direction = if_else(cor > 0 ,"postive","negative"))

# 更改列顺序
cor_data = cor_data %>% dplyr::select(2,1,3:length(cor_data))

# 改名去除ME
cor_data$module = cor_data$module %>%  str_replace_all("ME","")
MEs = net$MEs 
colnames(MEs) = colnames(MEs) %>% str_replace_all("ME","")
library(ggcor)
library(ggsci)
## ggcor绘制相关性连线图
cor_data$levels = cor_data$levels %>% factor(levels = c("No Cor","Weak Cor","Strong Cor"))
quickcor(MEs,type = 'upper')+
  geom_square()+
  ggcor::anno_link(data = cor_data,
                   aes(color = direction,
                       size = levels))+
  scale_size_manual(values = c(0.1,1.5))+
  scale_color_manual(values = c("#99CCFF","#F39B7FFF"))+
  scale_fill_gsea()

针对多个性状

##  绘制相关性连接图
#######
##  整理cor—data (宽数据转化为长数据)
cor_data = moduleTraitCor %>% as.data.frame() %>% 
  pivot_longer(2:length(moduleTraitCor),names_to = "datTrait",values_to = "cor") %>% 
  left_join(moduleTraitPvalue %>% as.data.frame() %>% 
              pivot_longer(2:length(moduleTraitCor),names_to = "datTrait",values_to = "pvalue"),
            by = join_by(module, datTrait))

# 计算(padj BH法)
# cor_data = cor_data %>% filter(datTrait %in% c("transplant_time","K_time","k_time_rate")) %>% 
#  mutate(padj = p.adjust(pvalue,method = "BH")) %>% bind_rows(
#    cor_data %>% filter(datTrait %in% c("site","phemo")) %>% 
#      mutate(padj = p.adjust(pvalue,method = "BH")) 
#   )


# 添加相关性级别 "Strong Cor" "Weak Cor" “no Cor
cor_data = cor_data %>% mutate(levels = if_else(abs(cor) >= 0.7 & pvalue <= 0.05,
                                                "Strong Cor",
                                                if_else(
                                                  abs(cor) >= 0.3&abs(cor)< 0.7 & pvalue <= 0.05,
                                                  "Weak Cor",
                                                  "No Cor"
                                                )))
# 添加相关性方向
cor_data = cor_data %>% mutate(direction = if_else(cor > 0 ,"postive","negative"))

# 更改列顺序
cor_data = cor_data %>% dplyr::select(2,1,3:length(cor_data))

# 改名去除ME
cor_data$module = cor_data$module %>%  str_replace_all("ME","")
MEs = net$MEs 
colnames(MEs) = colnames(MEs) %>% str_replace_all("ME","")

## ggcor绘制相关性连线图
cor_data$levels = cor_data$levels %>% factor(levels = c("No Cor","Weak Cor","Strong Cor"))
quickcor(MEs,type = 'upper')+
  geom_square()+
  ggcor::anno_link(data = cor_data,
                   aes(color = direction,
                       size = levels))+
  scale_size_manual(values = c(0.1,0.2,1.8))+
  scale_color_manual(values = c("#99CCFF","#F39B7FFF"))+
  scale_fill_gsea()
#######

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘融晨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值