# Pull all results and check candidate genes
layer2_candidates <- c("Ifitm3", "Ccl2", "Ccl12", "Cxcl10", "Agt")
layer3_candidates <- c("Abca1", "Abcg1", "Srebf1", "Apod", "Got1", "Ldhb")
extract_candidates <- function(de_result, candidates, label) {
de_result$all_results |>
as_tibble(rownames = "gene") |>
filter(gene %in% candidates) |>
mutate(
comparison = label,
sig = p_val < 0.01
) |>
select(gene, avg_log2FC, p_val, p_val_adj, comparison, sig) |>
arrange(p_val)
}
bind_rows(
extract_candidates(trt_caa_astro, layer2_candidates, "Astro — CAA proximal"),
extract_candidates(trt_paren_astro, layer2_candidates, "Astro — Paren proximal"),
extract_candidates(trt_caa_oligo, layer3_candidates, "Oligo — CAA proximal"),
extract_candidates(trt_paren_oligo, layer3_candidates, "Oligo — Paren proximal")
) |>
mutate(across(c(avg_log2FC), \(x) round(x, 3)),
across(c(p_val, p_val_adj), \(x) formatC(x, format = "e", digits = 2))) |>
kbl(caption = "Candidate Layer 2/3 genes across all comparisons (nominal p < 0.01 = TRUE)") |>
kable_styling("striped", full_width = FALSE) |>
row_spec(which(bind_rows(
extract_candidates(trt_caa_astro, layer2_candidates, "Astro — CAA proximal"),
extract_candidates(trt_paren_astro, layer2_candidates, "Astro — Paren proximal"),
extract_candidates(trt_caa_oligo, layer3_candidates, "Oligo — CAA proximal"),
extract_candidates(trt_paren_oligo, layer3_candidates, "Oligo — Paren proximal")
)$sig), bold = TRUE, color = "red")