LSHTM_analysis/scripts/plotting/myshiny/my_stability_bp.R

77 lines
2.7 KiB
R

#!/usr/bin/env Rscript
# load libraries
#########################################################
# TASK: function for basic barplot returning stability counts
#########################################################
# load libraries and functions
library(ggplot2)
theme_set(theme_grey())
#==========================================================
# my_stability_count(): basic barplots for stability counts
# input args
## df containing data to plot
## df column name containing stability outcome
## legend title
## ...opt args
#==========================================================
my_stability_count <- function(plotdf
, df_colname
, leg_title
, axis_text_size = 25
, axis_label_size = 22
, leg_text_size = 20
, yaxis_title = "Number of nsSNPs"
, bp_plot_title = ""){
OutPlot_count = ggplot(plotdf, aes(x = eval(parse(text = df_colname)))) +
geom_bar(aes(fill = eval(parse(text = df_colname))), show.legend = TRUE) +
geom_label(stat = "count"
, aes(label = ..count..)
, color = "black"
, show.legend = FALSE
, size = 10) +
theme(axis.text.x = element_blank()
, axis.title.x = element_blank()
, axis.title.y = element_text(size = axis_label_size)
, axis.text.y = element_text(size = axis_text_size)
, legend.position = c(0.73,0.8)
, legend.text = element_text(size = leg_text_size)
, legend.title = element_text(size = axis_label_size)
, plot.title = element_text(size = axis_label_size)) +
labs(title = bp_plot_title
, y = yaxis_title) +
scale_fill_discrete(name = leg_title
, labels = c("Destabilising", "Stabilising"))
return(OutPlot_count)
}
#############################################################
# end of function
#############################################################
#=================
# Test function
#==================
source("../plotting_data.R")
infile = "/home/tanu/git/Data/streptomycin/output/gid_comb_stab_struc_params.csv"
pd_df = plotting_data(infile)
#my_df = pd_df[[1]]
my_df_u = pd_df[[2]]
#my_df_u_lig = pd_df[[3]]
#dup_muts = pd_df[[4]]
#------------------------------
# barplot for mscm stability
#------------------------------
#my_stability_count(plotdf = my_df,
# , df_colname = "duet_outcome",
# , leg_title = "DUET outcome")
#------------------------------
# barplot for ligand affinity
#------------------------------
my_stability_count(plotdf = my_df_u,
, df_colname = "ligand_outcome",
, leg_title = "Ligand outcome"
, bp_plot_title = "Sites < 10 Ang of ligand"
)