From 19287f3b4b383221e2aa7d69307ea66723551183 Mon Sep 17 00:00:00 2001 From: Tanushree Tunstall Date: Wed, 16 Sep 2020 13:23:49 +0100 Subject: [PATCH] playing with lineage_dist_dm_om --- scripts/plotting/or_plots_combined.R | 6 + .../lineage_dist_combined_PS_style.R | 133 +++++++++++++----- 2 files changed, 101 insertions(+), 38 deletions(-) diff --git a/scripts/plotting/or_plots_combined.R b/scripts/plotting/or_plots_combined.R index a664f1b..07e03e9 100644 --- a/scripts/plotting/or_plots_combined.R +++ b/scripts/plotting/or_plots_combined.R @@ -132,6 +132,12 @@ p1 = g1 + p1 +#============= +#ggplotly +# *so COOL* +fig <- ggplotly(p1) +fig +#============== #------------------- # generate plot 2: Lig vs OR by position as geom_points #------------------- diff --git a/scripts/plotting/scratch_plots/lineage_dist_combined_PS_style.R b/scripts/plotting/scratch_plots/lineage_dist_combined_PS_style.R index a1073e8..89fd5ba 100644 --- a/scripts/plotting/scratch_plots/lineage_dist_combined_PS_style.R +++ b/scripts/plotting/scratch_plots/lineage_dist_combined_PS_style.R @@ -53,11 +53,14 @@ cat("Variables imported:" , "\nother_muts_col:", other_muts_col , "\ndrtype_col:", resistance_col) +cat("cols imported:" + , mcsm_red2, mcsm_red1, mcsm_mid, mcsm_blue1, mcsm_blue2) + #======= # output #======= -#lineage_dist_dm_om = "lineage_dist_dm_om_PS.svg" -#plot_lineage_dist_dm_om = paste0(plotdir,"/", lineage_dist_dm_om) +lineage_dist_combined_dm_om = "lineage_dist_combined_dm_om_PS.svg" +plot_lineage_dist_combined_dm_om = paste0(plotdir,"/", lineage_dist_combined_dm_om) #======================================================================== ########################### @@ -79,11 +82,6 @@ rm(my_df_u, merged_df2, merged_df2_comp, merged_df3, merged_df3_comp) colnames(my_df) str(my_df) -# Ensure correct data type in columns to plot: need to be factor -is.factor(my_df$lineage) -my_df$lineage = as.factor(my_df$lineage) -is.factor(my_df$lineage) - table(my_df$mutation_info) #=================== @@ -95,27 +93,34 @@ table(my_df$lineage); str(my_df$lineage) sel_lineages = c("lineage1" , "lineage2" , "lineage3" - , "lineage4" + , "lineage4") #, "lineage5" #, "lineage6" - #, "lineage7" -) + #, "lineage7") +# works nicely with facet wrap using labeller, but not otherwise +#my_labels = c('Lineage 1' +# , 'Lineage 2' +# , 'Lineage 3' +# , 'Lineage 4') +# #, 'Lineage 5' +# #, 'Lineage 6' +# #, 'Lineage 7') -my_labels = c('Lineage 1', 'Lineage 2', 'Lineage 3', 'Lineage 4' - #, 'Lineage 5', 'Lineage 6', 'Lineage 7' - ) -names(my_labels) = c('lineage1', 'lineage2', 'lineage3', 'lineage4' - # , 'lineage5', 'lineage6', 'lineage7' - ) +#names(my_labels) = c('lineage1' +# , 'lineage2' +# , 'lineage3' +# , 'lineage4') +# #, 'lineage5' +# #, 'lineage6' +# #, 'lineage7') +#========================== # subset selected lineages -df_lin = subset(my_df, subset = lineage %in% sel_lineages ) +#========================== +df_lin = subset(my_df, subset = lineage %in% sel_lineages) table(df_lin$lineage) -# refactor -df_lin$lineage = factor(df_lin$lineage) - #{RESULT: Total number of samples for lineage} sum(table(df_lin$lineage)) @@ -131,6 +136,30 @@ u = unique(df_lin$mutationinformation) #{Result:Muts not present within selected lineages} check = u2[!u2%in%u]; print(check) +# workaround to make labels appear nicely for in otherwise cases +#================== +# lineage: labels +# from "plyr" +#================== +table(df_lin$lineage) + +df_lin$lineage_labels = mapvalues(df_lin$lineage + , from = c("lineage1","lineage2", "lineage3", "lineage4") + , to = c("Lineage 1", "Lineage 2", "Lineage 3", "Lineage 4")) +table(df_lin$lineage_labels) + +table(df_lin$lineage_labels) == table(df_lin$lineage) + +#======================== +# mutation_info: labels +#======================== +table(df_lin$mutation_info) + +df_lin$mutation_info_labels = ifelse(df_lin$mutation_info == dr_muts_col, "DM", "OM") +table(df_lin$mutation_info_labels) + +table(df_lin$mutation_info) == table(df_lin$mutation_info_labels) + #======================= # subset dr muts only #======================= @@ -191,10 +220,10 @@ p1 = ggplot(df, aes(x = duet_scaled #, jittered_points = TRUE , scale = 3 , size = 0.3 ) + - facet_wrap( ~lineage + facet_wrap( ~lineage_labels , scales = "free" - #, switch = 'x' - , labeller = labeller(lineage = my_labels)) + + #, labeller = labeller(lineage = my_labels) + ) + coord_cartesian( xlim = c(-1, 1)) + #scale_fill_gradientn(colours = c("#f8766d", "white", "#00bfc4") # , name = "DUET" ) + @@ -212,8 +241,8 @@ p1 = ggplot(df, aes(x = duet_scaled , axis.ticks.y = element_blank() , plot.title = element_blank() , strip.text = element_text(size = my_als) - , legend.text = element_text(size = my_als-5) - , legend.title = element_text(size = my_als) + , legend.text = element_text(size = my_als-6) + , legend.title = element_text(size = my_als-3) ) print(p1) @@ -221,19 +250,18 @@ print(p1) #======================================= # Plot 2: lineage dist by mutation_info #======================================= -mutation_info_labels = c("DM", "OM") -names(mutation_info_labels) = c(dr_muts_col, other_muts_col) -p3 = ggplot(df, aes(x = duet_scaled - , y = mutation_info))+ +p2 = ggplot(df, aes(x = duet_scaled + , y = mutation_info_labels))+ geom_density_ridges_gradient(aes(fill = ..x..) #, jittered_points = TRUE , scale = 3 , size = 0.3 ) + - facet_wrap(~lineage - # , scales = "free" - # #, switch = 'x' - , labeller = labeller(lineage = my_labels, mutation_info = mutation_info_labels)) + + facet_wrap(~lineage_labels + #, scales = "free" + #, labeller = labeller(lineage = my_labels) + ) + + coord_cartesian( xlim = c(-1, 1)) + #scale_fill_gradientn(colours = c("#ae301e", "white", "#007d85") # , name = "DUET" ) + @@ -245,29 +273,58 @@ p3 = ggplot(df, aes(x = duet_scaled , hjust = 1 , vjust = 0.4) - #, axis.text.y = element_blank() + , axis.text.y = element_text(size = my_ats) , axis.title.x = element_blank() , axis.title.y = element_blank() , axis.ticks.y = element_blank() , plot.title = element_blank() , strip.text = element_text(size = my_als) - , legend.text = element_text(size = my_als-5) - , legend.title = element_text(size = my_als) + , legend.position = "none" + #, legend.text = element_text(size = my_als-5) + #, legend.title = element_text(size = my_als) ) -print(p3) +print(p2) #============================== +p3 = ggplot(df, aes(x = duet_scaled + , y = lineage_labels))+ + geom_density_ridges_gradient(aes(fill = factor(mutation_info_labels)) + #, jittered_points = TRUE + , scale = 3 + , size = 0.3 ) + + coord_cartesian( xlim = c(-1, 1)) + + scale_fill_manual(values = c("#E69F00", "#999999")) + + theme(axis.text.x = element_text(size = my_ats + , angle = 90 + , hjust = 1 + , vjust = 0.4) + , axis.text.y = element_text(size = my_ats) + , axis.title.x = element_text(size = my_ats) + , axis.title.y = element_blank() + , axis.ticks.y = element_blank() + , plot.title = element_blank() + , strip.text = element_text(size = my_als) + , legend.text = element_text(size = my_als-2) + , legend.title = element_text(size = my_als-3) + , legend.position = c(0.8, 0.9)) + + labs(x = "DUET", fill = "Mutation class") + +# Modify legend titles +#p + labs(fill = "Dose (mg)") + +p3 ######################################################################## #============== # combine plot #=============== -svg(plot_lineage_dist_combined, width = 12, height = 6) +svg(plot_lineage_dist_combined_dm_om, width = 12, height = 6) printFile = cowplot::plot_grid(p1, p3 + , rel_widths = c(0.5/2, 0.5/2) , label_size = my_als+10) print(printFile)