added the almost done shiny for barplots subcolours

This commit is contained in:
Tanushree Tunstall 2021-06-30 17:20:04 +01:00
parent 374764b136
commit ed2fc016ca
6 changed files with 267 additions and 263 deletions

View file

@ -12,6 +12,7 @@ source("../functions/my_pairs_panel.R") # with lower panel turned off
source("../functions/plotting_globals.R")
source("../functions/plotting_data.R")
source("../functions/combining_dfs_plotting.R")
source("../functions/bp_subcolours.R")
#********************
# cmd args passed
@ -25,7 +26,7 @@ source("../functions/combining_dfs_plotting.R")
#====================
LigDist_colname = "ligand_distance"
LigDist_cutoff = 20
LigDist_cutoff = 10
#===========
# input
@ -38,8 +39,8 @@ import_dirs(drug, gene)
#---------------------------
# call: plotting_data()
#---------------------------
#if (!exists("infile_params") && exists("gene")){
if (!is.character(infile_params) && exists("gene")){ # when running as cmd
if (!exists("infile_params") && exists("gene")){
#if (!is.character(infile_params) && exists("gene")){ # when running as cmd
#in_filename_params = paste0(tolower(gene), "_all_params.csv")
in_filename_params = paste0(tolower(gene), "_comb_afor.csv") # part combined for gid
infile_params = paste0(outdir, "/", in_filename_params)
@ -61,8 +62,8 @@ dup_muts = pd_df[[4]]
#--------------------------------
# call: combining_dfs_plotting()
#--------------------------------
#if (!exists("infile_metadata") && exists("gene")){
if (!is.character(infile_metadata) && exists("gene")){ # when running as cmd
if (!exists("infile_metadata") && exists("gene")){
#if (!is.character(infile_metadata) && exists("gene")){ # when running as cmd
in_filename_metadata = paste0(tolower(gene), "_metadata.csv") # part combined for gid
infile_metadata = paste0(outdir, "/", in_filename_metadata)
cat("\nInput file for gene metadata not specified, assuming filename: ", infile_metadata, "\n")
@ -89,6 +90,139 @@ merged_df3_lig = all_plot_dfs[[6]]
merged_df2_comp_lig = all_plot_dfs[[7]]
merged_df3_comp_lig = all_plot_dfs[[8]]
####################################################################
# Data for subcols barplot (~heatmpa)
####################################################################
# can include: mutation, or_kin, pwald, af_kin
cols_to_select = c("mutationinformation", "drtype"
#, "wild_type"
, "position"
#, "mutant_type"
, "chain", "ligand_id", "ligand_distance"
, "duet_stability_change", "duet_outcome", "duet_scaled"
, "ligand_affinity_change", "ligand_outcome", "affinity_scaled"
, "ddg", "foldx_scaled", "foldx_outcome"
, "deepddg", "deepddg_outcome"
, "asa", "rsa", "rd_values", "kd_values")
#, "af", "or_mychisq", "pval_fisher"
#, "or_fisher", "or_logistic", "pval_logistic")
#, "wt_prop_water", "mut_prop_water", "wt_prop_polarity", "mut_prop_polarity"
#, "wt_calcprop", "mut_calcprop")
#=======================
# Data for sub colours
# barplot: PS
#=======================
cat("\nNo. of cols to select:", length(cols_to_select))
subcols_df_ps = merged_df3[, cols_to_select]
cat("\nNo of unique positions for ps:"
, length(unique(subcols_df_ps$position)))
# add count_pos col that counts the no. of nsSNPS at a position
setDT(subcols_df_ps)[, pos_count := .N, by = .(position)]
# should be a factor
if (is.factor(subcols_df_ps$duet_outcome)){
cat("\nDuet_outcome is factor")
table(subcols_df_ps$duet_outcome)
}else{
cat("\nConverting duet_outcome to factor")
subcols_df_ps$duet_outcome = as.factor(subcols_df_ps$duet_outcome)
table(subcols_df_ps$duet_outcome)
}
# should be -1 and 1
min(subcols_df_ps$duet_scaled)
max(subcols_df_ps$duet_scaled)
tapply(subcols_df_ps$duet_scaled, subcols_df_ps$duet_outcome, min)
tapply(subcols_df_ps$duet_scaled, subcols_df_ps$duet_outcome, max)
# check unique values in normalised data
cat("\nNo. of unique values in duet scaled, no rounding:"
, length(unique(subcols_df_ps$duet_scaled)))
# No rounding
my_grp = subcols_df_ps$duet_scaled; length(my_grp)
# Add rounding is to be used
n = 3
subcols_df_ps$duet_scaledR = round(subcols_df_ps$duet_scaled, n)
cat("\nNo. of unique values in duet scaled", n, "places rounding:"
, length(unique(subcols_df_ps$duet_scaledR)))
my_grp_r = subcols_df_ps$duet_scaledR # rounding
# Add grp cols
subcols_df_ps$group <- paste0(subcols_df_ps$duet_outcome, "_", my_grp, sep = "")
subcols_df_ps$groupR <- paste0(subcols_df_ps$duet_outcome, "_", my_grp_r, sep = "")
# Call the function to create the palette based on the group defined above
subcols_ps <- ColourPalleteMulti(subcols_df_ps, "duet_outcome", "my_grp")
subcolsR_ps <- ColourPalleteMulti(subcols_df_ps, "duet_outcome", "my_grp_r")
print(paste0("Colour palette generated for my_grp: ", length(subcols_ps), " colours"))
print(paste0("Colour palette generated for my_grp_r: ", length(subcolsR_ps), " colours"))
#=======================
# Data for sub colours
# barplot: LIG
#=======================
cat("\nNo. of cols to select:", length(cols_to_select))
subcols_df_lig = merged_df3_lig[, cols_to_select]
cat("\nNo of unique positions for LIG:"
, length(unique(subcols_df_lig$position)))
# should be a factor
if (is.factor(subcols_df_lig$ligand_outcome)){
cat("\nLigand_outcome is factor")
table(subcols_df_lig$ligand_outcome)
}else{
cat("\nConverting ligand_outcome to factor")
subcols_df_lig$ligand_outcome = as.factor(subcols_df_lig$ligand_outcome)
table(subcols_df_lig$ligand_outcome)
}
# should be -1 and 1
min(subcols_df_lig$affinity_scaled)
max(subcols_df_lig$affinity_scaled)
tapply(subcols_df_lig$affinity_scaled, subcols_df_lig$ligand_outcome, min)
tapply(subcols_df_lig$affinity_scaled, subcols_df_lig$ligand_outcome, max)
# check unique values in normalised data
cat("\nNo. of unique values in affinity scaled, no rounding:"
, length(unique(subcols_df_lig$affinity_scaled)))
# No rounding
my_grp_lig = subcols_df_lig$affinity_scaled; length(my_grp_lig)
# Add rounding is to be used
n = 3
subcols_df_lig$affinity_scaledR = round(subcols_df_lig$affinity_scaled, n)
cat("\nNo. of unique values in duet scaled", n, "places rounding:"
, length(unique(subcols_df_lig$affinity_scaledR)))
my_grp_lig_r = subcols_df_lig$affinity_scaledR # rounding
# Add grp cols
subcols_df_lig$group_lig <- paste0(subcols_df_lig$ligand_outcome, "_", my_grp_lig, sep = "")
subcols_df_lig$group_ligR <- paste0(subcols_df_lig$ligand_outcome, "_", my_grp_lig_r, sep = "")
# Call the function to create the palette based on the group defined above
subcols_lig <- ColourPalleteMulti(subcols_df_lig, "ligand_outcome", "my_grp_lig")
subcolsR_lig <- ColourPalleteMulti(subcols_df_lig, "ligand_outcome", "my_grp_lig_r")
print(paste0("Colour palette generated for my_grp: ", length(subcols_lig), " colours"))
print(paste0("Colour palette generated for my_grp_r: ", length(subcolsR_lig), " colours"))
####################################################################
# Data for logoplots
####################################################################