Chapter 9 CAZY

cazy_genes <- genome_annotations %>%
  filter(!is.na(cazy)) %>%
  nrow()

cazy_genes
[1] 31118
cazy_abundance <- genome_annotations %>%
  filter(!is.na(cazy)) %>%
  group_by(mag_id, cazy) %>%
  summarise(count = n(), .groups="drop") %>%
  tidyr::pivot_wider(
    names_from = cazy,
    values_from = count,
    values_fill = 0
  )

cazy_matrix <- cazy_abundance %>%
  column_to_rownames("mag_id") %>%
  as.matrix()

# Abundance heatmap
min_val <- min(cazy_matrix, na.rm = TRUE)
max_val <- max(cazy_matrix, na.rm = TRUE)

colors <- viridis(100, option = "viridis")

breaks <- seq(min_val, max_val, length.out = 101)   

pheatmap( cazy_matrix,
  color = colors,
  cluster_rows = FALSE,
  cluster_cols = TRUE,
  fontsize = 9,
  border_color = NA
)

#Scaled abundance heatmap
cazy_scaled <- scale(cazy_matrix, center = TRUE, scale = TRUE)

min_val <- min(cazy_scaled, na.rm = TRUE)
max_val <- max(cazy_scaled, na.rm = TRUE)

colors <- viridis(100, option = "viridis")

breaks <- seq(min_val, max_val, length.out = 101)   

9.1 PCoAs KEGG, AMR and VF

library(patchwork)

combined_plot <- (pcoa_kegg_pa + ggtitle("PCoA: KEGG")) +
                 (pcoa_amr_pa  + ggtitle("PCoA: AMR")) +
                 (pcoa_vf_pa   + ggtitle("PCoA: VF")) +
                 plot_layout(ncol = 2, guides = "collect") &
                 theme(legend.position = "bottom")

combined_plot