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)