setwd("~/git/LSHTM_analysis/scripts/plotting/")

source("../functions/lf_bp_with_stats.R")
source("../functions/lf_bp.R")

######################
# Make  plot
######################
# Note: Data
# run other_plots_data.R
# to get the long format data to test this function 

lf_bp(lf_df = lf_dynamut2
                       , p_title = "Dynamut2"
                       , colour_categ = "ddg_dynamut2_outcome"
                       , x_grp = "mutation_info"
                       , y_var = "param_value"
                       , facet_var = "param_type"
                       , n_facet_row = 1
                       , y_scales = "free_y"
                       , colour_bp_strip = "khaki2"
                       , dot_size = 3
                       , dot_transparency = 0.3
                       , violin_quantiles = c(0.25, 0.5, 0.75)
                       , my_ats = 22 # axis text size
                       , my_als = 20 # axis label size
                       , my_fls = 20 # facet label size
                       , my_pts = 22 # plot title size 
                       , make_boxplot = F
                       , bp_width = "auto"
                       , add_stats = T
                       , stat_grp_comp = c("DM", "OM")
                       , stat_method = "wilcox.test"
                       , my_paired = FALSE
                       , stat_label = c("p.format", "p.signif") )
 
# foo = lf_dynamut2 %>%
#   group_by(mutation_info, param_type) %>%
#   summarise( Mean = mean(param_value, na.rm = T)
#              , SD = sd(param_value, na.rm = T)
#              , Median = median(param_value, na.rm = T)
#              , IQR = IQR(param_value, na.rm = T) )

# Quick tests
plotdata_sel = subset(lf_dynamut2
             , lf_dynamut2$param_type == "ASA")

plot_sum = plotdata_sel %>%
  group_by(mutation_info, param_type) %>%
  summarise(n = n()
             , Mean = mean(param_value, na.rm = T)
             , SD = sd(param_value, na.rm = T)
             , Min = min(param_value, na.rm = T)
             , Q1 = quantile(param_value, na.rm = T, 0.25)
             , Median = median(param_value, na.rm = T)
             , Q3 = quantile(param_value, na.rm = T, 0.75)
             , Max = max(param_value, na.rm = T) ) %>%
  rename('Mutation Class' = mutation_info
         , Parameter = param_type)
plot_sum = as.data.frame(plot_sum, row.names = NULL)
plot_sum

bar = compare_means(param_value ~ mutation_info
              , group.by = "param_type"
              , data = plotdata_sel
              , paired = FALSE
              , p.adjust.method = "BH")
bar2 = bar[c("param_type"
              , "group1"
              , "group2"
              , "p.format"
              , "p.signif"
              , "p.adj")] %>%
  rename(Parameter = param_type
          , Group1 = group1
          , Group2 = group2
          , "P-value" = p.format
          , "P-sig" = p.signif
          , "P-adj" = p.adj)
bar2 = data.frame(bar2); bar2

library(Hmisc)
describe(lf_dynamut2)
