knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)
library(beemixtox1)
library(tidyverse)
library(patchwork)
p1 <- ggplot(data=BCSdata, aes(log10Q, colour = Time)) +
  stat_ecdf(pad = F, geom ="point") +
  stat_ecdf(pad = F, geom ="step") +
  geom_vline(xintercept = c(0, log10(2), log10(5), log10(0.5), log10(0.2)), linetype = c(1,2,3,2,3)) +
  annotate("rect", xmin=log10(0.5), xmax=log10(2), ymin=-Inf, ymax=Inf, alpha=0.2) +
  annotate("rect", xmin=log10(0.2), xmax=log10(5), ymin=-Inf, ymax=Inf, alpha=0.2) +
  theme_classic()+
  theme(plot.margin = unit(c(0.1,0.1,0.1,0.1), "cm"), plot.title = element_text(size = 18), strip.text.x =element_text(size = 14), rect = element_blank(), panel.border=element_rect(size=2,fill=NA, colour='black'),
        axis.text.y = element_text(size = 9), axis.text.x = element_text(size = 14), axis.title.x=element_text(size=12), axis.title.y=element_text(size=12), legend.text=element_text(size=14), legend.title=element_text(size=14),
        # legend.key.size=unit(1, "cm"), legend.position="right", legend.box.background = element_rect(size=1,fill=NA))+
        legend.position="top")+
  labs(x="log10(MDR)",y="Prob")#+ggtitle("Actual BCS Data")
p2 <- ggplot(data=BCSdata, aes(log10Q, colour = Exposure.Type)) +
  stat_ecdf(pad = F, geom ="point") +
  stat_ecdf(pad = F, geom ="step") +
  geom_vline(xintercept = c(0, log10(2), log10(5), log10(0.5), log10(0.2)), linetype = c(1,2,3,2,3)) +
  annotate("rect", xmin=log10(0.5), xmax=log10(2), ymin=-Inf, ymax=Inf, alpha=0.2) +
  annotate("rect", xmin=log10(0.2), xmax=log10(5), ymin=-Inf, ymax=Inf, alpha=0.2) +
  theme_classic()+
  theme(plot.margin = unit(c(0.1,0.1,0.1,0.1), "cm"), plot.title = element_text(size = 18), strip.text.x =element_text(size = 14), rect = element_blank(), panel.border=element_rect(size=2,fill=NA, colour='black'),
        axis.text.y = element_text(size = 9), axis.text.x = element_text(size = 14), axis.title.x=element_text(size=12), axis.title.y=element_text(size=12), legend.text=element_text(size=14), legend.title=element_text(size=14),
        # legend.key.size=unit(1, "cm"), legend.position="right", legend.box.background = element_rect(size=1,fill=NA))+
        legend.position="top")+
  labs(x="log10(MDR)",y="Prob")
p3 <- ggplot(BCSdata, aes(x=as.factor(CLASSIFICATION),y=log10Q))+
  # Plot9<-ggplot(Data,aes(x=as.factor(N.combo.class),y=log10Q))+
  geom_boxplot(fill="grey75")+
  geom_jitter(width = 0.2, alpha=0.7, aes(colour = Exposure.Type)) +
  # geom_boxplot(aes(fill=combo.class.name))+
  # geom_boxplot(aes(fill=combo.Type.name))+
  geom_hline(yintercept = c(0, log10(2), log10(5), log10(0.5), log10(0.2)), linetype = c(1,2,3,2,3)) +
  annotate("rect", xmin=-Inf, xmax=Inf, ymin=log10(0.5), ymax=log10(2), alpha=0.2) +
  annotate("rect", xmin=-Inf, xmax=Inf, ymin=log10(0.2), ymax=log10(5), alpha=0.2) +
  theme_classic()+
  theme(plot.margin = unit(c(0.1,0.1,0.1,0.1), "cm"), plot.title = element_text(size = 18), strip.text.x =element_text(size = 14), rect = element_blank(), panel.border=element_rect(size=2,fill=NA, colour='black'),
        axis.text.y = element_text(size = 9), axis.text.x = element_text(size = 14), axis.title.x=element_text(size=12), axis.title.y=element_text(size=12), legend.text=element_text(size=14), legend.title=element_text(size=14),
        # legend.key.size=unit(1, "cm"), legend.position="right", legend.box.background = element_rect(size=1,fill=NA))+
        legend.position="top")+
  labs(x="Matching class",y="log10(MDR)")
fig1 <- p1 + p2 +p3+  plot_annotation(tag_levels = 'A')
fig1

Figure 2 for the BCS dataset Analysis

