library(OligoMMR) library(dplyr) library(tidyr) library(ggplot2) library(ComplexHeatmap) data("oligomm_ab_isolates_corrected")
oligomm_ab_isolates <- oligomm_ab_isolates[which(oligomm_ab_isolates$genome_hr == "C. innocuum"),] p <- ggplot(oligomm_ab_isolates, aes(x = AF)) + geom_histogram() p <- p + facet_wrap(~genome_hr, scales = "free_y") p <- p + theme_pmuench(base_size = 9) p
data(oligomm_ab_isolates) dat <- oligomm_ab_isolates dat_one <- dat[which(dat$chr == "Clostridium_innocuum_I46"),] dat_one_lowaf <- dat_one[which(dat_one$AF < 0.9 & dat_one$AF > 0.1),] dat_one_highaf <- dat_one[which(dat_one$AF >= 0.9),] dat_one_lowaf_agg <- aggregate(DP ~ sample, data = dat_one_lowaf, FUN = mean) dat_one_highwaf_agg <- aggregate(DP ~ sample, data = dat_one_highaf, FUN = mean) dat_one_lowaf_agg$high <- dat_one_highwaf_agg$DP dat_one_lowaf_agg$factor <- round(dat_one_lowaf_agg$DP / dat_one_lowaf_agg$high, digits = 1) dat_one_lowaf_agg$genome <- "C. innocuum" dat_2 <- oligomm_ab_isolates dat_2_one <- dat_2[which(dat_2$chr == "Enterococcus_faecalis_KB1"),] dat_2_one_lowaf <- dat_2_one[which(dat_2_one$AF < 0.9 & dat_2_one$AF > 0.1),] dat_2_one_highaf <- dat_2_one[which(dat_2_one$AF >= 0.9),] dat_2_one_lowaf_agg <- aggregate(DP ~ sample, data = dat_2_one_lowaf, FUN = mean) dat_2_one_highwaf_agg <- aggregate(DP ~ sample, data = dat_2_one_highaf, FUN = mean) dat_2_one_lowaf_agg <- merge(dat_2_one_lowaf_agg, dat_2_one_highwaf_agg, by = "sample") colnames(dat_2_one_lowaf_agg) <- c("sample", "DP", "high") dat_2_one_lowaf_agg$factor <- round(dat_2_one_lowaf_agg$DP / dat_2_one_lowaf_agg$high, digits = 1) dat_2_one_lowaf_agg$genome <- "E. faecalis" all_genomes <- rbind(dat_one_lowaf_agg, dat_2_one_lowaf_agg) p <- ggplot(all_genomes, aes(x = high, y = DP, color = genome, label = factor)) p <- p + geom_point() p <- p + geom_smooth(method = "lm", se = F) #p <- p + geom_segment(aes(xend=high), yend=0, alpha = .05, linetype = 2) #p <- p + geom_segment(aes(yend=DP), xend=0, alpha = .05, linetype = 2) p <- p + theme(aspect.ratio = 1) + xlim(c(200, 450)) + ylim(c(200, 800)) p <- p + geom_abline(intercept = 0, color = "green", linetype = 2) #p <- p + geom_text() p <- p + theme_pmuench(base_size = 9) p <- p + geom_abline(intercept = 0, slope = 2, color = "red", linetype = 2) p <- p + xlab("mean depth on high AF (>=90%) SNP") + ylab("mean depth on intermediate AF (<90% & >10%) SNPs") p <- p + scale_color_manual(values = c("E. faecalis" = "lightblue", "C. innocuum" = "darkblue")) p
Show correlation of problematic regions in isolate and metagenome
data("oligomm_ab_isolates_corrected") data("oligomm_ab_wgs") # subset datasets for these two bugs where we have isolates bugs <- c("C. innocuum", "E. faecalis") oligomm_ab_wgs <- oligomm_ab_wgs[which(oligomm_ab_wgs$genome_hr %in% bugs),] oligomm_ab_isolates_corrected <- oligomm_ab_isolates_corrected[which(oligomm_ab_isolates_corrected$genome_hr %in% bugs),] # subet for control and last day 1683 #oligomm_ab_wgs <- oligomm_ab_wgs[which(oligomm_ab_wgs$mouse.id == "1683"),] df_wgs <- data.frame(genome = oligomm_ab_wgs$genome_hr, id = paste0(oligomm_ab_wgs$genome_hr, "-", oligomm_ab_wgs$POS, "-", oligomm_ab_wgs$REF, "-", oligomm_ab_wgs$ALT), af = oligomm_ab_wgs$AF) df_isolate <- data.frame(genome = oligomm_ab_isolates_corrected$genome_hr, id = paste0(oligomm_ab_isolates_corrected$genome_hr, "-", oligomm_ab_isolates_corrected$POS, "-", oligomm_ab_isolates_corrected$REF, "-", oligomm_ab_isolates_corrected$ALT), af = oligomm_ab_isolates_corrected$AF) wgs_iso <- merge(df_wgs, df_isolate, by = "id") p <- ggplot(wgs_iso, aes(x = af.x, y = af.y, color = genome.x)) p <- p + geom_point(size = .5) + theme_pmuench() p <- p + scale_color_manual(values = c("E. faecalis" = "lightblue", "C. innocuum" = "darkblue")) p <- p + theme(aspect.ratio = 1) p <- p + xlab("AF in whole genome shotgun") + ylab("AF in isolates") p
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.