library(ggplot2) library(ggridges) topMuts=filter(varData,AD>0)%>% subset(!is.na(Symbol))%>% group_by(Symbol)%>% summarize(nSamps=n_distinct(individualID))%>% filter(nSamps>1)%>% dplyr::select(Symbol)%>% subset(Symbol!="") topMuts<-union("TP53",topMuts$Symbol) other.cols<-c('Sample','Age','Sex','MicroTissueQuality','Location','Size','Clinical.Status') other.samps<-unique(varData$specimenID) norms<-grep('normal',other.samps) tums<-grep('tumor',other.samps) other.samps<-other.samps[-c(norms,tums)] vd<-varData%>% subset(specimenID%in%other.samps)%>% mutate(AD=as.numeric(AD))%>% filter(Symbol%in%topMuts)%>% #mutate(AD=as.numeric(AD))%>% # tidyr::separate(specimenID,into=c('patient','sample'),sep='_',fill="right")%>% #filter(sample!='patient')%>% dplyr::select(-c(synid,specimenID,other.cols))%>% tidyr::pivot_wider(names_from=individualID,values_from=AD,values_fn=list(AD=mean), values_fill=list(AD=0.0))%>% tidyr::pivot_longer(-Symbol,names_to="individualID",values_to="AD")%>% subset(!is.na(AD)) drug.gene.cors<-vd%>% drugMutationsCor(pat.drug=pat.drug,.) ##now get topMuts again updatedMuts<-drug.gene.cors%>% subset(AD>0)%>% group_by(Symbol)%>% summarize(numPats=n_distinct(individualID))%>% filter(numPats>2)%>% ungroup()%>% dplyr::select(Symbol)%>% distinct() ggplot(drug.gene.cors,aes(x=corVal))+geom_density_ridges(aes(fill=Metric,y=drug,alpha=0.8))+scale_fill_viridis_d() indivPlots<-drug.gene.cors%>% subset(Metric=='AUC')%>% filter(Symbol%in%updatedMuts$Symbol)%>% plotTumorGrowthCorrelations(minCor=0.8) cowplot::plot_grid(plotlist=indivPlots) ggsave('allMUtCors.pdf',width=12,height=12)
Now that we have the correlation values, which gene mutations are correlated with which drugs?
library(pheatmap) p.order<-pat.drug%>%subset(drug=='everolimus')%>% arrange(TGI)%>% dplyr::select(individualID) tgi<-pat.drug%>% dplyr::select(drug,individualID,TGI)%>% tidyr::pivot_wider(values_from='TGI',names_from='drug')%>% tibble::column_to_rownames('individualID') auc<-pat.drug%>%dplyr::select(drug,individualID,AUC)%>%tidyr::pivot_wider(values_from='AUC',names_from='drug',values_fill=list(AUC=0.0))%>%tibble::column_to_rownames('individualID') mmat<-drug.gene.cors%>% filter(abs(corVal)>0.8)%>% ungroup()%>% dplyr::select(Symbol,AD,individualID)%>%distinct()%>% tidyr::pivot_wider(names_from=individualID,values_from=AD,values_fill=list(AD=0.0))%>% tibble::column_to_rownames('Symbol') p.order<-intersect(p.order$individualID,colnames(mmat)) pheatmap(log(0.01+mmat[,p.order]),cluster_cols=FALSE,annotation_col=auc,clustering_method='ward.D2',filename = 'correlatedMuts.pdf')
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.