fig2 <- ggplot(BCSdata,aes(x=combo.name,y=log10Q))+
  geom_boxplot(fill="grey75", outlier.shape = NA)+
  geom_jitter(width = 0.2, alpha=0.7, aes(colour = Exposure.Type)) +
  # geom_boxplot(aes(fill=combo.class.name))+
  # geom_boxplot(aes(fill=combo.Type.name))+
  geom_hline(yintercept = c(0, log10(2), log10(5), log10(0.5), log10(0.2)), linetype = c(1,2,3,2,3)) +
  annotate("rect", xmin=-Inf, xmax=Inf, ymin=log10(0.5), ymax=log10(2), alpha=0.2) +
  annotate("rect", xmin=-Inf, xmax=Inf, ymin=log10(0.2), ymax=log10(5), alpha=0.2) +
  theme_classic()+
  theme(plot.margin = unit(c(0.1,0.5,0.3,0.1), "cm"), plot.title = element_text(size = 18), strip.text.x =element_text(size = 14), rect = element_blank(), panel.border=element_rect(size=2,fill=NA, colour='black'),
        axis.text.y = element_text(size = 9), axis.text.x = element_text(size = 14), axis.title.x=element_text(size=12), axis.title.y=element_text(size=12), legend.text=element_text(size=14), legend.title=element_text(size=14),
        # legend.key.size=unit(1, "cm"), legend.position="right", legend.box.background = element_rect(size=1,fill=NA))+
        legend.position="top")+
  labs(x=NULL,y="log10(MDR)")+
  coord_flip(ylim = c(min(BCSdata$log10Q, na.rm = T), max(BCSdata$log10Q, na.rm = T)))
fig2

ECDF & CDF

According to Arnd & Verena, it would be good to looked the ecdf and cdf from MDR=1 with CV=100% together.

ymat <- simCVn(
  cvs=c(0.7,1,1.5),
  mean_sim = 1,
  p = c(0.5, 0.5),
  Nsim = 10000,
  synergy = F,
  reduction = 0
) %>% mutate(CV=paste0(as.numeric(CV)*100,"%")) %>% mutate(selfcols=plyr::mapvalues(CV,from=c("100%","150%","70%"),to=c("purple","yellow","darkgreen")))

ymat2 <- simCVn(
  cvs=c(0.7,1,1.5),
  mean_sim = 1,
  p = c(0.5, 0.5),
  Nsim = 10000,
  synergy = T,
  reduction = 0.8
) %>% mutate(CV=paste0(as.numeric(CV)*100,"%")) %>% mutate(selfcols=plyr::mapvalues(CV,from=c("100%","150%","70%"),to=c("purple","yellow","darkgreen")))


ymat %>%select(-selfcols)%>% pivot_wider(names_from  = CV,names_prefix = "CV",values_from=MDR, values_fn = list)%>% unnest(cols = everything() )

ggplot(ymat,aes(x=log10(MDR),col=CV))+geom_line(stat = "ecdf")+scale_color_viridis_d()
library(ggnewscale)
p1+geom_line(data=ymat,aes(x=log10(MDR),lty=CV),stat = "ecdf",lwd=1.5,col="purple")+scale_size_manual("CV",guide=guide_legend(override.aes = list(colour=c("orange","darkred","darkgreen"))))#+scale_color_viridis_d()

ggsave(file="vignettes/articles/archive/ecdf-cdf.png",width=12,height=7,dpi=300)
p1+geom_line(data=ymat,aes(x=log10(MDR),lty=CV),stat = "ecdf",lwd=1.5,col="purple")+geom_line(data=ymat2,aes(x=log10(MDR),lty=CV),stat = "ecdf",lwd=1.5,col="yellow")

ggsave(file="vignettes/articles/archive/ecdf-cdf-synergy.png",width=12,height=7,dpi=300)
p2+geom_line(data=ymat%>%filter(CV=="100%"),aes(x=log10(MDR),lty=CV),stat = "ecdf",lwd=1.5,col="purple")+scale_size_manual("CV",guide=guide_legend(override.aes = list(colour=c("orange","darkred","darkgreen"))))
ggsave(file="vignettes/articles/archive/ecdf-cdf-2-CV1.png",width=12,height=7,dpi=300)

p2+geom_line(data=ymat,aes(x=log10(MDR),lty=CV),stat = "ecdf",lwd=1.5,col="purple")+scale_size_manual("CV",guide=guide_legend(override.aes = list(colour=c("orange","darkred","darkgreen"))))
ggsave(file="vignettes/articles/archive/ecdf-cdf-2.png",width=12,height=7,dpi=300)
ymat2 <- ymat2%>% rename(CV_syn=CV)
p2+geom_line(data=ymat,aes(x=log10(MDR),lty=CV),stat = "ecdf",lwd=1.2,col="purple")+geom_line(data=ymat2,aes(x=log10(MDR),lty=CV_syn),stat = "ecdf",lwd=1.5,col="yellow")
ggsave(file="vignettes/articles/archive/ecdf-cdf-synergy-cont-oral.png",width=12,height=7,dpi=300)


Zhenglei-BCS/beemixtox_public documentation built on March 28, 2023, 1:51 a.m.