diff --git a/workflow/apps/r/calculate_interaction_zscores5.R b/workflow/apps/r/calculate_interaction_zscores5.R index a3c7d66d..ca73f6dc 100644 --- a/workflow/apps/r/calculate_interaction_zscores5.R +++ b/workflow/apps/r/calculate_interaction_zscores5.R @@ -157,18 +157,19 @@ update_gene_names <- function(df, sgd_gene_list) { } generate_plot <- function(df, x_var, y_var = NULL, plot_type, color_var = "conc_num", title, x_label = NULL, y_label = NULL) { - # Base ggplot object + # Base ggplot object with conditional y mapping if (!is.null(y_var)) { - plot <- ggplot(df, aes(x = {{x_var}}, y = {{y_var}}, color = {{color_var}})) + plot <- ggplot(df, aes(x = !!sym(x_var), y = !!sym(y_var), color = !!sym(color_var))) } else { - plot <- ggplot(df, aes(x = {{x_var}}, color = {{color_var}})) + plot <- ggplot(df, aes(x = !!sym(x_var), color = !!sym(color_var))) } # Handle different plot types if (plot_type == "scatter") { - plot <- plot + geom_point(shape = 3, size = 0.2, position = "jitter") + - stat_summary(fun.data = mean_sdl, geom = "errorbar", aes(y = {{y_var}})) + - stat_summary(fun = mean, geom = "point", size = 0.6, aes(y = {{y_var}})) + plot <- plot + + geom_point(shape = 3, size = 0.2, position = "jitter") + + stat_summary(fun.data = mean_sdl, geom = "errorbar") + + stat_summary(fun = mean, geom = "point", size = 0.6) } else if (plot_type == "box") { plot <- plot + geom_boxplot() } else if (plot_type == "density") { @@ -188,6 +189,7 @@ generate_plot <- function(df, x_var, y_var = NULL, plot_type, color_var = "conc_ } + generate_and_save_plots <- function(df, output_dir, prefix, variables, include_qc = FALSE) { plots <- list()