diff --git a/scripts/functions/bp_subcolours.R b/scripts/functions/bp_subcolours.R index 462a2c8..2fefb9b 100755 --- a/scripts/functions/bp_subcolours.R +++ b/scripts/functions/bp_subcolours.R @@ -34,7 +34,7 @@ ColourPalleteMulti = function(df, group, subgroup){ # above function ######################### -bp_stability_hmap <- function(plotdf = merged_df3 +bp_stability_hmap <- function(plot_df = merged_df3 , xvar_colname = "position" , yvar_colname = 'duet_scaled' #FIXME: temp, remove #, bar_col_colname = "group" @@ -68,30 +68,30 @@ bp_stability_hmap <- function(plotdf = merged_df3 # Build data with colours # ~ ligand distance #========================= - plotdf = generate_distance_colour_map(plotdf, debug=TRUE) + plot_df = generate_distance_colour_map(plot_df, debug=TRUE) # order the df by position and ensure it is a factor - plotdf = plotdf[order(plotdf[[xvar_colname]]), ] - plotdf[[xvar_colname]] = factor(plotdf[[xvar_colname]]) + plot_df = plot_df[order(plot_df[[xvar_colname]]), ] + plot_df[[xvar_colname]] = factor(plot_df[[xvar_colname]]) #cat("\nSneak peak:\n") - head(data.frame( plotdf[[xvar_colname]], plotdf[[stability_colname]] ) ) + head(data.frame( plot_df[[xvar_colname]], plot_df[[stability_colname]] ) ) # stability values isolated to help with generating column called: 'group' - my_grp = plotdf[[stability_colname]] + my_grp = plot_df[[stability_colname]] cat( "\nLength of nsSNPs:", length(my_grp) , "\nLength of unique values for nsSNPs:", length(unique(my_grp)) ) # Add col: 'group' - plotdf$group = paste0(plotdf[[stability_outcome_colname]], "_", my_grp, sep = "") + plot_df$group = paste0(plot_df[[stability_outcome_colname]], "_", my_grp, sep = "") # check unique values in normalised data cat("\nNo. of unique values in", stability_colname, "no rounding:" - , length(unique(plotdf[[stability_colname]]))) + , length(unique(plot_df[[stability_colname]]))) # Call the function to create the palette based on the group defined above #subcols_ps - subcols_bp_hmap = ColourPalleteMulti(plotdf, stability_outcome_colname, stability_colname) + subcols_bp_hmap = ColourPalleteMulti(plot_df, stability_outcome_colname, stability_colname) cat("\nNo. of sub colours generated:", length(subcols_bp_hmap)) @@ -100,40 +100,54 @@ bp_stability_hmap <- function(plotdf = merged_df3 # Generate the subcols barplot #------------------------------- cowplot::plot_grid( - ggplot(plotdf, aes_string(x = xvar_colname - # , ordered = T) + ggplot(plot_df, aes_string(x = xvar_colname + # , ordered = T) )) + geom_bar(aes(fill = group) , colour = "grey") + scale_fill_manual( values = subcols_bp_hmap , guide = "none") + + # scale_x_discrete("Position", labels=factor(plot_df$position)) + - theme( axis.text.x = element_text(size = my_xaxls - , angle = 90 - , hjust = 1 - , vjust = 0.4) - , axis.text.y = element_text(size = my_yaxls - , angle = 0 - , hjust = 1 - , vjust = 0) - , axis.title.x = element_text(size = my_xaxts) - , axis.title.y = element_text(size = my_yaxts ) - , plot.title = element_text(size = my_pts - , hjust = 0.5)) + + theme( + axis.text.x = element_text(size = my_xaxls + , angle = 90 + , hjust = 1 + , vjust = 0.4) + , axis.text.y = element_text(size = my_yaxls + , angle = 0 + , hjust = 1 + , vjust = 0) + , axis.title.x = element_blank() + #, axis.title.x = element_text(size = my_xaxts) + , axis.title.y = element_text(size = my_yaxts ) + , plot.title = element_text(size = my_pts + , hjust = 0.5)) + labs(title = p_title , x = my_xlab , y = my_ylab), - geom_tile(aes(, tpos0 # heat-mapped distance tiles along the bot - , width = tW0 - , height = tH0) - , fill = plotdf$ligD_colours - , colour = plotdf$ligD_colours - , linetype = "blank"), #end of distance-heat-bar - generate_distance_legend(plotdf), - ncol = 2, - #align = "hv", - rel_widths = c(9/10, 0.4/10) + NULL, + ggplot(plot_df, + aes(x=factor(position), # THIS STUPID FUCKING FACTOR THING + ) + ) + + geom_tile(aes(y=0), + fill=plot_df$ligD_colours) + + scale_x_discrete("Position", labels=factor(plot_df$position)) + + theme_nothing() + + theme(plot.background = element_rect(fill = "transparent", colour=NA), + plot.margin = margin(t=0,b=0)) + + labs(x = NULL, y = NULL), #end of distance-heat-bar + NULL, + position_annotation(plot_df), + #generate_distance_legend(plot_df), + ncol = 1, + align = "v", + rel_heights = c(10,-0.1,1,-0.1,1) + #rel_widths = c(9/10, 0.4/10) ) + } +bp_stability_hmap(small_df3) diff --git a/scripts/functions/logoP_snp.R b/scripts/functions/logoP_snp.R index 6222b70..a28c588 100644 --- a/scripts/functions/logoP_snp.R +++ b/scripts/functions/logoP_snp.R @@ -219,7 +219,7 @@ LogoPlotSnps <- function(plot_df , method = 'custom' , col_scheme = my_logo_col , seq_type = 'aa') + - + scale_x_continuous(breaks = 1:ncol(tab_mt) , expand = c(0.01,0) , labels = colnames(tab_mt))+ @@ -250,64 +250,73 @@ LogoPlotSnps <- function(plot_df , axis.title.y = element_text(size = y_tts , colour = ytt_col) - , plot.background = element_rect(fill = theme_bgc) - ) - ,ggseqlogo(tab_wt - , method = 'custom' - , col_scheme = my_logo_col - , seq_type = 'aa') + + , plot.background = element_rect(fill = theme_bgc, colour=NA) + ), + ggseqlogo(tab_wt + , method = 'custom' + , col_scheme = my_logo_col + , seq_type = 'aa') + scale_x_continuous(breaks = 1:ncol(tab_wt) , expand = c(0.01,0) - , labels = colnames(tab_wt))+ + , labels = as.factor(colnames(tab_wt))) + theme(text = element_text(family="FreeSans") , legend.position = "none" , axis.text.x = element_blank() , axis.text.y = element_blank() , axis.title.x = element_blank() , axis.title.y = element_blank() - , plot.background = element_rect(fill = theme_bgc) + , plot.background = element_rect(fill = theme_bgc, colour=NA) ) + - labs(x=NULL, y=NULL) - , - ggplot(data=unique_colour_map2, aes( - x=factor(position), 0 # heat-mapped distance tiles along the bot - , fill = position - , colour = position - , linetype = "blank" - ) + labs(x=NULL, y=NULL), + ggplot( + data=unique_colour_map2, + aes( + x=factor(position), 0 # heat-mapped distance tiles along the bot + , fill = position + , colour = position + , linetype = "blank" + ) ) + geom_tile() + - theme(axis.text.x = element_text(size = x_ats - , angle = x_tangle - , hjust = 1 - , vjust = 0.4 - , colour = xfont_bgc) - , axis.text.y = element_blank() - , axis.ticks.y = element_blank() - , axis.title.x = element_text(size = x_tts - , colour = xtt_col) - , axis.title.y = element_text(size = y_tts - , colour = ytt_col) - , legend.title = element_text(size = leg_tts - , colour = ytt_col) - , legend.text = element_text(size = leg_ts) - - , legend.position = leg_pos - , legend.direction = leg_dir - , plot.background = element_rect(fill = theme_bgc) - , plot.margin = margin(t=0) - , panel.grid=element_blank() - , panel.background = element_rect(fill = theme_bgc) + theme( + axis.text.x = element_blank() + , axis.ticks.x = element_blank() + # axis.text.x = element_text(size = x_ats + # , angle = x_tangle + # , hjust = 1 + # , vjust = 0.4 + # , colour = xfont_bgc) + , axis.text.y = element_blank() + , axis.ticks.y = element_blank() + , axis.title.x = element_blank() + + # , axis.title.x = element_text(size = x_tts + # , colour = xtt_col) + # , axis.title.y = element_text(size = y_tts + # , colour = ytt_col) + # , legend.title = element_text(size = leg_tts + # , colour = ytt_col) + , legend.text = element_text(size = leg_ts) + + , legend.position = leg_pos + , legend.direction = leg_dir + , plot.background = element_rect(fill = theme_bgc, colour=NA) + , plot.margin = margin(t=0) + , panel.grid=element_blank() + , panel.background = element_rect(fill = theme_bgc, colour=NA) ) + scale_x_discrete(x_lab, labels=factor(unique_colour_map$position)) + scale_color_manual(values=unique_colour_map$ligD_colours) + scale_fill_manual(values=unique_colour_map$ligD_colours) + labs(y = NULL) - , nrow = 3 + , NULL + , position_annotation(plot_df, bg=theme_bgc) + , ncol=1 , align = "v" - , rel_heights = c(7/10, 2/7, 1/7)) + , rel_heights = c(7/10, 2/7,1/7, -0.1, 0.5/7)) #------------------ # Wild logo plot #------------------ } -#LogoPlotSnps(mutable_df3) + +#LogoPlotSnps(small_df3) diff --git a/scripts/functions/wideP_consurf.R b/scripts/functions/wideP_consurf.R index 8a37cd1..23c7d30 100644 --- a/scripts/functions/wideP_consurf.R +++ b/scripts/functions/wideP_consurf.R @@ -27,7 +27,7 @@ wideP_consurf2 <- function(plot_df , lower_EB_colname = "consurf_ci_lower" , plot_type = "point" # default is point - , point_colours + , point_colours = consurf_bp_colours , p_size = 2 , leg_title1 = "" , leg_labels = c("0": "Insufficient Data" @@ -321,7 +321,7 @@ wideP_consurf2 <- function(plot_df g1_leg = g1_leg + geom_bar(aes_string(fill = sprintf("factor(%s)" , yvar_colourN_colname))) - g1_leg = g1_leg + scale_fill_manual(values = consurf_palette1 , name = leg_title1) + g1_leg = g1_leg + scale_fill_manual(values = consurf_bp_colours , name = leg_title1) g1_leg legend1 = get_legend(g1_leg)