#!/usr/bin/env Rscript ######################################################### # TASK: Barplots for mCSM DUET, ligand affinity, and foldX # basic barplots with count of mutations # basic barplots with frequency of count of mutations # , df_colname = "" # , leg_title = "" # , ats = 25 # axis text size # , als = 22 # axis label size # , lts = 20 # legend text size # , ltis = 22 # label title size # , geom_ls = 10 # geom_label size # , yaxis_title = "Number of nsSNPs" # , bp_plot_title = "" # , label_categories = c("Destabilising", "Stabilising") # , title_colour = "chocolate4" # , subtitle_text = NULL # , sts = 20 # , subtitle_colour = "pink" # #, leg_position = c(0.73,0.8) # within plot area # , leg_position = "top" # , bar_fill_values = c("#F8766D", "#00BFC4") ######################################################### #======================================================================= #======= # output #======= outdir_images = paste0("~/git/Writing/thesis/images/results/" , tolower(gene), "/") cat("plots will output to:", outdir_images) ########################################################### df3 = merged_df3 # FIXME: port to a common script #================= # PREFORMATTING: for consistency #================= df3$sensitivity = ifelse(df3$dst_mode == 1, "R", "S") table(df3$sensitivity) # ConSurf labels consurf_colOld = "consurf_colour_rev" consurf_colNew = "consurf_outcome" df3[[consurf_colNew]] = df3[[consurf_colOld]] df3[[consurf_colNew]] = as.factor(df3[[consurf_colNew]]) df3[[consurf_colNew]] levels(df3$consurf_outcome) = c( "nsd", 1, 2, 3, 4, 5, 6, 7, 8, 9) levels(df3$consurf_outcome) # SNAP2 labels snap2_colname = "snap2_outcome" df3[[snap2_colname]] <- str_replace(df3[[snap2_colname]], "effect", "Effect") df3[[snap2_colname]] <- str_replace(df3[[snap2_colname]], "neutral", "Neutral") ############################################################## gene_all_cols = colnames(df3)[colnames(df3)%in%all_cols] gene_outcome_cols = colnames(df3)[colnames(df3)%in%c(outcome_cols_stability , outcome_cols_affinity , outcome_cols_conservation)] gene_outcome_cols #======================================================================= #------------------------------ # stability barplots: outcome_cols_stability # label_categories should be = levels(as.factor(plot_df[[df_colname]])) #------------------------------ sts = 22 subtitle_colour = "black" geom_ls = 10 # duetP duetP = stability_count_bp(plotdf = df3 , df_colname = "duet_outcome" , leg_title = "mCSM-DUET" #, label_categories = labels_duet , yaxis_title = "Number of nsSNPs" , leg_position = "none" , subtitle_text = "mCSM-DUET" , geom_ls = geom_ls , bar_fill_values = c("#F8766D", "#00BFC4") , sts = sts , subtitle_colour= subtitle_colour) # foldx foldxP = stability_count_bp(plotdf = df3 , df_colname = "foldx_outcome" #, leg_title = "FoldX" #, label_categories = labels_foldx , yaxis_title = "" , leg_position = "none" , subtitle_text = "FoldX" , geom_ls = geom_ls , bar_fill_values = c("#F8766D", "#00BFC4") , sts = sts , subtitle_colour= subtitle_colour) # deepddg deepddgP = stability_count_bp(plotdf = df3 , df_colname = "deepddg_outcome" #, leg_title = "DeepDDG" #, label_categories = labels_deepddg , yaxis_title = "Number of nsSNPs" , leg_position = "none" , subtitle_text = "DeepDDG" , geom_ls = geom_ls , bar_fill_values = c("#F8766D", "#00BFC4") , sts = sts , subtitle_colour= subtitle_colour) # deepddg dynamut2P = stability_count_bp(plotdf = df3 , df_colname = "ddg_dynamut2_outcome" #, leg_title = "Dynamut2" #, label_categories = labels_ddg_dynamut2_outcome , yaxis_title = "" , leg_position = "none" , subtitle_text = "Dynamut2" , geom_ls = geom_ls , bar_fill_values = c("#F8766D", "#00BFC4") , sts = sts , subtitle_colour= subtitle_colour) dynamut2P # extract common legend common_legend = get_legend(duetP + guides(color = guide_legend(nrow = 1)) + theme(legend.position = "top")) #========================== # output: STABILITY PLOTS #=========================== bp_stability_CLP = paste0(outdir_images , tolower(gene) ,"_bp_stability_CL.svg") svg(bp_stability_CLP, width = 15, height = 12) print(paste0("plot filename:", bp_stability_CLP)) cowplot::plot_grid( common_legend, cowplot::plot_grid(duetP, foldxP , deepddgP, dynamut2P , nrow = 2 , ncol = 2 #, labels = c("(a)", "(b)", "(c)", "(d)") , labels = "AUTO" , label_size = 25) , ncol = 1 , nrow = 2 , rel_heights = c(0.4/10,9/10)) dev.off() ########################################################### #========================= # Affinity outcome # check this var: outcome_cols_affinity # get from preformatting or put in globals #========================== DistCutOff = 10 LigDist_colname # = "ligand_distance" # from globals ppi2Dist_colname = "interface_dist" naDist_colname = "TBC" ########################################################### # get plotting data within the distance df3_lig = df3[df3[[LigDist_colname]]