knitr::opts_chunk$set(echo=FALSE)
#knitr::knit_hooks$set(optipng = knitr::hook_optipng)
#library(xlsx)
library("openxlsx")
library(plyr)
library(dplyr)
library(ggbeeswarm)
library(reshape2)
library(data.table)
library(ggplot2)
library(TCGAbiolinks)
library(SummarizedExperiment)
library(ggsignif)
library(survminer)
library(survival)
library(kableExtra)
library(Hmisc)
library(stringr)
library(maxstat)
library(qwraps2)
options(qwraps2_markup = "markdown")
library(DT)
library(ggrepel)
lm_eqn <- function(df,y1,x1){
    lm_eqn_res <- eval(parse(text=paste0("lm(`",y1,"` ~ ",x1,", ",df,")")))
    eq <- substitute(italic(y) == a + b %.% italic(x)*","~~italic(r)^2~"="~r2, 
         list(a = format(unname(coef(lm_eqn_res)[1]), digits = 2),
              b = format(unname(coef(lm_eqn_res)[2]), digits = 2),
             r2 = format(summary(lm_eqn_res)$r.squared, digits = 3)))
    as.character(as.expression(eq));
}

wb <- createWorkbook()
sigStyle <- createStyle(fontColour = "#000000", bgFill = "#cd5c5c")
emptyStyle <- createStyle(fontColour = "#000000", bgFill =  "#FFFFFF")
#library(tables)
cancers=params$selected_cancers_tcga

load('./data/tcga_COSMICv2signatures2021_weights.RData')
tcga=as.data.frame(tcga)
rownames(tcga)=gsub("\\.", "-",rownames(tcga) )
merged=do.call(rbind,params$selected_data)
merged=as.data.frame(merged)
merged$submitter_id=as.character(merged$submitter_id)
merged=merge(merged, tcga, by.x="submitter_id", by.y="row.names")
if(any(unique(merged$disease) %in% cancers)){
  
    cat('\n')  
    cat('\n') 
      cat(paste0('# COSMICv2 signatures extracted from WES using deconstructSigs, weights')) 
      cat('\n') 


#cancers <- c("ACC","BLCA","BRCA","CESC","CHOL", "COAD","DLBC", "ESCA", "GBM", "HNSC", "KICH","KIRC","KIRP", "LGG", "LIHC", "LUAD", "LUSC", "MESO","OV", "PAAD", "PCPG", "PRAD", "READ","SARC", "SKCM","STAD", "THCA", "THYM", "UCEC","UCS")


summary_table = list()

for(mycancer in cancers){
subset1=merged[merged$disease==mycancer,]



if(nrow(subset1)>9){
  
    cat('\n')  
    cat('\n') 
      cat(paste0('## ',mycancer)) 
      cat('\n') 
      
nocommnet <- sapply(colnames(tcga)[1:30], function(x) {
if(mean(subset1[,x]!=0)){
cor_POLQ <- cor(subset1[,params$selected_gene],subset1[,x],use="complete.obs")
cor_POLQ3 = round(cor_POLQ,2)

p1 <- ggplot(subset1)
p1 <- p1 + geom_point(aes_string(x=x, y=params$selected_gene))
p1 <- p1 + xlab(paste0(x, ", weight"))+ylab(paste0(params$selected_gene," expression (TPM)"))
p1 <- p1 + ggtitle(paste0("All patients, ",mycancer,", COSMICv2"))
data.label <- data.frame(label=paste("Pearson r = ", round(cor_POLQ,2)," (r2 = ", round(cor_POLQ*cor_POLQ,2),")",sep=""), x=max(subset1[,x],na.rm=T)*0.7, y=max(subset1[,params$selected_gene])*0.7)
p1 <- p1 + geom_text(data = data.label, aes(x = x , y = y , label = label ),hjust=0,size=5)
p1 <- p1 + geom_smooth(aes_string(x=x, y=params$selected_gene), method=lm, se=FALSE, color="black")
p1 <- p1 + theme_classic()
p1 <- p1 + theme(axis.text = element_text(colour = "black", size = rel(0.7)), axis.ticks = element_line(colour = "black", size = 0.25), plot.margin=margin(10,10,6,10), plot.title=element_text(colour = "black", size = rel(1)),legend.justification=c(1,1),legend.position=c(1,1),legend.title = element_blank(),legend.key = element_rect(fill = "gray"))
print(p1)

cor_POLQ3  
}  else {
cor_POLQ3=NA
cor_POLQ3
}

})
cor_POLQ3=nocommnet
} else {
cor_POLQ3 = rep(NA, 30) 
}
}
}

COSMICv2 signatures extracted from WES using deconstructSigs, weights

BLCA

load('./data/tcga_COSMICv2signatures2021.RData')
tcga=as.data.frame(tcga)
rownames(tcga)=gsub("\\.", "-",rownames(tcga) )
merged=do.call(rbind,params$selected_data)
merged=as.data.frame(merged)
merged$submitter_id=as.character(merged$submitter_id)
merged=merge(merged, tcga, by.x="submitter_id", by.y="row.names")
if(any(unique(merged$disease) %in% cancers)){
  
    cat('\n')  
    cat('\n') 
      cat(paste0('# COSMICv2 signatures extracted from WES using deconstructSigs, counts')) 
      cat('\n') 

summary_table = list()

for(mycancer in cancers){
subset1=merged[merged$disease==mycancer,]

 

if(nrow(subset1)>9){

    cat('\n')  
    cat('\n') 
      cat(paste0('# ',mycancer)) 
      cat('\n')  
  
nocommnet <- sapply(colnames(tcga)[1:30], function(x) {
if(mean(subset1[,x]!=0)){
cor_POLQ <- cor(subset1[,params$selected_gene],subset1[,x],use="complete.obs")
cor_POLQ3 = round(cor_POLQ,2)

p1 <- ggplot(subset1)
p1 <- p1 + geom_point(aes_string(x=x, y=params$selected_gene))
p1 <- p1 + xlab(paste0(x, ", count"))+ylab(paste0(params$selected_gene," expression (TPM)"))
p1 <- p1 + ggtitle(paste0("All patients, ",mycancer,", COSMICv2"))
data.label <- data.frame(label=paste("Pearson r = ", round(cor_POLQ,2)," (r2 = ", round(cor_POLQ*cor_POLQ,2),")",sep=""), x=max(subset1[,x],na.rm=T)*0.7, y=max(subset1[,params$selected_gene])*0.7)
p1 <- p1 + geom_text(data = data.label, aes(x = x , y = y , label = label ),hjust=0,size=5)
p1 <- p1 + geom_smooth(aes_string(x=x, y=params$selected_gene), method=lm, se=FALSE, color="black")
p1 <- p1 + theme_classic()
p1 <- p1 + theme(axis.text = element_text(colour = "black", size = rel(0.7)), axis.ticks = element_line(colour = "black", size = 0.25), plot.margin=margin(10,10,6,10), plot.title=element_text(colour = "black", size = rel(1)),legend.justification=c(1,1),legend.position=c(1,1),legend.title = element_blank(),legend.key = element_rect(fill = "gray"))
print(p1)

cor_POLQ3  
}  else {
cor_POLQ3=NA
cor_POLQ3
}

})
cor_POLQ3=nocommnet
} else {
cor_POLQ3 = rep(NA, 30) 
}
}
}

COSMICv2 signatures extracted from WES using deconstructSigs, counts

BLCA