复现GMM文章(五):图5代码和数据

介绍

复现GMM文章的的Fig5图。

加载R包

library(tidyr)
library(tidyverse)
library(dplyr)
library(ggsci)
library(ggpubr)
library(psych)
library(ggcorrplot)
library(showtext)
library(ggrepel)

导入数据

所有的数据可以通过下列链接下载:

百度网盘链接: https://pan.baidu.com/s/1isKEK1G5I6X90KYqLufmWw

提取码: t9ca

图5A

  • 数据
load('01_data/plot_data/F5A.RData')

head(auc_marker)

cor <- corr.test(auc_marker[,1:2],method = 'spearman')

  • 画图
p1 <- ggscatter(data=auc_marker,x='dis',y='auc',shape='level',color='disease',palette = "igv",alpha=0.8,size=2)+
  geom_smooth(mapping=aes(x=dis,y=auc),data=auc_marker,formula =y~x, method=lm, inherit.aes = F,size=0.5)+
  geom_text_repel(data=auc_marker,aes(x=dis,y=auc,label = disease),inherit.aes = F,size=3)+
  xlab("MSI (median)") + ylab("External AUC (median)")+
  labs(color = "disease")+
  theme(legend.position = 'none')+
  annotate('text',x=0.7,y=0.84,label=paste0('r=',round(cor$r[1,2],2),'  ','p','=',format(cor$p[1,2],scientific=T,digits=3)),size=3)+
  border()

p2 <- ggdensity(auc_marker, 'dis', fill="disease_type2",palette = "npg")+
  clean_theme()+
  theme(legend.position = 'none')
p3 <- ggdensity(auc_marker, 'auc', fill="disease_type2", palette = "npg")+
  clean_theme()+
  theme(legend.position = 'none')+
  ggpubr::rotate()

p <- ggarrange(p2, NULL, p1, p3, ncol = 2, nrow = 2, align = "hv", widths = c(3, 1), 
            heights = c(1, 3))

p

图5B

  • 数据
load('01_data/plot_data/F5B.RData')

head(self.e)

stat.test <- compare_means(
  dis_value~group1,data = self.e, group.by = "level",
  method = "wilcox.test") %>% 
  mutate(y.position = c(seq(from=4, to=7.5,length.out=10),rep(seq(from=4, to=6,length.out=6), times=2)))
x <- stat.test$p.adj
stat.test$p.adj.signif<-ifelse(x<0.05, ifelse(x<0.01, ifelse(x<0.001, ifelse(x<=0.0001, '****','***'),'**'),'*'),'ns')

在这里插入图片描述

  • 画图
p <- ggboxplot(self.e, x = "group1", y = "dis_value",fill = "group1", palette = "jco", 
               facet.by = "level",width = 0.5,outlier.shape = NA)+
  stat_compare_means(aes(label = paste0('p = ',..p.format..)),label.y = 6.9,)+
  theme(axis.text.x = element_blank(),axis.ticks=element_blank(),legend.position="none")+
  xlab("Disease category") + ylab("MSI")+
  theme(text = element_text(size=13,face = 'plain',family ='',colour = 'black')) + 
  stat_pvalue_manual(stat.test,label = "p.adj.signif")

p

图5C

  • 数据
load('01_data/plot_data/F5C.RData')

head(self.e)

stat.test <- compare_means(
  dis_value~level,data = self.e, group.by = "subtype",
  method = "wilcox.test") %>% 
  mutate(y.position = rep(seq(from=4.5, to=5.5,length.out=3), times=4))
x <- stat.test$p.adj
stat.test$p.adj.signif <- ifelse(x<0.05, ifelse(x<0.01, ifelse(x<0.001, ifelse(x<=0.0001, '****','***'),'**'),'*'),'ns')

在这里插入图片描述

  • 画图
p <- ggboxplot(self.e, x = "level", y = "dis_value",fill = "level", 
               palette = c('#774ec7','#bd93cc','#a2c4b1'),
               facet.by = "subtype",nrow = 1,width = 0.5,outlier.shape = NA)+
  stat_compare_means(aes(label = paste0('p = ',..p.format..)),label.y = 6.9,)+
  theme(axis.text.x = element_blank(),axis.ticks=element_blank(),legend.position="top")+ 
  xlab("Data type") + ylab("MSI")+
  theme(text = element_text(size=13,face = 'plain',family ='',colour = 'black'),legend.position = 'none') + 
  stat_pvalue_manual(stat.test,label = "p.adj.signif")

p

图5D

  • 数据
load('01_data/plot_data/F5D.RData')

head(auc_marker_lodo)

  • 画图
p <- ggpaired(auc_marker_lodo, x = 'method', y = 'dis',color = 'method', palette = "npg", 
              line.color = "gray", line.size = 0.4,
              short.panel.labs = FALSE,width = 0.4)+
  stat_compare_means(paired = T,label.y=4.6)+
  theme(legend.position = 'none')+
  labs(y='MSI (median)',x='')+
  theme(text = element_text(family = '',size = 13,face = 'plain'))

p

图5E

左侧

  • 数据
load('01_data/plot_data/F5E_left.RData')

head(p_r_test)

for (i in unique(p_r_test$num)){
  dis_median <- median(subset(p_r_test,num==i)$dis)
  if (i==1){
    p_r_test_median <- data.frame(dis=dis_median,method='test',num=i)
  }else{
    p_r_test_median <- rbind(p_r_test_median,data.frame(dis=dis_median,method='test',num=i))
  } 
}
  • 画图
p1 <- ggboxplot( p_r_test,x='num',y='dis',color=pal_npg("nrc")(10)[1],add = "jitter",width = 0.3)+
  xlab('No. of training cohorts')+
  ylab('MSI (median)')+
  labs(title = 'ASD')+
  geom_line(data = p_r_test_median,aes(x=num,y=dis),color=pal_npg("nrc")(10)[2])+
  geom_point(data = p_r_test_median,aes(x=num,y=dis),color=pal_npg("nrc")(10)[2])+
  # geom_hline(yintercept =0.5,color=pal_d3('category10')(10)[4])+
  theme(text = element_text(size=13,face = 'plain',family ='',colour = 'black'))+  
  theme(panel.background = element_blank(),axis.line = element_line(colour = "black")) +
  ylim(0,2.5)

p1

右侧

  • 数据
load('01_data/plot_data/F5E_right.RData')

for (i in unique(p_r_test$num)){
  dis_median <- median(subset(p_r_test,num==i)$dis)
  if (i==1){
    p_r_test_median <- data.frame(dis=dis_median,method='test',num=i)
  }else{
    p_r_test_median <- rbind(p_r_test_median,data.frame(dis=dis_median,method='test',num=i))
  } 
}
  • 画图
p2 <- ggboxplot( p_r_test,x='num',y='dis',color=pal_npg("nrc")(10)[1],add = "jitter",width = 0.3)+
  xlab('No. of training cohorts')+
  ylab('MSI (median)')+
  labs(title = 'PD')+
  geom_line(data = p_r_test_median,aes(x=num,y=dis),color=pal_npg("nrc")(10)[2])+
  geom_point(data = p_r_test_median,aes(x=num,y=dis),color=pal_npg("nrc")(10)[2])+
  theme(text = element_text(size=13,face = 'plain',family ='',colour = 'black'))+  
  theme(panel.background = element_blank(),axis.line = element_line(colour = "black"))

p2

合并

pl <- ggarrange(p1,p2)
pl

  • 14
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

生信学习者2

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

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

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

打赏作者

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

抵扣说明:

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

余额充值