added function for generating lineage barplots and also test script along wiadding script for processing data and added it to get_plotting_dfs.R
This commit is contained in:
parent
343f867eed
commit
7ba6868b60
6 changed files with 470 additions and 5 deletions
172
scripts/functions/bp_lineage.R
Normal file
172
scripts/functions/bp_lineage.R
Normal file
|
@ -0,0 +1,172 @@
|
|||
########################################
|
||||
# Lineage and within SNP count barplot
|
||||
########################################
|
||||
|
||||
lin_count_bp <- function( lf_data
|
||||
, x_categ = ""
|
||||
, y_count = ""
|
||||
, bar_fill_categ = ""
|
||||
, display_label_col = ""
|
||||
, bar_stat_stype = "identity"
|
||||
, x_lab_angle = 90
|
||||
, d_lab_size = 5
|
||||
, d_lab_hjust = 0.5
|
||||
, d_lab_vjust = 0.5
|
||||
, d_lab_col = "black"
|
||||
, my_xats = 20 # x axis text size
|
||||
, my_yats = 20 # y axis text size
|
||||
, my_xals = 22 # x axis label size
|
||||
, my_yals = 22 # y axis label size
|
||||
, my_lls = 22 # legend label size
|
||||
, bar_col_labels = c("Mutations", "Total Samples")
|
||||
, bar_col_values = c("grey50", "gray75")
|
||||
, bar_leg_name = ""
|
||||
, leg_location = "top"
|
||||
, y_log10 = FALSE
|
||||
, y_scale_percent = FALSE
|
||||
, y_label = c("Count", "SNP diversity")
|
||||
) {
|
||||
g = ggplot(lf_data
|
||||
, aes( x = factor( eval(parse(text = x_categ)), ordered = T )
|
||||
, y = eval(parse(text = y_count))
|
||||
, fill = eval(parse(text = bar_fill_categ)) ) )
|
||||
|
||||
OutPlot = g + geom_bar( stat = bar_stat_stype
|
||||
, position = position_stack(reverse = TRUE)
|
||||
#, alpha = 1
|
||||
#, colour = "grey75"
|
||||
) +
|
||||
theme(axis.text.x = element_text(size = my_xats
|
||||
, angle = x_lab_angle)
|
||||
, axis.text.y = element_text(size = my_yats
|
||||
, angle = 90
|
||||
, hjust = 1
|
||||
, vjust = 0)
|
||||
, axis.title.x = element_text(size = my_xals
|
||||
, colour = "black")
|
||||
, axis.title.y = element_text(size = my_yals
|
||||
, colour = "black")
|
||||
, legend.position = leg_location
|
||||
, legend.text = element_text(size = my_lls)) +
|
||||
|
||||
geom_label(aes(label = eval(parse(text = display_label_col)))
|
||||
, size = d_lab_size
|
||||
, hjust = d_lab_hjust
|
||||
, vjust = d_lab_vjust
|
||||
, colour = d_lab_col
|
||||
, show.legend = FALSE
|
||||
#, check_overlap = TRUE
|
||||
, position = position_stack(reverse = T)) +
|
||||
|
||||
scale_fill_manual(values = bar_col_values
|
||||
, name = bar_leg_name
|
||||
, labels = bar_col_labels) +
|
||||
labs(title = ""
|
||||
, x = ""
|
||||
, y = y_label
|
||||
, colour = "black")
|
||||
|
||||
|
||||
if (y_log10){
|
||||
|
||||
OutPlot = OutPlot +
|
||||
scale_y_continuous(trans = "log10"
|
||||
, labels = trans_format("log10", math_format(10^.x) ) )
|
||||
|
||||
}
|
||||
|
||||
if (y_scale_percent){
|
||||
|
||||
OutPlot = OutPlot +
|
||||
#scale_y_continuous(labels = scales::percent_format(accuracy = 1)) +
|
||||
scale_y_continuous(labels = scales::percent) +
|
||||
|
||||
labs(title = ""
|
||||
, x = ""
|
||||
, y = y_label
|
||||
, colour = "black")
|
||||
}
|
||||
|
||||
return(OutPlot)
|
||||
}
|
||||
|
||||
############################
|
||||
# Lineage diversity barplot
|
||||
############################
|
||||
# lin_diversity_bp <- function( wf_data
|
||||
# , x_categ = "sel_lineages"
|
||||
# , y_count = "snp_diversity"
|
||||
# , bar_stat_stype = "identity"
|
||||
# , display_label_col = "snp_diversity_f"
|
||||
# , x_lab_angle = 90
|
||||
# , d_lab_size = 5
|
||||
# , d_lab_hjust = 0.5
|
||||
# , d_lab_vjust = 0.5
|
||||
# , d_lab_col = "black"
|
||||
# , my_xats = 20 # x axis text size
|
||||
# , my_yats = 20 # y axis text size
|
||||
# , my_xals = 22 # x axis label size
|
||||
# , my_yals = 22 # y axis label size
|
||||
# , my_lls = 22 # legend label size
|
||||
# , bar_leg_name = ""
|
||||
# , leg_location = "top"
|
||||
# , y_scale_percent = TRUE
|
||||
# , y_label = "SNP diversity" )
|
||||
#
|
||||
# {
|
||||
# g = ggplot(wf_data
|
||||
# , aes( x = factor( eval(parse(text = x_categ)), ordered = T )
|
||||
# , y = eval(parse(text = y_count)) ) )
|
||||
#
|
||||
# OutPlot = g + geom_bar( stat = bar_stat_stype
|
||||
# , position = position_stack(reverse = TRUE)
|
||||
# ) +
|
||||
#
|
||||
# theme(axis.text.x = element_text(size = my_xats
|
||||
# , angle = x_lab_angle)
|
||||
# , axis.text.y = element_text(size = my_yats
|
||||
# , angle = 90
|
||||
# , hjust = 1
|
||||
# , vjust = 0)
|
||||
# , axis.title.x = element_text(size = my_xals
|
||||
# , colour = "black")
|
||||
# , axis.title.y = element_text(size = my_yals
|
||||
# , colour = "black")
|
||||
# , legend.position = leg_location
|
||||
# , legend.text = element_text(size = my_lls)) +
|
||||
#
|
||||
# geom_label(aes(label = eval(parse(text = display_label_col)))
|
||||
# , size = d_lab_size
|
||||
# , hjust = d_lab_hjust
|
||||
# , vjust = d_lab_vjust
|
||||
# , colour = d_lab_col
|
||||
# , show.legend = FALSE
|
||||
# #, check_overlap = TRUE
|
||||
# , position = position_stack(reverse = T))
|
||||
# # return(OutPlot)
|
||||
#
|
||||
# if (y_scale_percent){
|
||||
#
|
||||
# OutPlot = OutPlot +
|
||||
# scale_y_continuous(labels = scales::percent_format(accuracy = 1)) +
|
||||
# labs(title = ""
|
||||
# , x = ""
|
||||
# , y = y_label
|
||||
# , colour = "black")
|
||||
#
|
||||
# return(OutPlot)
|
||||
# }
|
||||
|
||||
# return(OutPlot)
|
||||
|
||||
# }
|
||||
|
||||
|
||||
|
||||
|
||||
# ggp <- ggplot(bar_sel, aes(sel_lineages, snp_diversity)) +
|
||||
# geom_bar(stat = "identity")
|
||||
# ggp + scale_y_continuous(labels = scales::percent_format(accuracy = 1)
|
||||
# #, limits = c(0,1)
|
||||
# , breaks = seq(0, 30, 5)
|
||||
# )
|
111
scripts/functions/test_bp_lineage.R
Normal file
111
scripts/functions/test_bp_lineage.R
Normal file
|
@ -0,0 +1,111 @@
|
|||
setwd("~/git/LSHTM_analysis/scripts/plotting")
|
||||
|
||||
#source ('get_plotting_dfs.R')
|
||||
source("../functions/bp_lineage.R")
|
||||
|
||||
#########################################
|
||||
# Lineage and SNP count: lineage lf data
|
||||
#########################################
|
||||
# Relevel factors so that x-axis categ appear as you want
|
||||
lin_lf_plot = lin_lf
|
||||
lin_lf_plot
|
||||
is.factor(lin_lf_plot$sel_lineages_f)
|
||||
|
||||
lin_lf_plot$sel_lineages_f = factor(lin_lf_plot$sel_lineages_f, c(""
|
||||
, "L1"
|
||||
, "L2"
|
||||
, "L3"
|
||||
, "L4"
|
||||
, "L5"
|
||||
, "L6"
|
||||
, "L7"
|
||||
, "LBOV"
|
||||
, "L1;L2"
|
||||
, "L1;L3"
|
||||
, "L1;L4"
|
||||
, "L2;L3"
|
||||
, "L2;L3;L4"
|
||||
, "L2;L4"
|
||||
, "L2;L6"
|
||||
, "L2;LBOV"
|
||||
, "L3;L4"
|
||||
, "L4;L6"
|
||||
, "L4;L7"))
|
||||
|
||||
levels(lin_lf_plot$sel_lineages_f)
|
||||
|
||||
lin_count_bp(lin_lf_plot
|
||||
, x_categ = "sel_lineages_f"
|
||||
, y_count = "p_count"
|
||||
, bar_fill_categ = "count_categ"
|
||||
, display_label_col = "p_count"
|
||||
, bar_stat_stype = "identity"
|
||||
, x_lab_angle = 90
|
||||
, my_xats = 20
|
||||
, bar_col_labels = c("Mutations", "Total Samples")
|
||||
, bar_col_values = c("grey50", "gray75")
|
||||
, y_log10 = T
|
||||
, y_label = "Count"
|
||||
, y_scale_percent = F)
|
||||
|
||||
###############################################
|
||||
# Lineage SNP diversity count: lineage wf data
|
||||
###############################################
|
||||
# Relevel factors so that x-axis categ appear as you want
|
||||
lin_wf_plot = lin_wf
|
||||
is.factor(lin_wf_plot$sel_lineages_f)
|
||||
|
||||
lin_wf_plot$sel_lineages_f = factor(lin_wf_plot$sel_lineages_f, c(""
|
||||
, "L1"
|
||||
, "L2"
|
||||
, "L3"
|
||||
, "L4"
|
||||
, "L5"
|
||||
, "L6"
|
||||
, "L7"
|
||||
, "LBOV"
|
||||
, "L1;L2"
|
||||
, "L1;L3"
|
||||
, "L1;L4"
|
||||
, "L2;L3"
|
||||
, "L2;L3;L4"
|
||||
, "L2;L4"
|
||||
, "L2;L6"
|
||||
, "L2;LBOV"
|
||||
, "L3;L4"
|
||||
, "L4;L6"
|
||||
, "L4;L7"))
|
||||
|
||||
levels(lin_wf_plot$sel_lineages_f)
|
||||
|
||||
#==========
|
||||
# Plot
|
||||
#==========
|
||||
lin_count_bp(lin_wf_plot
|
||||
, x_categ = "sel_lineages_f"
|
||||
, y_count = "snp_diversity"
|
||||
, display_label_col = "snp_diversity_f"
|
||||
|
||||
, bar_stat_stype = "identity"
|
||||
, x_lab_angle = 90
|
||||
, my_xats = 20
|
||||
, y_scale_percent = T
|
||||
, y_label = "SNP diversity"
|
||||
|
||||
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
, x_categ = "sel_lineages_f"
|
||||
, y_count = "p_count"
|
||||
, bar_fill_categ = "count_categ"
|
||||
, display_label_col = "p_count"
|
||||
, bar_stat_stype = "identity"
|
||||
, x_lab_angle = 90
|
||||
, my_xats = 15
|
||||
, bar_col_labels = c("Mutations", "Total Samples")
|
||||
, bar_col_values = c("grey50", "gray75")
|
||||
, y_log10 = T
|
||||
, y_scale_percent = F
|
Loading…
Add table
Add a link
Reference in a new issue