Formatting functions
#' Format number with significant digits
#' @param signif number of significant digits
#' @param sci_notation cutoff when to start using scientific notation
#' @param sci_as_latex scientific notiation as latex
#' @param include_plus whether to include plus sign
format_with_signif <- function(x, signif = 2, sci_notation = 1e-5, sci_as_latex = FALSE, include_plus = FALSE) {
if(signif <= 0) stop("this function only supports numbers with at least 1 significant digit")
x <- base::signif(x, digits = signif)
n_decimals = ifelse(x == 0, 0, log10(abs(x)))
n_decimals = ifelse(
n_decimals < 0,
-floor(n_decimals) + signif - 1L,
-ceiling(n_decimals) + signif
)
plus <- if(include_plus) "+" else ""
pow <- if(sci_as_latex) "\\\\cdot{}10^{-%.0f}" else "e-%.0f"
ifelse(
abs(x) > sci_notation,
sprintf(sprintf("%%%s.%0.ff", plus, n_decimals), x),
sprintf(sprintf("%%%s.%0.ff%s", plus, signif - 1L, pow),
x * 10^(n_decimals - signif + 1L), (n_decimals - signif + 1L))
)
}
Calc FAs functions
calculate_r2 <- function(x, y) {
lm(y ~ x, data = tibble(x = x, y = y)) %>% broom::glance() %>% pull(r.squared)
}
calculate_p_val <- function(x, y) {
lm(y ~ x, data = tibble(x = x, y = y)) %>% broom::glance() %>% pull(p.value)
}
calculate_FAs <- function(df, parent_set_name, subset_name) {
# names of parent set and subset. this is called when importing the schematic pdf
df %>% mutate(subset = !!subset_name,
parent_set = !!parent_set_name) %>%
# complete calculation. group_by here will determine which subsets are calculated
group_by(sample_id, .add = T) %>% # .add = T allows for original df grouping to be passed in here
mutate(percentage = amount / sum(amount)) %>%
ungroup() %>%
# add model parameters
group_by(methyl, cycle, pos) %>%
# calculate and add r2 and p-value asterisk
mutate(
r2 = calculate_r2(x = temp, y = percentage),
p_value = calculate_p_val(x = temp, y = percentage),
p_value_star = if_else(p_value >= 0.01, "*", ""),
full_temp_p_value_star = if_else(full_temp_p_value >= 0.01, "*", ""),
label = sprintf(
"$\\textbf{%s}:\\,\\textit{R}^2 = %.2f%s\\,(\\textit{%.2f%s})$",
compound, r2, p_value_star, full_temp_r2, full_temp_p_value_star
)
) %>%
ungroup() %>%
arrange(cycle, methyl, pos)
}
# Same function as calculate_FAs but for conductivity
calculate_FAs_cond <- function(df, parent_set_name, subset_name) {
# names of parent set and subset. this is called when importing the schematic pdf
df %>% mutate(subset = !!subset_name,
parent_set = !!parent_set_name) %>%
# complete calculation. group_by here will determine which subsets are calculated
group_by(sample_id, .add = T) %>% # .add = T allows for original df grouping to be passed in here
mutate(percentage = amount / sum(amount)) %>%
ungroup() %>%
# add model parameters
group_by(methyl, cycle, pos) %>%
mutate(
r2 = calculate_r2(x = ln_conductivity, y = percentage),
p_value = calculate_p_val(x = ln_conductivity, y = percentage),
p_value_star = if_else(p_value >= 0.01, "*", ""),
full_cond_p_value_star = if_else(full_cond_p_value >= 0.01, "*", ""),
label = sprintf(
"$\\textbf{%s}:\\,\\textit{R}^2 = %.2f%s\\,(\\textit{%.2f%s})$",
compound, r2, p_value_star, full_cond_r2, full_cond_p_value_star
)
) %>%
ungroup() %>%
arrange(methyl, cycle, pos)
}
# Same function as calculate_FAs but for pH
calculate_FAs_pH <- function(df, parent_set_name, subset_name) {
df %>% mutate(subset = !!subset_name,
parent_set = !!parent_set_name) %>%
# complete calculation. group_by here will determine which subsets are calculated
group_by(sample_id, .add = T) %>% # .add = T allows for original df grouping to be passed in here
mutate(percentage = amount / sum(amount)) %>%
ungroup() %>%
# add model parameters
group_by(methyl, cycle, pos) %>%
mutate(
r2 = calculate_r2(x = pH, y = percentage),
p_value = calculate_p_val(x = pH, y = percentage),
p_value_star = if_else(p_value >= 0.01, "*", ""),
full_pH_p_value_star = if_else(full_pH_p_value >= 0.01, "*", ""),
label = sprintf(
"$\\textbf{%s}:\\,\\textit{R}^2 = %.2f%s\\,(\\textit{%.2f%s})$",
compound, r2, p_value_star, full_pH_r2, full_pH_p_value_star
)
) %>%
ungroup() %>%
arrange(methyl, cycle, pos)
}
# Same function as calculate_FAs but for DO_mean
calculate_FAs_DO <- function(df, parent_set_name, subset_name) {
df %>% mutate(subset = !!subset_name,
parent_set = !!parent_set_name) %>%
# complete calculation. group_by here will determine which subsets are calculated
group_by(sample_id, .add = T) %>% # .add = T allows for original df grouping to be passed in here
mutate(percentage = amount / sum(amount)) %>%
ungroup() %>%
# add model parameters
group_by(methyl, cycle, pos) %>%
mutate(
r2 = calculate_r2(x = DO, y = percentage),
p_value = calculate_p_val(x = DO, y = percentage),
p_value_star = if_else(p_value >= 0.01, "*", ""),
full_DO_p_value_star = if_else(full_DO_p_value >= 0.01, "*", ""),
label = sprintf(
"$\\textbf{%s}:\\,\\textit{R}^2 = %.2f%s\\,(\\textit{%.2f%s})$",
compound, r2, p_value_star, full_DO_r2, full_DO_p_value_star
)
) %>%
ungroup() %>%
arrange(methyl, cycle, pos)
}
Color schemes
# Note that many of these are reduntant since I decided to use the same colors, but they're coded in for the flexibility
grp_colors <-
tribble(
~col_grp, ~color,
# meth
"meth_a_5me", "#AADFF1",
"meth_a_6me", "#AADFF1",
"meth_a_5me_noI", "#AADFF1",
"meth_a_6me_noI", "#AADFF1",
"meth_a_both_noI", "#AADFF1",
"meth_a_both", "#AADFF1",
"meth_b_5me", "#9B85BE",
"meth_b_6me", "#9B85BE",
"meth_b_5me_noI", "#9B85BE",
"meth_b_6me_noI", "#9B85BE",
"meth_b_both_noI", "#9B85BE",
"meth_b_both", "#9B85BE",
"meth_c_5me", "#80CAA5",
"meth_c_6me", "#80CAA5",
"meth_c_5me_noI", "#80CAA5",
"meth_c_6me_noI", "#80CAA5",
"meth_c_both_noI", "#80CAA5",
"meth_c_both", "#80CAA5",
# cyc
"cyc_I_5me", "#FCEC98",
"cyc_I_6me", "#FCEC98",
"cyc_I_both", "#FCEC98",
"cyc_II_5me", "#F59DB2",
"cyc_II_6me", "#F59DB2",
"cyc_II_both", "#F59DB2",
"cyc_III_5me", "#FBB57F",
"cyc_III_6me", "#FBB57F",
"cyc_III_both", "#FBB57F",
# isom
"isom_a", "#A7A9AC",
"isom_b", "#A7A9AC",
"isom_c", "#A7A9AC",
# combined
"mi_a", "#7D93AA",
"mi_b", "#8677A6",
"mi_c", "#929D79",
"ci_I", "#E8D9A9",
"ci_II", "#BD6477",
"ci_III", "#E18256",
"mc_5me", "#67ADA9",
"mc_5me_noI", "#67ADA9",
"mc_6me", "#67ADA9",
"mc_6me_noI", "#67ADA9",
"full", "#D5C7C1"
)
Base Plots
# parent sets: meth, cyc, isom, mi, ci, mc, full
# subsets: me and cy - 5me, 6me, both
# col_grp will end up being meth_a_5me
# data base plot
base_plot <-
ggplot() +
# patterned background
geom_rect_pattern(
data = function(df) {
df %>%
select(panel, compound, methyl, pos, cycle, parent_set, subset) %>%
unique() %>%
mutate(col_grp = case_when(parent_set == "meth" ~ paste(parent_set, cycle, subset, sep = "_"),
parent_set == "cyc" ~ paste(parent_set, methyl, subset, sep = "_"),
parent_set == "isom" ~ paste(parent_set, cycle, sep = "_"),
parent_set == "mi" ~ paste(parent_set, cycle, sep = "_"),
parent_set == "ci" ~ paste(parent_set, methyl, sep = "_"),
parent_set == "mc" ~ paste(parent_set, subset, sep = "_"),
parent_set == "full" ~ "full"),
pattern = if_else(parent_set %in% c("meth", "cyc", "mc") & pos == 6 |
parent_set == "isom" & methyl == "III", "yes", "no")
) %>%
left_join(grp_colors, by = "col_grp")
},
mapping = aes(
xmin = -Inf, xmax = Inf, ymin = -Inf, ymax = Inf,
fill = color,
pattern_fill = color,
pattern_density = pattern
),
# no pattern borders, just the stripes
pattern_linetype = 0,
# orientation of the stripes
pattern_angle = 44.99, # 45 didn't work for some reason...
# change to "crosshatch" if that looks better
pattern = "stripe",
# play with the alphas for relative intensity of the stripes
pattern_alpha = 0.2,
alpha = 0.2,
show.legend = FALSE
) +
scale_pattern_fill_identity() +
scale_pattern_density_manual(values = c(no = 0, yes = 0.5)) +
# data
geom_point(
mapping = aes(x = env_var, y = percentage, shape = source, color = source)
) +
scale_fill_identity() +
theme(
text = element_text(size = 16),
panel.grid = element_blank(),
strip.background = element_blank(),
strip.text = element_blank(),
legend.position = "bottom",
legend.direction = "horizontal"
) +
# corner labels, a, b, c, d, etc.
geom_text(
data = function(df) df %>% mutate(panel_nr = as.numeric(panel), panel_letter = paste0(letters[panel_nr],")")) %>%
select(panel, panel_letter, compound, methyl, pos, cycle, label) %>% unique(),
mapping = aes(label = panel_letter,
x = -Inf, y = Inf, hjust = -0.4, vjust = 1.5), parse = FALSE #x = -Inf, y = +Inf, hjust = 1.5, vjust = 1.5
) +
labs(x = "Temperature", y = "Fractional Abundance within each group", shape = NULL, color = NULL)
#' function to create image row
#' @param y_width y axis relative width
create_image_row <- function(df, y_width) {
stopifnot(!missing(df))
stopifnot(!missing(y_width))
imgs <-
df %>%
with(case_when(parent_set == "meth" ~ file.path(imgs_folder, sprintf("meth_%s_%s.pdf", cycle, subset)),
parent_set == "cyc" ~ file.path(imgs_folder, sprintf("cyc_%s_%s.pdf", methyl, subset)),
parent_set == "isom" ~ file.path(imgs_folder, sprintf("isom_%s.pdf", cycle)),
parent_set == "mi" ~ file.path(imgs_folder, sprintf("mi_%s.pdf", cycle)),
parent_set == "ci" ~ file.path(imgs_folder, sprintf("ci_%s.pdf", methyl)),
parent_set == "mc" ~ file.path(imgs_folder, sprintf("mc_%s.pdf", subset)),
parent_set == "full" ~ file.path(imgs_folder, sprintf("full.pdf")))
) %>%
unique() %>%
map(magick::image_read_pdf)
img_plots <- imgs %>% map(~cowplot::ggdraw() + cowplot::draw_image(.x))
do.call(
plot_grid,
c(
list(ggdraw()), img_plots,
list(
nrow = 1L,
rel_widths = c(y_width, rep((1-y_width)/length(imgs), length(imgs)))
)
)
)
}
#' function to create image row with free y-axes
#' @param y_width DEPRECATED
#' @param y_axis_label_width y axis label width
#' @param y_axes_width y axes relative width
create_image_row_2 <- function(df, y_width, y_axis_label_width = y_width/2, y_axes_width = y_width/2) {
stopifnot(!missing(df))
imgs <-
df %>%
with(case_when(parent_set == "meth" ~ file.path(imgs_folder, sprintf("meth_%s_%s.pdf", cycle, subset)),
parent_set == "cyc" ~ file.path(imgs_folder, sprintf("cyc_%s_%s.pdf", methyl, subset)),
parent_set == "isom" ~ file.path(imgs_folder, sprintf("isom_%s.pdf", cycle)),
parent_set == "mi" ~ file.path(imgs_folder, sprintf("mi_%s.pdf", cycle)),
parent_set == "ci" ~ file.path(imgs_folder, sprintf("ci_%s.pdf", methyl)),
parent_set == "mc" ~ file.path(imgs_folder, sprintf("mc_%s.pdf", subset)),
parent_set == "full" ~ file.path(imgs_folder, sprintf("full.pdf")))
) %>%
unique() %>%
map(magick::image_read_pdf)
n_imgs <- length(imgs)
img_plots <- imgs %>% map(~cowplot::ggdraw() + cowplot::draw_image(.x))
img_plots_w_empties <- map(img_plots, ~c(list(cowplot::ggdraw()), list(.x))) %>% unlist(recursive = FALSE, use.names = FALSE)
rel_widths <- c(y_axis_label_width, rep(c(y_axes_width, (1 - y_axis_label_width - n_imgs * y_axes_width) / n_imgs), times = n_imgs))
do.call(
plot_grid,
c(list(cowplot::ggdraw()), img_plots_w_empties, list(nrow = 1L, rel_widths = rel_widths))
)
}
#' function to create image row
#' @param y_width DEPRECATED
#' @param y_axis_label_width y axis label width
#' @param y_axes_width y axes relative width
create_image_row_adjust <- function(df, y_width, y_axis_label_width = y_width/2, y_axes_width = y_width/2) {
stopifnot(!missing(df))
imgs <-
df %>%
with(case_when(parent_set == "meth" ~ file.path(imgs_folder, sprintf("meth_%s_%s.pdf", cycle, subset)),
parent_set == "cyc" ~ file.path(imgs_folder, sprintf("cyc_%s_%s.pdf", methyl, subset)),
parent_set == "isom" ~ file.path(imgs_folder, sprintf("isom_%s.pdf", cycle)),
parent_set == "mi" ~ file.path(imgs_folder, sprintf("mi_%s.pdf", cycle)),
parent_set == "ci" ~ file.path(imgs_folder, sprintf("ci_%s.pdf", methyl)),
parent_set == "mc" ~ file.path(imgs_folder, sprintf("mc_%s.pdf", subset)),
parent_set == "full" ~ file.path(imgs_folder, sprintf("full.pdf")))
) %>%
unique() %>%
map(magick::image_read_pdf)
n_imgs <- length(imgs)
img_plots <- imgs %>% map(~cowplot::ggdraw() + cowplot::draw_image(.x))
img_plots_w_empties <- map(img_plots, ~c(list(cowplot::ggdraw() + theme(panel.background = element_rect(fill = "black"))), list(.x))) %>% unlist(recursive = FALSE, use.names = FALSE)
rel_widths <- c(y_axis_label_width, rep(c(y_axes_width, (1 - y_axis_label_width - n_imgs * y_axes_width) / n_imgs), times = n_imgs))
do.call(
plot_grid,
c(list(cowplot::ggdraw() + theme(panel.background = element_rect(fill = "red"))), img_plots_w_empties, list(nrow = 1L, rel_widths = rel_widths))
)
}
#' function to create image col
#' @param y_height y axis relative height
create_image_col <- function(df, y_height, rel_heights = 1) {
stopifnot(!missing(df))
stopifnot(!missing(y_height))
imgs <-
df %>%
with(case_when(parent_set == "meth" ~ file.path(imgs_folder, sprintf("meth_%s_%s.pdf", cycle, subset)),
parent_set == "cyc" ~ file.path(imgs_folder, sprintf("cyc_%s_%s.pdf", methyl, subset)),
parent_set == "isom" ~ file.path(imgs_folder, sprintf("isom_%s.pdf", cycle)),
parent_set == "mi" ~ file.path(imgs_folder, sprintf("mi_%s.pdf", cycle)),
parent_set == "ci" ~ file.path(imgs_folder, sprintf("ci_%s.pdf", methyl)),
parent_set == "mc" ~ file.path(imgs_folder, sprintf("mc_%s.pdf", subset)),
parent_set == "full" ~ file.path(imgs_folder, sprintf("full.pdf")))
) %>%
unique() %>%
map(magick::image_read_pdf)
img_plots <- imgs %>% map(~cowplot::ggdraw() + cowplot::draw_image(.x))
do.call(
plot_grid,
c(
img_plots, list(ggdraw()),
list(
ncol = 1L,
rel_heights = c(rep((1-y_height)/length(imgs) * rel_heights/sum(rel_heights), length(imgs)), y_height)
)
)
)
}
Import data
# Read and parse
ss_data_6meIs <- readxl::read_xlsx("../calibrations/outputs/comb_data_ss_avgs.xlsx") %>%
select(Sample_name, Region, M_above0_air, pH_mean, ln_conductivity, DO_mgperL_mean, ends_with("full"), -total_full) %>%
# # add a "6me" version of the I's
mutate(fIa_prime_sub_full = fIa_sub_full,
fIb_prime_sub_full = fIb_sub_full,
fIc_prime_sub_full = fIc_sub_full) %>%
pivot_longer(ends_with("full"), names_to = "compound", values_to = "amount") %>% #***
mutate(compound = str_remove(compound, "_sub_full") %>% str_remove("f"),
compound = if_else(str_detect(compound, "prime"), str_replace(compound, "_prime", "'"), compound),
methyl = case_when(str_detect(compound, "III") ~ "III",
str_detect(compound, "II") ~ "II",
str_detect(compound, "I") ~ "I"),
cycle = case_when(str_detect(compound, "a") ~ "a",
str_detect(compound, "b") ~ "b",
str_detect(compound, "c") ~ "c"),
pos = if_else(str_detect(compound, "'"), "6", "5"),
Region2 = case_when(Region == "Baffin" ~ "Canada",
Region == "Switzerland" ~ "Central Europe",
T ~ Region)
) %>%
rename(sample_id = "Sample_name",
source = "Region2",
temp = "M_above0_air",
pH = "pH_mean",
DO = "DO_mgperL_mean") %>%
# renomarlize just in case
group_by(sample_id) %>%
mutate(percentage = amount / sum(amount)) %>%
ungroup() %>%
# add Full r2 and p
group_by(methyl, cycle, pos) %>%
mutate(
full_temp_r2 = calculate_r2(x = temp, y = amount),
full_temp_p_value = calculate_p_val(x = temp, y = amount),
full_pH_r2 = calculate_r2(x = pH, y = amount),
full_pH_p_value = calculate_p_val(x = pH, y = amount),
full_cond_r2 = calculate_r2(x = ln_conductivity, y = amount),
full_cond_p_value = calculate_p_val(x = ln_conductivity, y = amount),
full_DO_r2 = calculate_r2(x = DO, y = amount),
full_DO_p_value = calculate_p_val(x = DO, y = amount),
panel = compound,
source = fct_relevel(source, "Africa", "Canada", "China", "Iceland", "Central Europe")
) %>%
ungroup()
# remove the 6-methyl I's. this is the default dataframe to use, just easier to define the other one first.
ss_data <- ss_data_6meIs %>%
filter(!(methyl == "I" & pos == "6"))
Generate Temperature subsets
# Used in selecting the schematic and the background color:
# Valid parent_set_names = "meth", "cyc", "isom", "mi", "ci", "mc", "full".
# Valid subset_names = "both", "5me", "6me", "5me_noI", "6me_noI", only used for the meth, cyc, and mc parent sets
# Combined sets
ss_data_full <- ss_data %>%
filter() %>% # filter only data you want to include in FAs
group_by(NULL) %>% # grouping for calculating FAs
calculate_FAs(parent_set_name = "full", subset_name = "") # names of parent set and subset. this is called when importing the schematic pdf and choosing the plot color
ss_data_mc_5me <- ss_data %>%
filter(methyl == "I" | pos == "5") %>%
group_by(NULL) %>%
calculate_FAs("mc", "5me")
ss_data_mc_6me_noI <- ss_data %>%
filter(pos == "6") %>%
group_by(NULL) %>%
calculate_FAs("mc", "6me_noI")
ss_data_mc_6me <- ss_data %>%
filter(methyl == "I" | pos == "6") %>%
group_by(NULL) %>%
calculate_FAs("mc", "6me")
ss_data_mc_5me_noI <- ss_data %>%
filter(pos == "5" & methyl != "I") %>%
group_by(NULL) %>%
calculate_FAs("mc", "5me_noI")
ss_data_mc <- ss_data_mc_5me %>%
bind_rows(ss_data_mc_6me_noI)
ss_data_ci <- ss_data %>%
group_by(methyl) %>%
calculate_FAs("ci", "")
ss_data_mi <- ss_data %>%
group_by(cycle) %>%
calculate_FAs("mi", "")
# Methylation sets
ss_data_meth_5me <- ss_data %>%
filter(methyl == "I" | pos == "5") %>%
group_by(cycle) %>%
calculate_FAs("meth", "5me")
ss_data_meth_6me <- ss_data %>%
filter(methyl == "I" | pos == "6") %>%
group_by(cycle) %>%
calculate_FAs("meth", "6me")
ss_data_meth_6me_noI <- ss_data %>% # bind_rows with ss_data_meth_5me to generate meth
filter(pos == "6") %>%
group_by(cycle) %>%
calculate_FAs("meth", "6me")
ss_data_meth_5me_noI <- ss_data %>%
filter(pos == "5", methyl != "I") %>%
group_by(cycle) %>%
calculate_FAs("meth", "5me")
ss_data_meth <- ss_data_meth_6me_noI %>%
filter(methyl == "III") %>% # only plot either II or III since they're redundant
bind_rows(ss_data_meth_5me) %>%
mutate(subset = "both")
# Cyclization sets
ss_data_cyc_5me <- ss_data %>%
filter(methyl == "I" | pos == "5") %>%
group_by(methyl) %>%
calculate_FAs("cyc", "5me")
ss_data_cyc_6me <- ss_data %>%
filter(methyl == "I" | pos == "6") %>%
group_by(methyl) %>%
calculate_FAs("cyc", "6me")
ss_data_cyc <- ss_data_cyc_5me %>%
bind_rows(ss_data_cyc_6me %>% filter(methyl != "I")) %>%
mutate(subset = "both")
# Isomer sets
ss_data_isom <- ss_data %>%
filter(methyl != "I") %>%
group_by(methyl, cycle) %>%
calculate_FAs("isom", "") %>%
filter(pos == "6") # just pick 5 or 6 since they're redundant
Generate Conductivity subsets
# Used in selecting the schematic:
# Valid parent_set_names = "meth", "cyc", "isom", "mi", "ci", "mc", "full".
# Valid subset_names = "both", "5me", "6me", "5me_noI", "6me_noI", only used for the meth, cyc, and mc parent sets
# Combined sets
ss_data_full_cond <- ss_data %>%
filter() %>% # filter only data you want to include in FAs
group_by(NULL) %>% # grouping for calculating FAs
calculate_FAs_cond(parent_set_name = "full", subset_name = "") # names of parent set and subset. this is called when importing the schematic pdf
ss_data_mc_5me_cond <- ss_data %>%
filter(methyl == "I" | pos == "5") %>%
group_by(NULL) %>%
calculate_FAs_cond("mc", "5me")
ss_data_mc_6me_noI_cond <- ss_data %>%
filter(pos == "6") %>%
group_by(NULL) %>%
calculate_FAs_cond("mc", "6me_noI")
ss_data_mc_cond <- ss_data_mc_5me %>%
bind_rows(ss_data_mc_6me_noI)
ss_data_ci_cond <- ss_data %>%
group_by(methyl) %>%
calculate_FAs_cond("ci", "")
ss_data_mi_cond <- ss_data %>%
group_by(cycle) %>%
calculate_FAs_cond("mi", "")
# Methylation sets
ss_data_meth_5me_cond <- ss_data %>%
filter(methyl == "I" | pos == "5") %>%
group_by(cycle) %>%
calculate_FAs_cond("meth", "5me")
ss_data_meth_6me_cond <- ss_data %>%
filter(methyl == "I" | pos == "6") %>%
group_by(cycle) %>%
calculate_FAs_cond("meth", "6me")
ss_data_meth_6me_noI_cond <- ss_data %>% # bind_rows with meth_5me to generate meth
filter(pos == "6") %>%
group_by(cycle) %>%
calculate_FAs_cond("meth", "6me")
ss_data_meth_5me_noI_cond <- ss_data %>%
filter(pos == "5", methyl != "I") %>%
group_by(cycle) %>%
calculate_FAs_cond("meth", "5me")
ss_data_meth_cond <- ss_data_meth_6me_noI %>%
filter(methyl == "III") %>% # only plot either II or III since they're redundant
bind_rows(ss_data_meth_5me) %>%
mutate(subset = "both")
# Cyclization sets
ss_data_cyc_5me_cond <- ss_data %>%
filter(methyl == "I" | pos == "5") %>%
group_by(methyl) %>%
calculate_FAs_cond("cyc", "5me")
ss_data_cyc_6me_cond <- ss_data %>%
filter(methyl == "I" | pos == "6") %>%
group_by(methyl) %>%
calculate_FAs_cond("cyc", "6me")
ss_data_cyc_cond <- ss_data_cyc_5me %>%
bind_rows(ss_data_cyc_6me %>% filter(methyl != "I")) %>%
mutate(subset = "both")
# Isomer sets
ss_data_isom_cond <- ss_data %>%
filter(methyl != "I") %>%
group_by(methyl, cycle) %>%
calculate_FAs_cond("isom", "") %>%
filter(pos == "6") # just pick 5 or 6 since they're redundant
Generate pH subsets
# Used in selecting the schematic:
# Valid parent_set_names = "meth", "cyc", "isom", "mi", "ci", "mc", "full".
# Valid subset_names = "both", "5me", "6me", "5me_noI", "6me_noI", only used for the meth, cyc, and mc parent sets
# Combined sets
ss_data_full_pH <- ss_data %>%
filter() %>% # filter only data you want to include in FAs
group_by(NULL) %>% # grouping for calculating FAs
calculate_FAs_pH(parent_set_name = "full", subset_name = "") # names of parent set and subset. this is called when importing the schematic pdf
ss_data_mc_5me_pH <- ss_data %>%
filter(methyl == "I" | pos == "5") %>%
group_by(NULL) %>%
calculate_FAs_pH("mc", "5me")
ss_data_mc_6me_noI_pH <- ss_data %>%
filter(pos == "6") %>%
group_by(NULL) %>%
calculate_FAs_pH("mc", "6me_noI")
ss_data_mc_pH <- ss_data_mc_5me %>%
bind_rows(ss_data_mc_6me_noI)
ss_data_ci_pH <- ss_data %>%
group_by(methyl) %>%
calculate_FAs_pH("ci", "")
ss_data_mi_pH <- ss_data %>%
group_by(cycle) %>%
calculate_FAs_pH("mi", "")
# Methylation sets
ss_data_meth_5me_pH <- ss_data %>%
filter(methyl == "I" | pos == "5") %>%
group_by(cycle) %>%
calculate_FAs_pH("meth", "5me")
ss_data_meth_6me_pH <- ss_data %>%
filter(methyl == "I" | pos == "6") %>%
group_by(cycle) %>%
calculate_FAs_pH("meth", "6me")
ss_data_meth_6me_noI_pH <- ss_data %>% # bind_rows with meth_5me to generate meth
filter(pos == "6") %>%
group_by(cycle) %>%
calculate_FAs_pH("meth", "6me")
ss_data_meth_5me_noI_pH <- ss_data %>%
filter(pos == "5", methyl != "I") %>%
group_by(cycle) %>%
calculate_FAs_pH("meth", "5me")
ss_data_meth_pH <- ss_data_meth_6me_noI %>%
filter(methyl == "III") %>% # only plot either II or III since they're redundant
bind_rows(ss_data_meth_5me) %>%
mutate(subset = "both")
# Cyclization sets
ss_data_cyc_5me_pH <- ss_data %>%
filter(methyl == "I" | pos == "5") %>%
group_by(methyl) %>%
calculate_FAs_pH("cyc", "5me")
ss_data_cyc_6me_pH <- ss_data %>%
filter(methyl == "I" | pos == "6") %>%
group_by(methyl) %>%
calculate_FAs_pH("cyc", "6me")
ss_data_cyc_pH <- ss_data_cyc_5me %>%
bind_rows(ss_data_cyc_6me %>% filter(methyl != "I")) %>%
mutate(subset = "both")
# Isomer sets
ss_data_isom_pH <- ss_data %>%
filter(methyl != "I") %>%
group_by(methyl, cycle) %>%
calculate_FAs_pH("isom", "") %>%
filter(pos == "6") # just pick 5 or 6 since they're redundant
Generate DO subsets
# Used in selecting the schematic:
# Valid parent_set_names = "meth", "cyc", "isom", "mi", "ci", "mc", "full".
# Valid subset_names = "both", "5me", "6me", "5me_noI", "6me_noI", only used for the meth, cyc, and mc parent sets
# Combined sets
ss_data_full_DO <- ss_data %>%
filter() %>% # filter only data you want to include in FAs
group_by(NULL) %>% # grouping for calculating FAs
calculate_FAs_DO(parent_set_name = "full", subset_name = "") # names of parent set and subset. this is called when importing the schematic pdf
ss_data_mc_5me_DO <- ss_data %>%
filter(methyl == "I" | pos == "5") %>%
group_by(NULL) %>%
calculate_FAs_DO("mc", "5me")
ss_data_mc_6me_noI_DO <- ss_data %>%
filter(pos == "6") %>%
group_by(NULL) %>%
calculate_FAs_DO("mc", "6me_noI")
ss_data_mc_DO <- ss_data_mc_5me %>%
bind_rows(ss_data_mc_6me_noI)
ss_data_ci_DO <- ss_data %>%
group_by(methyl) %>%
calculate_FAs_DO("ci", "")
ss_data_mi_DO <- ss_data %>%
group_by(cycle) %>%
calculate_FAs_DO("mi", "")
# Methylation sets
ss_data_meth_5me_DO <- ss_data %>%
filter(methyl == "I" | pos == "5") %>%
group_by(cycle) %>%
calculate_FAs_DO("meth", "5me")
ss_data_meth_6me_DO <- ss_data %>%
filter(methyl == "I" | pos == "6") %>%
group_by(cycle) %>%
calculate_FAs_DO("meth", "6me")
ss_data_meth_6me_noI_DO <- ss_data %>% # bind_rows with meth_5me to generate meth
filter(pos == "6") %>%
group_by(cycle) %>%
calculate_FAs_DO("meth", "6me")
ss_data_meth_5me_noI_DO <- ss_data %>%
filter(pos == "5", methyl != "I") %>%
group_by(cycle) %>%
calculate_FAs_DO("meth", "5me")
ss_data_meth_DO <- ss_data_meth_6me_noI %>%
filter(methyl == "III") %>% # only plot either II or III since they're redundant
bind_rows(ss_data_meth_5me) %>%
mutate(subset = "both")
# Cyclization sets
ss_data_cyc_5me_DO <- ss_data %>%
filter(methyl == "I" | pos == "5") %>%
group_by(methyl) %>%
calculate_FAs_DO("cyc", "5me")
ss_data_cyc_6me_DO <- ss_data %>%
filter(methyl == "I" | pos == "6") %>%
group_by(methyl) %>%
calculate_FAs_DO("cyc", "6me")
ss_data_cyc_DO <- ss_data_cyc_5me %>%
bind_rows(ss_data_cyc_6me %>% filter(methyl != "I")) %>%
mutate(subset = "both")
# Isomer sets
ss_data_isom_DO <- ss_data %>%
filter(methyl != "I") %>%
group_by(methyl, cycle) %>%
calculate_FAs_DO("isom", "") %>%
filter(pos == "6") # just pick 5 or 6 since they're redundant
Tetramethylated compounds included
subset_df <- ss_data_meth_5me %>%
mutate(env_var = temp) %>%
arrange(desc(pos), methyl, cycle) %>%
mutate(panel = as_factor(label)) #panel is compound by default
# generate formatted levels
levels(subset_df$panel) <- as.character(latex2exp::TeX(levels(subset_df$panel)))
# plot
p <- base_plot %+% filter(subset_df, TRUE) +
facet_wrap(~panel, scales = "free_y", ncol = 3, labeller = label_parsed) +
theme(strip.background = element_rect(fill = "gray"), strip.text = element_text(size = 10, hjust = 0.1)) +
xlab("MAF (°C)")
plot_grid(
create_image_row_2(subset_df, y_axis_label_width = 0.034, y_axes_width = 0.062), #0.17 # 0.045
p,
ncol = 1L,
rel_heights = c(0.17, 1)
)
Tetramethylated compounds included
subset_df <- ss_data_meth_6me %>%
mutate(pos = 6) %>% # calling the tetramethylated compounds "6-methyls"
mutate(env_var = temp) %>%
arrange(desc(pos), methyl, cycle) %>%
mutate(panel = as_factor(label)) #panel is compound by default
# generate formatted levels
levels(subset_df$panel) <- as.character(latex2exp::TeX(levels(subset_df$panel)))
# plot
p <- base_plot %+% filter(subset_df, TRUE) +
facet_wrap(~panel, scales = "free_y", ncol = 3, labeller = label_parsed) +
theme(strip.background = element_rect(fill = "gray"), strip.text = element_text(size = 10, hjust = 0.1)) +
xlab("MAF (°C)")
plot_grid(
create_image_row_2(subset_df, y_axis_label_width = 0.034, y_axes_width = 0.062), #0.17 # 0.045
p,
ncol = 1L,
rel_heights = c(0.17, 1)
)
Tetramethylated compounds not included
subset_df <- ss_data_meth_5me_noI %>%
mutate(subset = "5me_noI") %>%
mutate(env_var = temp) %>%
arrange(desc(pos), methyl, cycle) %>%
mutate(panel = as_factor(label)) #panel is compound by default
# generate formatted levels
levels(subset_df$panel) <- as.character(latex2exp::TeX(levels(subset_df$panel)))
# plot
p <- base_plot %+% filter(subset_df, TRUE) +
facet_wrap(~panel, scales = "free_y", ncol = 3, labeller = label_parsed) +
theme(strip.background = element_rect(fill = "gray"), strip.text = element_text(size = 10, hjust = 0.1)) +
xlab("MAF (°C)")
plot_grid(
create_image_row_2(subset_df, y_axis_label_width = 0.034, y_axes_width = 0.062), #0.17 # 0.045
p,
ncol = 1L,
rel_heights = c(0.17, 1)
)
Tetramethylated compounds not included
subset_df <- ss_data_meth_6me_noI %>%
mutate(subset = "6me_noI") %>%
mutate(env_var = temp) %>%
arrange(desc(pos), methyl, cycle) %>%
mutate(panel = as_factor(label)) #panel is compound by default
# generate formatted levels
levels(subset_df$panel) <- as.character(latex2exp::TeX(levels(subset_df$panel)))
# plot
p <- base_plot %+% filter(subset_df, TRUE) +
facet_wrap(~panel, scales = "free_y", ncol = 3, labeller = label_parsed) +
theme(strip.background = element_rect(fill = "gray"), strip.text = element_text(size = 10, hjust = 0.1)) +
xlab("MAF (°C)")
plot_grid(
create_image_row_2(subset_df, y_axis_label_width = 0.034, y_axes_width = 0.062), #0.17 # 0.045
p,
ncol = 1L,
rel_heights = c(0.17, 1)
)
Tetramethylated compounds included
# 12x8 output without schematics
subset_df <- ss_data_mc_5me %>%
mutate(env_var = temp) %>%
arrange(pos, methyl, cycle) %>%
mutate(panel = as_factor(label)) #panel is compound by default
# generate formatted levels
levels(subset_df$panel) <- as.character(latex2exp::TeX(levels(subset_df$panel)))
p <- base_plot %+% filter(subset_df, TRUE) +
#facet_grid(methyl + pos ~ cycle, scales = "free_y") +
facet_wrap(~panel, scales = "free_y", ncol = 3, labeller = label_parsed) +
theme(strip.background = element_rect(fill = "gray"), strip.text = element_text(size = 10, hjust = 0.5)) +
xlab("MAF (°C)")
plot_grid(
p,
create_image_col(subset_df, y_height = 0.2, rel_heights = c(1)),
nrow = 1L,
rel_widths = c(1, 0.16)
)
Tetramethylated compounds included
# 12x8 output without schematics
subset_df <- ss_data_mc_6me %>%
mutate(pos = "6") %>%
mutate(env_var = temp) %>%
arrange(pos, methyl, cycle) %>%
mutate(panel = as_factor(label)) #panel is compound by default
# generate formatted levels
levels(subset_df$panel) <- as.character(latex2exp::TeX(levels(subset_df$panel)))
p <- base_plot %+% filter(subset_df, TRUE) +
#facet_grid(methyl + pos ~ cycle, scales = "free_y") +
facet_wrap(~panel, scales = "free_y", ncol = 3, labeller = label_parsed) +
theme(strip.background = element_rect(fill = "gray"), strip.text = element_text(size = 10, hjust = 0.5)) +
xlab("MAF (°C)")
plot_grid(
p,
create_image_col(subset_df, y_height = 0.2, rel_heights = c(1)),
nrow = 1L,
rel_widths = c(1, 0.16)
)
Tetramethylated compounds not included
# 12x8 output without schematics
subset_df <- ss_data_mc_5me_noI %>%
mutate(env_var = temp) %>%
arrange(pos, methyl, cycle) %>%
mutate(panel = as_factor(label)) #panel is compound by default
# generate formatted levels
levels(subset_df$panel) <- as.character(latex2exp::TeX(levels(subset_df$panel)))
p <- base_plot %+% filter(subset_df, TRUE) +
#facet_grid(methyl + pos ~ cycle, scales = "free_y") +
facet_wrap(~panel, scales = "free_y", ncol = 3, labeller = label_parsed) +
theme(strip.background = element_rect(fill = "gray"), strip.text = element_text(size = 10, hjust = 0.5)) +
xlab("MAF (°C)")
plot_grid(
p,
create_image_col(subset_df, y_height = 0.2, rel_heights = c(1)),
nrow = 1L,
rel_widths = c(1, 0.16)
)
Tetramethylated compounds not included
# 12x8 output without schematics
subset_df <- ss_data_mc_6me_noI %>%
mutate(env_var = temp) %>%
arrange(pos, methyl, cycle) %>%
mutate(panel = as_factor(label)) #panel is compound by default
# generate formatted levels
levels(subset_df$panel) <- as.character(latex2exp::TeX(levels(subset_df$panel)))
p <- base_plot %+% filter(subset_df, TRUE) +
#facet_grid(methyl + pos ~ cycle, scales = "free_y") +
facet_wrap(~panel, scales = "free_y", ncol = 3, labeller = label_parsed) +
theme(strip.background = element_rect(fill = "gray"), strip.text = element_text(size = 10, hjust = 0.5)) +
xlab("MAF (°C)")
plot_grid(
p,
create_image_col(subset_df, y_height = 0.2, rel_heights = c(1)),
nrow = 1L,
rel_widths = c(1, 0.16)
)
subset_df <- ss_data_meth_6me_noI %>%
filter(methyl == "III") %>% # II and III are just inverses, only plot one of them
bind_rows(ss_data_meth_5me) %>%
mutate(subset = "both") %>% # to select the correct image
mutate(env_var = temp) %>%
arrange(methyl, pos, cycle) %>%
mutate(panel = as_factor(label)) #panel is compound by default
# generate formatted levels
levels(subset_df$panel) <- as.character(latex2exp::TeX(levels(subset_df$panel)))
# plot
p <- base_plot %+% filter(subset_df, TRUE) +
facet_wrap(~panel, scales = "free_y", ncol = 3, labeller = label_parsed) +
theme(strip.background = element_rect(fill = "gray"), strip.text = element_text(size = 10, hjust = 0.1)) +
xlab("MAF (°C)")
plot_grid(
create_image_row_2(subset_df, y_axis_label_width = 0.034, y_axes_width = 0.062), #0.17 # 0.045
p,
ncol = 1L,
rel_heights = c(0.17, 1)
)
subset_df <- ss_data_cyc_6me %>%
filter(methyl != "I") %>% # avoid double-plotting
bind_rows(ss_data_cyc_5me) %>%
mutate(subset = "both") %>% # to select the correct image
mutate(env_var = temp) %>%
arrange(methyl, pos, cycle) %>%
mutate(panel = as_factor(label)) #panel is compound by default
# generate formatted levels
levels(subset_df$panel) <- as.character(latex2exp::TeX(levels(subset_df$panel)))
p <- base_plot %+% filter(subset_df, TRUE) +
#facet_grid(methyl + pos ~ cycle, scales = "free_y") +
facet_wrap(~panel, scales = "free_y", ncol = 3, labeller = label_parsed) +
theme(strip.background = element_rect(fill = "gray"), strip.text = element_text(size = 10, hjust = 0.5)) +
xlab("MAF (°C)")
plot_grid(
p,
create_image_col(subset_df, y_height = 0.2, rel_heights = c(1,2,2)),
nrow = 1L,
rel_widths = c(1, 0.16)
)
subset_df <- ss_data_isom %>%
mutate(env_var = temp) %>%
arrange(methyl, pos, cycle) %>%
mutate(panel = as_factor(label)) #panel is compound by default
# generate formatted levels
levels(subset_df$panel) <- as.character(latex2exp::TeX(levels(subset_df$panel)))
# plot
p <- base_plot %+% filter(subset_df, TRUE) +
facet_wrap(~panel, scales = "free_y", ncol = 3, labeller = label_parsed) +
theme(strip.background = element_rect(fill = "gray"), strip.text = element_text(size = 10, hjust = 0.1)) +
xlab("MAF (°C)")
plot_grid(
create_image_row_2(subset_df, y_axis_label_width = 0.034, y_axes_width = 0.062), #0.17
p,
ncol = 1L,
rel_heights = c(0.18, 1)
)
subset_df <- ss_data_mi %>%
mutate(env_var = temp) %>%
arrange(methyl, pos, cycle) %>%
mutate(panel = as_factor(label)) #panel is compound by default
# generate formatted levels
levels(subset_df$panel) <- as.character(latex2exp::TeX(levels(subset_df$panel)))
# plot
p <- base_plot %+% filter(subset_df, TRUE) +
facet_wrap(~panel, scales = "free_y", ncol = 3, labeller = label_parsed) +
theme(strip.background = element_rect(fill = "gray"), strip.text = element_text(size = 10, hjust = 0.1)) +
xlab("MAF (°C)")
plot_grid(
create_image_row_2(subset_df, y_axis_label_width = 0.03, y_axes_width = 0.05), #0.17
p,
ncol = 1L,
rel_heights = c(0.15, 1)
)
# 12x8 output without schematics
subset_df <- ss_data_ci %>%
mutate(env_var = temp) %>%
arrange(methyl, pos, cycle) %>%
mutate(panel = as_factor(label)) #panel is compound by default
# generate formatted levels
levels(subset_df$panel) <- as.character(latex2exp::TeX(levels(subset_df$panel)))
p <- base_plot %+% filter(subset_df, TRUE) +
#facet_grid(methyl + pos ~ cycle, scales = "free_y") +
facet_wrap(~panel, scales = "free_y", ncol = 3, labeller = label_parsed) +
theme(strip.background = element_rect(fill = "gray"), strip.text = element_text(size = 10, hjust = 0.5)) +
xlab("MAF (°C)")
plot_grid(
p,
create_image_col(subset_df, y_height = 0.2, rel_heights = c(1,2,2)),
nrow = 1L,
rel_widths = c(1, 0.16)
)
# 12x8 output without schematics
subset_df <- ss_data_mc_6me_noI %>%
bind_rows(ss_data_mc_5me) %>%
mutate(env_var = temp) %>%
arrange(pos, methyl, cycle) %>%
mutate(panel = as_factor(label)) #panel is compound by default
# generate formatted levels
levels(subset_df$panel) <- as.character(latex2exp::TeX(levels(subset_df$panel)))
p <- base_plot %+% filter(subset_df, TRUE) +
#facet_grid(methyl + pos ~ cycle, scales = "free_y") +
facet_wrap(~panel, scales = "free_y", ncol = 3, labeller = label_parsed) +
theme(strip.background = element_rect(fill = "gray"), strip.text = element_text(size = 10, hjust = 0.5)) +
xlab("MAF (°C)")
plot_grid(
p,
create_image_col(subset_df, y_height = 0.2, rel_heights = c(3,2,0.9)),
nrow = 1L,
rel_widths = c(1, 0.16)
)
subset_df <- ss_data_full %>%
mutate(env_var = temp) %>%
arrange(methyl, pos, cycle) %>%
mutate(panel = as_factor(label)) #panel is compound by default
# generate formatted levels
levels(subset_df$panel) <- as.character(latex2exp::TeX(levels(subset_df$panel)))
# plot
p <- base_plot %+% filter(subset_df, TRUE) +
facet_wrap(~panel, scales = "free_y", ncol = 3, labeller = label_parsed) +
theme(strip.background = element_rect(fill = "gray"), strip.text = element_text(size = 10, hjust = 0.1)) +
xlab("MAF (°C)")
plot_grid(
create_image_row_2(subset_df, y_axis_label_width = 0.045, y_axes_width = 0), #0.17
p,
ncol = 1L,
rel_heights = c(0.12, 1)
)
subset_df <- ss_data_meth_6me_noI_cond %>%
filter(methyl == "III") %>% # II and III are just inverses, only plot one of them
bind_rows(ss_data_meth_5me_cond) %>%
mutate(subset = "both") %>% # to select the correct image
mutate(env_var = ln_conductivity) %>%
arrange(methyl, pos, cycle) %>%
mutate(panel = as_factor(label)) #panel is compound by default
# generate formatted levels
levels(subset_df$panel) <- as.character(latex2exp::TeX(levels(subset_df$panel)))
# plot
p <- base_plot %+% filter(subset_df, TRUE) +
facet_wrap(~panel, scales = "free_y", ncol = 3, labeller = label_parsed) +
theme(strip.background = element_rect(fill = "gray"), strip.text = element_text(size = 10, hjust = 0.1)) +
xlab("ln(Conductivity)")
plot_grid(
create_image_row_2(subset_df, y_axis_label_width = 0.034, y_axes_width = 0.062), #0.17
p,
ncol = 1L,
rel_heights = c(0.17, 1)
)
subset_df <- ss_data_cyc_6me_cond %>%
filter(methyl != "I") %>% # avoid double-plotting
bind_rows(ss_data_cyc_5me_cond) %>%
mutate(subset = "both") %>% # to select the correct image
mutate(env_var = ln_conductivity) %>%
arrange(methyl, pos, cycle) %>%
mutate(panel = as_factor(label)) #panel is compound by default
# generate formatted levels
levels(subset_df$panel) <- as.character(latex2exp::TeX(levels(subset_df$panel)))
p <- base_plot %+% filter(subset_df, TRUE) +
#facet_grid(methyl + pos ~ cycle, scales = "free_y") +
facet_wrap(~panel, scales = "free_y", ncol = 3, labeller = label_parsed) +
theme(strip.background = element_rect(fill = "gray"), strip.text = element_text(size = 10, hjust = 0.5)) +
xlab("ln(Conductivity)")
plot_grid(
p,
create_image_col(subset_df, y_height = 0.2, rel_heights = c(1,2,2)),
nrow = 1L,
rel_widths = c(1, 0.16)
)
subset_df <- ss_data_isom_cond %>%
mutate(env_var = ln_conductivity) %>%
arrange(methyl, pos, cycle) %>%
mutate(panel = as_factor(label)) #panel is compound by default
# generate formatted levels
levels(subset_df$panel) <- as.character(latex2exp::TeX(levels(subset_df$panel)))
# plot
p <- base_plot %+% filter(subset_df, TRUE) +
facet_wrap(~panel, scales = "free_y", ncol = 3, labeller = label_parsed) +
theme(strip.background = element_rect(fill = "gray"), strip.text = element_text(size = 10, hjust = 0.1)) +
xlab("ln(Conductivity)")
plot_grid(
create_image_row_2(subset_df, y_axis_label_width = 0.034, y_axes_width = 0.062), #0.17
p,
ncol = 1L,
rel_heights = c(0.18, 1)
)
subset_df <- ss_data_mi_cond %>%
mutate(env_var = ln_conductivity) %>%
arrange(methyl, pos, cycle) %>%
mutate(panel = as_factor(label)) #panel is compound by default
# generate formatted levels
levels(subset_df$panel) <- as.character(latex2exp::TeX(levels(subset_df$panel)))
# plot
p <- base_plot %+% filter(subset_df, TRUE) +
facet_wrap(~panel, scales = "free_y", ncol = 3, labeller = label_parsed) +
theme(strip.background = element_rect(fill = "gray"), strip.text = element_text(size = 10, hjust = 0.1)) +
xlab("ln(Conductivity)")
plot_grid(
create_image_row_2(subset_df, y_axis_label_width = 0.03, y_axes_width = 0.05), #0.17
p,
ncol = 1L,
rel_heights = c(0.15, 1)
)
# 12x8 output without schematics
subset_df <- ss_data_ci_cond %>%
mutate(env_var = ln_conductivity) %>%
arrange(methyl, pos, cycle) %>%
mutate(panel = as_factor(label)) #panel is compound by default
# generate formatted levels
levels(subset_df$panel) <- as.character(latex2exp::TeX(levels(subset_df$panel)))
p <- base_plot %+% filter(subset_df, TRUE) +
#facet_grid(methyl + pos ~ cycle, scales = "free_y") +
facet_wrap(~panel, scales = "free_y", ncol = 3, labeller = label_parsed) +
theme(strip.background = element_rect(fill = "gray"), strip.text = element_text(size = 10, hjust = 0.5)) +
xlab("ln(Conductivity)")
plot_grid(
p,
create_image_col(subset_df, y_height = 0.2, rel_heights = c(1,2,2)),
nrow = 1L,
rel_widths = c(1, 0.16)
)
subset_df <- ss_data_mc_6me_noI_cond %>%
bind_rows(ss_data_mc_5me_cond) %>%
mutate(env_var = ln_conductivity) %>%
arrange(pos, methyl, cycle) %>%
mutate(panel = as_factor(label)) #panel is compound by default
# generate formatted levels
levels(subset_df$panel) <- as.character(latex2exp::TeX(levels(subset_df$panel)))
p <- base_plot %+% filter(subset_df, TRUE) +
#facet_grid(methyl + pos ~ cycle, scales = "free_y") +
facet_wrap(~panel, scales = "free_y", ncol = 3, labeller = label_parsed) +
theme(strip.background = element_rect(fill = "gray"), strip.text = element_text(size = 10, hjust = 0.5)) +
xlab("ln(Conductivity)")
plot_grid(
p,
create_image_col(subset_df, y_height = 0.2, rel_heights = c(3,2,0.9)),
nrow = 1L,
rel_widths = c(1, 0.16)
)
subset_df <- ss_data_full_cond %>%
mutate(env_var = ln_conductivity) %>%
arrange(methyl, pos, cycle) %>%
mutate(panel = as_factor(label)) #panel is compound by default
# generate formatted levels
levels(subset_df$panel) <- as.character(latex2exp::TeX(levels(subset_df$panel)))
# plot
p <- base_plot %+% filter(subset_df, TRUE) +
facet_wrap(~panel, scales = "free_y", ncol = 3, labeller = label_parsed) +
theme(strip.background = element_rect(fill = "gray"), strip.text = element_text(size = 10, hjust = 0.1)) +
xlab("ln(Conductivity)")
plot_grid(
create_image_row_2(subset_df, y_axis_label_width = 0.045, y_axes_width = 0), #0.17
p,
ncol = 1L,
rel_heights = c(0.12, 1)
)
subset_df <- ss_data_meth_6me_noI_pH %>%
filter(methyl == "III") %>% # II and III are just inverses, only plot one of them
bind_rows(ss_data_meth_5me_pH) %>%
mutate(subset = "both") %>% # to select the correct image
mutate(env_var = pH) %>%
arrange(methyl, pos, cycle) %>%
mutate(panel = as_factor(label)) #panel is compound by default
# generate formatted levels
levels(subset_df$panel) <- as.character(latex2exp::TeX(levels(subset_df$panel)))
# plot
p <- base_plot %+% filter(subset_df, TRUE) +
facet_wrap(~panel, scales = "free_y", ncol = 3, labeller = label_parsed) +
theme(strip.background = element_rect(fill = "gray"), strip.text = element_text(size = 10, hjust = 0.1)) +
xlab("pH")
plot_grid(
create_image_row_2(subset_df, y_axis_label_width = 0.034, y_axes_width = 0.062), #0.17
p,
ncol = 1L,
rel_heights = c(0.17, 1)
)
subset_df <- ss_data_cyc_6me_pH %>%
filter(methyl != "I") %>% # avoid double-plotting
bind_rows(ss_data_cyc_5me_pH) %>%
mutate(subset = "both") %>% # to select the correct image
mutate(env_var = pH) %>%
arrange(methyl, pos, cycle) %>%
mutate(panel = as_factor(label)) #panel is compound by default
# generate formatted levels
levels(subset_df$panel) <- as.character(latex2exp::TeX(levels(subset_df$panel)))
p <- base_plot %+% filter(subset_df, TRUE) +
facet_wrap(~panel, scales = "free_y", ncol = 3, labeller = label_parsed) +
theme(strip.background = element_rect(fill = "gray"), strip.text = element_text(size = 10, hjust = 0.5)) +
xlab("pH")
plot_grid(
p,
create_image_col(subset_df, y_height = 0.2, rel_heights = c(1,2,2)),
nrow = 1L,
rel_widths = c(1, 0.16)
)
subset_df <- ss_data_isom_pH %>%
mutate(env_var = pH) %>%
arrange(methyl, pos, cycle) %>%
mutate(panel = as_factor(label)) #panel is compound by default
# generate formatted levels
levels(subset_df$panel) <- as.character(latex2exp::TeX(levels(subset_df$panel)))
# plot
p <- base_plot %+% filter(subset_df, TRUE) +
facet_wrap(~panel, scales = "free_y", ncol = 3, labeller = label_parsed) +
theme(strip.background = element_rect(fill = "gray"), strip.text = element_text(size = 10, hjust = 0.1)) +
xlab("pH")
plot_grid(
create_image_row_2(subset_df, y_axis_label_width = 0.034, y_axes_width = 0.062), #0.17
p,
ncol = 1L,
rel_heights = c(0.18, 1)
)
subset_df <- ss_data_mi_pH %>%
mutate(env_var = pH) %>%
arrange(methyl, pos, cycle) %>%
mutate(panel = as_factor(label)) #panel is compound by default
# generate formatted levels
levels(subset_df$panel) <- as.character(latex2exp::TeX(levels(subset_df$panel)))
# plot
p <- base_plot %+% filter(subset_df, TRUE) +
facet_wrap(~panel, scales = "free_y", ncol = 3, labeller = label_parsed) +
theme(strip.background = element_rect(fill = "gray"), strip.text = element_text(size = 10, hjust = 0.1)) +
xlab("pH")
plot_grid(
create_image_row_2(subset_df, y_axis_label_width = 0.03, y_axes_width = 0.05), #0.17
p,
ncol = 1L,
rel_heights = c(0.15, 1)
)
# 12x8 output without schematics
subset_df <- ss_data_ci_pH %>%
mutate(env_var = pH) %>%
arrange(methyl, pos, cycle) %>%
mutate(panel = as_factor(label)) #panel is compound by default
# generate formatted levels
levels(subset_df$panel) <- as.character(latex2exp::TeX(levels(subset_df$panel)))
p <- base_plot %+% filter(subset_df, TRUE) +
facet_wrap(~panel, scales = "free_y", ncol = 3, labeller = label_parsed) +
theme(strip.background = element_rect(fill = "gray"), strip.text = element_text(size = 10, hjust = 0.5)) +
xlab("pH")
plot_grid(
p,
create_image_col(subset_df, y_height = 0.2, rel_heights = c(1,2,2)),
nrow = 1L,
rel_widths = c(1, 0.16)
)
subset_df <- ss_data_mc_6me_noI_pH %>%
bind_rows(ss_data_mc_5me_pH) %>%
mutate(env_var = pH) %>%
arrange(pos, methyl, cycle) %>%
mutate(panel = as_factor(label)) #panel is compound by default
# generate formatted levels
levels(subset_df$panel) <- as.character(latex2exp::TeX(levels(subset_df$panel)))
p <- base_plot %+% filter(subset_df, TRUE) +
facet_wrap(~panel, scales = "free_y", ncol = 3, labeller = label_parsed) +
theme(strip.background = element_rect(fill = "gray"), strip.text = element_text(size = 10, hjust = 0.5)) +
xlab("pH")
plot_grid(
p,
create_image_col(subset_df, y_height = 0.2, rel_heights = c(3,2,0.9)),
nrow = 1L,
rel_widths = c(1, 0.16)
)
subset_df <- ss_data_full_pH %>%
mutate(env_var = pH) %>%
arrange(methyl, pos, cycle) %>%
mutate(panel = as_factor(label)) #panel is compound by default
# generate formatted levels
levels(subset_df$panel) <- as.character(latex2exp::TeX(levels(subset_df$panel)))
# plot
p <- base_plot %+% filter(subset_df, TRUE) +
facet_wrap(~panel, scales = "free_y", ncol = 3, labeller = label_parsed) +
theme(strip.background = element_rect(fill = "gray"), strip.text = element_text(size = 10, hjust = 0.1)) +
xlab("pH")
plot_grid(
create_image_row_2(subset_df, y_axis_label_width = 0.045, y_axes_width = 0), #0.17
p,
ncol = 1L,
rel_heights = c(0.12, 1)
)
subset_df <- ss_data_meth_6me_noI_DO %>%
filter(methyl == "III") %>% # II and III are just inverses, only plot one of them
bind_rows(ss_data_meth_5me_DO) %>%
mutate(subset = "both") %>% # to select the correct image
mutate(env_var = DO) %>%
arrange(methyl, pos, cycle) %>%
mutate(panel = as_factor(label)) #panel is compound by default
# generate formatted levels
levels(subset_df$panel) <- as.character(latex2exp::TeX(levels(subset_df$panel)))
# plot
p <- base_plot %+% filter(subset_df, TRUE) +
facet_wrap(~panel, scales = "free_y", ncol = 3, labeller = label_parsed) +
theme(strip.background = element_rect(fill = "gray"), strip.text = element_text(size = 10, hjust = 0.1)) +
xlab("DO (mg/L)")
plot_grid(
create_image_row_2(subset_df, y_axis_label_width = 0.034, y_axes_width = 0.062), #0.17
p,
ncol = 1L,
rel_heights = c(0.17, 1)
)
subset_df <- ss_data_cyc_6me_DO %>%
filter(methyl != "I") %>% # avoid double-plotting
bind_rows(ss_data_cyc_5me_DO) %>%
mutate(subset = "both") %>% # to select the correct image
mutate(env_var = DO) %>%
arrange(methyl, pos, cycle) %>%
mutate(panel = as_factor(label)) #panel is compound by default
# generate formatted levels
levels(subset_df$panel) <- as.character(latex2exp::TeX(levels(subset_df$panel)))
p <- base_plot %+% filter(subset_df, TRUE) +
#facet_grid(methyl + pos ~ cycle, scales = "free_y") +
facet_wrap(~panel, scales = "free_y", ncol = 3, labeller = label_parsed) +
theme(strip.background = element_rect(fill = "gray"), strip.text = element_text(size = 10, hjust = 0.5)) +
xlab("DO (mg/L)")
plot_grid(
p,
create_image_col(subset_df, y_height = 0.2, rel_heights = c(1,2,2)),
nrow = 1L,
rel_widths = c(1, 0.16) #0.23
)
subset_df <- ss_data_isom_DO %>%
mutate(env_var = DO) %>%
arrange(methyl, pos, cycle) %>%
mutate(panel = as_factor(label)) #panel is compound by default
# generate formatted levels
levels(subset_df$panel) <- as.character(latex2exp::TeX(levels(subset_df$panel)))
# plot
p <- base_plot %+% filter(subset_df, TRUE) +
facet_wrap(~panel, scales = "free_y", ncol = 3, labeller = label_parsed) +
theme(strip.background = element_rect(fill = "gray"), strip.text = element_text(size = 10, hjust = 0.1)) +
xlab("DO (mg/L)")
plot_grid(
create_image_row_2(subset_df, y_axis_label_width = 0.034, y_axes_width = 0.062), #0.17
p,
ncol = 1L,
rel_heights = c(0.18, 1)
)
subset_df <- ss_data_mi_DO %>%
mutate(env_var = DO) %>%
arrange(methyl, pos, cycle) %>%
mutate(panel = as_factor(label)) #panel is compound by default
# generate formatted levels
levels(subset_df$panel) <- as.character(latex2exp::TeX(levels(subset_df$panel)))
# plot
p <- base_plot %+% filter(subset_df, TRUE) +
facet_wrap(~panel, scales = "free_y", ncol = 3, labeller = label_parsed) +
theme(strip.background = element_rect(fill = "gray"), strip.text = element_text(size = 10, hjust = 0.1)) +
xlab("DO (mg/L)")
plot_grid(
create_image_row_2(subset_df, y_axis_label_width = 0.03, y_axes_width = 0.05), #0.17
p,
ncol = 1L,
rel_heights = c(0.15, 1)
)
# 12x8 output without schematics
subset_df <- ss_data_ci_DO %>%
mutate(env_var = DO) %>%
arrange(methyl, pos, cycle) %>%
mutate(panel = as_factor(label)) #panel is compound by default
# generate formatted levels
levels(subset_df$panel) <- as.character(latex2exp::TeX(levels(subset_df$panel)))
p <- base_plot %+% filter(subset_df, TRUE) +
facet_wrap(~panel, scales = "free_y", ncol = 3, labeller = label_parsed) +
theme(strip.background = element_rect(fill = "gray"), strip.text = element_text(size = 10, hjust = 0.5)) +
xlab("DO (mg/L)")
plot_grid(
p,
create_image_col(subset_df, y_height = 0.2, rel_heights = c(1,2,2)),
nrow = 1L,
rel_widths = c(1, 0.16)
)
subset_df <- ss_data_mc_6me_noI_DO %>%
bind_rows(ss_data_mc_5me_DO) %>%
mutate(env_var = DO) %>%
arrange(pos, methyl, cycle) %>%
mutate(panel = as_factor(label)) #panel is compound by default
# generate formatted levels
levels(subset_df$panel) <- as.character(latex2exp::TeX(levels(subset_df$panel)))
p <- base_plot %+% filter(subset_df, TRUE) +
facet_wrap(~panel, scales = "free_y", ncol = 3, labeller = label_parsed) +
theme(strip.background = element_rect(fill = "gray"), strip.text = element_text(size = 10, hjust = 0.5)) +
xlab("DO (mg/L)")
plot_grid(
p,
create_image_col(subset_df, y_height = 0.2, rel_heights = c(3,2,0.9)),
nrow = 1L,
rel_widths = c(1, 0.16)
)
subset_df <- ss_data_full_DO %>%
mutate(env_var = DO) %>%
arrange(methyl, pos, cycle) %>%
mutate(panel = as_factor(label)) #panel is compound by default
# generate formatted levels
levels(subset_df$panel) <- as.character(latex2exp::TeX(levels(subset_df$panel)))
# plot
p <- base_plot %+% filter(subset_df, TRUE) +
facet_wrap(~panel, scales = "free_y", ncol = 3, labeller = label_parsed) +
theme(strip.background = element_rect(fill = "gray"), strip.text = element_text(size = 10, hjust = 0.1)) +
xlab("DO (mg/L)")
plot_grid(
create_image_row_2(subset_df, y_axis_label_width = 0.045, y_axes_width = 0), #0.17
p,
ncol = 1L,
rel_heights = c(0.12, 1)
)