library(phyloseq)
library(ggplot2)
library(microbiome)
##
## microbiome R package (microbiome.github.com)
##
##
##
## Copyright (C) 2011-2022 Leo Lahti,
## Sudarshan Shetty et al. <microbiome.github.io>
##
## Attaching package: 'microbiome'
## The following object is masked from 'package:ggplot2':
##
## alpha
## The following object is masked from 'package:base':
##
## transform
library(fantaxtic)
##
## Attaching package: 'fantaxtic'
## The following object is masked from 'package:microbiome':
##
## top_taxa
library(forcats)
library(RColorBrewer)
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ stringr 1.5.1
## ✔ lubridate 1.9.3 ✔ tibble 3.2.1
## ✔ purrr 1.0.2 ✔ tidyr 1.3.1
## ✔ readr 2.1.5
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ microbiome::alpha() masks ggplot2::alpha()
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(dplyr)
rm(list=ls())
ps <- readRDS("../../02_CreatPhyloseq/Phyloseq.rds")
pseq <- subset_samples(ps, exp!="skg1" & SKG_Exp=="SKG2" & !is.na(MouseID) & !DaysPost %in% c("-9", "-4", "-7"))
pseq@sam_data$DaysPost <- as.factor(pseq@sam_data$DaysPost)
y1 <- tax_glom(pseq, taxrank = 'Family') # agglomerate taxa
y3 <- transform_sample_counts(y1, function(x) x/sum(x)) #get abundance in %
y4 <- psmelt(y3)
y4$Family <- as.character(y4$Family) #convert to character
y4$Family[y4$Abundance < 0.02] <- "Family < 2% abund." #rename genera with < 1% abundance
my_colors <- c(
"grey", "red", "#1E90FF", "#FF69B4", "#7CFC00", "#20B2AA", "#00BFFF",
"#7B68EE", "#9400D3", "#32CD32", "#FF6347", "#66CDAA", "#8B0000",
"#556B2F", "#7FFF00", "#FFD700", "#FF0000", "dodgerblue3", "black",
"#800080", "#20B2AA", "#008B8B", "#DC143C", "#00FA9A", "#C71585",
"#0000CD", "#32CD32", "darkgoldenrod1", "#D2691E", "#2E8B57",
"#5F7FC7", "#800000", "#D1A33D", "#00FFFF", "#00CED1", "#00FF00",
"#CCCCFF", "#40E0D0", "#00CED1", "#2E8B57", "#666600", "darkred",
"#BA55D3", "#8A2BE2", "#4B0082", "#CD5C5C", "darkorange1", "green",
"#00FFFF", "#00FFFF", "#FFA07A", "#FF00FF", "#4B0082", "#B0E0E6",
"#8FBC8F", "#7FFFD4", "darkblue", "#ADFF2F", "#FFB6C1", "#6A5ACD",
"#00008B", "#B22222", "#FF6347", "#4682B4", "#4169E1", "#D8BFD8",
"#DA70D6", "#DB7093", "#FF1493", "#FF4500", "#FFD700", "#FFE4B5",
"#8A2BE2", "#5F9EA0", "#7FFF00", "#ADFF2F", "#98FB98", "#66CDAA",
"#20B2AA", "#00CED1", "#4682B4", "#B0C4DE", "#5F9EA0", "#6495ED",
"#00BFFF", "#1E90FF", "#ADD8E6", "#87CEEB", "#87CEFA", "#4682B4",
"#B0E0E6", "#AFEEEE", "#00FFFF", "#E0FFFF", "#00FA9A", "#90EE90",
"#98FB98", "#2E8B57", "#228B22"
)
p <- ggplot(y4, aes(x = DaysPost, y = Abundance, fill = fct_reorder(Family, Abundance))) +
geom_bar(stat = "identity",position="fill") + # to equal 1
theme_classic() +scale_fill_manual(values= my_colors)+
theme(text = element_text(size=12),axis.text.y = element_text(hjust=1)) +theme(axis.text.x = element_text(angle = 45, vjust = 1, hjust=1))+
guides(fill = guide_legend( keywidth = 0.4, keyheight = .7)) +
ylab("Distribution of ASVs at Family level") + theme(axis.text = element_text(face="bold"))
p + theme(panel.grid.major = element_blank()) + theme(strip.text.x = element_text(size =12), legend.text = element_text(size=14)) + facet_grid(rows=vars(FacilityOrigin),cols=vars(Tx) ) +guides(fill=guide_legend(ncol=1))
ggsave("FamilyLevelStackPlots.tiff", width=12, height=8, units="in")
rm(list=ls())
ps <- readRDS("../../02_CreatPhyloseq/Phyloseq.rds")
pseq <- subset_samples(ps, exp!="skg1" & SKG_Exp=="SKG2" & !is.na(MouseID) & !DaysPost %in% c("-9", "-4", "-7"))
pseq@sam_data$DaysPost <- as.factor(pseq@sam_data$DaysPost)
y1 <- tax_glom(pseq, taxrank = 'Genus') # agglomerate taxa
y3 <- transform_sample_counts(y1, function(x) x/sum(x)) #get abundance in %
y4 <- psmelt(y3)
y4$Genus <- as.character(y4$Genus) #convert to character
y4$Genus[y4$Abundance < 0.02] <- "Genus < 2% abund." #rename genera with < 1% abundance
my_colors <- c(
"grey", "red", "#1E90FF", "#FF69B4", "#7CFC00", "#20B2AA", "#00BFFF",
"#7B68EE", "#9400D3", "#32CD32", "#FF6347", "#66CDAA", "#8B0000",
"#556B2F", "#7FFF00", "#FFD700", "#FF0000", "dodgerblue3", "black",
"#800080", "#20B2AA", "#008B8B", "#DC143C", "#00FA9A", "#C71585",
"#0000CD", "#32CD32", "darkgoldenrod1", "#D2691E", "#2E8B57",
"#5F7FC7", "#800000", "#D1A33D", "#00FFFF", "#00CED1", "#00FF00",
"#CCCCFF", "#40E0D0", "#00CED1", "#2E8B57", "#666600", "darkred",
"#BA55D3", "#8A2BE2", "#4B0082", "#CD5C5C", "darkorange1", "green",
"#00FFFF", "#00FFFF", "#FFA07A", "#FF00FF", "#4B0082", "#B0E0E6",
"#8FBC8F", "#7FFFD4", "darkblue", "#ADFF2F", "#FFB6C1", "#6A5ACD",
"#00008B", "#B22222", "#FF6347", "#4682B4", "#4169E1", "#D8BFD8",
"#DA70D6", "#DB7093", "#FF1493", "#FF4500", "#FFD700", "#FFE4B5",
"#8A2BE2", "#5F9EA0", "#7FFF00", "#ADFF2F", "#98FB98", "#66CDAA",
"#20B2AA", "#00CED1", "#4682B4", "#B0C4DE", "#5F9EA0", "#6495ED",
"#00BFFF", "#1E90FF", "#ADD8E6", "#87CEEB", "#87CEFA", "#4682B4",
"#B0E0E6", "#AFEEEE", "#00FFFF", "#E0FFFF", "#00FA9A", "#90EE90",
"#98FB98", "#2E8B57", "#228B22"
)
p <- ggplot(y4, aes(x = DaysPost, y = Abundance, fill = fct_reorder(Genus, Abundance))) +
geom_bar(stat = "identity",position="fill") + # to equal 1
theme_classic() +scale_fill_manual(values= my_colors)+
theme(text = element_text(size=12),axis.text.y = element_text(hjust=1)) +theme(axis.text.x = element_text(angle = 45, vjust = 1, hjust=1))+
guides(fill = guide_legend( keywidth = 0.4, keyheight = .7)) +
ylab("Distribution of ASVs at Genus level") + theme(axis.text = element_text(face="bold"))
p + theme(panel.grid.major = element_blank()) + theme(strip.text.x = element_text(size =12), legend.text = element_text(size=14)) + facet_grid(rows=vars(FacilityOrigin),cols=vars(Tx) ) +guides(fill=guide_legend(ncol=1))
ggsave("GenusLevelStackPlots.tiff", width=14, height=10, units="in")
rm(list=ls())
ps <- readRDS("../../02_CreatPhyloseq/Phyloseq.rds")
pseq <- subset_samples(ps, exp!="skg1" & SKG_Exp=="SKG2" & !is.na(MouseID) & !DaysPost %in% c("-9", "-4", "-7"))
pseq@sam_data$DaysPost <- as.factor(pseq@sam_data$DaysPost)
y1 <- tax_glom(pseq, taxrank = 'Phylum') # agglomerate taxa
y3 <- transform_sample_counts(y1, function(x) x/sum(x)) #get abundance in %
y4 <- psmelt(y3)
y4$Family <- as.character(y4$Phylum) #convert to character
y4$Family[y4$Abundance < 0.02] <- "Phylum < 2% abund." #rename genera with < 1% abundance
my_colors <- c(
"grey", "red", "#1E90FF", "#FF69B4", "#7CFC00", "#20B2AA", "#00BFFF",
"#7B68EE", "#9400D3", "#32CD32", "#FF6347", "#66CDAA", "#8B0000",
"#556B2F", "#7FFF00", "#FFD700", "#FF0000", "dodgerblue3", "black",
"#800080", "#20B2AA", "#008B8B", "#DC143C", "#00FA9A", "#C71585",
"#0000CD", "#32CD32", "darkgoldenrod1", "#D2691E", "#2E8B57",
"#5F7FC7", "#800000", "#D1A33D", "#00FFFF", "#00CED1", "#00FF00",
"#CCCCFF", "#40E0D0", "#00CED1", "#2E8B57", "#666600", "darkred",
"#BA55D3", "#8A2BE2", "#4B0082", "#CD5C5C", "darkorange1", "green",
"#00FFFF", "#00FFFF", "#FFA07A", "#FF00FF", "#4B0082", "#B0E0E6",
"#8FBC8F", "#7FFFD4", "darkblue", "#ADFF2F", "#FFB6C1", "#6A5ACD",
"#00008B", "#B22222", "#FF6347", "#4682B4", "#4169E1", "#D8BFD8",
"#DA70D6", "#DB7093", "#FF1493", "#FF4500", "#FFD700", "#FFE4B5",
"#8A2BE2", "#5F9EA0", "#7FFF00", "#ADFF2F", "#98FB98", "#66CDAA",
"#20B2AA", "#00CED1", "#4682B4", "#B0C4DE", "#5F9EA0", "#6495ED",
"#00BFFF", "#1E90FF", "#ADD8E6", "#87CEEB", "#87CEFA", "#4682B4",
"#B0E0E6", "#AFEEEE", "#00FFFF", "#E0FFFF", "#00FA9A", "#90EE90",
"#98FB98", "#2E8B57", "#228B22"
)
p <- ggplot(y4, aes(x = DaysPost, y = Abundance, fill = fct_reorder(Phylum, Abundance))) +
geom_bar(stat = "identity",position="fill") + # to equal 1
theme_classic() +scale_fill_manual(values= my_colors)+
theme(text = element_text(size=12),axis.text.y = element_text(hjust=1)) +
scale_x_discrete(drop=TRUE) +theme(axis.text.x = element_text(angle = 45, vjust = 1, hjust=1))+
guides(fill = guide_legend( keywidth = 0.4, keyheight = .7)) +
ylab("Distribution of ASVs at Family level") + theme(axis.text = element_text(face="bold"))
p + theme(panel.grid.major = element_blank()) + theme(strip.text.x = element_text(size =14), legend.text = element_text(size=13)) + facet_grid(rows=vars(FacilityOrigin),cols=vars(Tx) ) +guides(fill=guide_legend(ncol=1))
ggsave("PhylumLevelStackPlots.tiff", width=12, height=8, units="in")
rm(list = ls())
ps <- readRDS("../../02_CreatPhyloseq/Phyloseq.rds")
pseq <- subset_samples(ps, exp!="skg1" & SKG_Exp=="SKG2" & !is.na(MouseID) & !DaysPost %in% c("-9", "-4", "-7", "-2"))
y1 <- tax_glom(pseq, taxrank = 'Genus')
y3 <- transform_sample_counts(y1, function(x) x / sum(x))
y4 <- psmelt(y3)
y4$Genus <- as.character(y4$Genus)
bacteroides <- subset(y4, Genus == "Bacteroides")
write.csv(bacteroides, "bacteroides.csv")
averages_data <- bacteroides %>%
group_by(DaysPost, FacilityTx, FacilityOrigin, Tx) %>%
dplyr::summarize(
avg_abundance_Bacteroides = mean(Abundance),
se = sd(Abundance) / sqrt(dplyr::n())
)
## `summarise()` has grouped output by 'DaysPost', 'FacilityTx', 'FacilityOrigin'.
## You can override using the `.groups` argument.
p <- ggplot(averages_data, aes(x = DaysPost, y = avg_abundance_Bacteroides )) +
geom_line(aes(group = FacilityTx, color = Tx), size = 1.5) +
geom_point(aes(color = Tx, shape = FacilityOrigin), size = 5) +
geom_errorbar(aes(ymin = avg_abundance_Bacteroides - se, ymax = avg_abundance_Bacteroides + se, color = Tx), width = 0.2) +
theme_classic() +
theme(text = element_text(size = 12),
axis.text.x = element_text(angle = 45, hjust = 1)) +
guides(color = guide_legend(keywidth = 0.4, keyheight = 0.7),
shape = guide_legend(keywidth = 0.4, keyheight = 0.7)) + facet_grid(rows = vars(FacilityOrigin))
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
p
ggsave("Bacteroides.tiff", width=12, height=8, units="in")
##Bacteroides ASVs
rm(list = ls())
ps <- readRDS("../../02_CreatPhyloseq/Phyloseq.rds")
# Subset samples
pseq <- subset_samples(ps, exp != "skg1" & SKG_Exp == "SKG2" & !is.na(MouseID) & !DaysPost %in% c("-9", "-4", "-7", "-2"))
# Transform sample counts to relative abundances
pseq_transformed <- transform_sample_counts(pseq, function(x) x / sum(x))
# Melt the phyloseq object into a data frame
pseq_melted <- psmelt(pseq_transformed)
pseq_melted$Genus <- as.character(pseq_melted$Genus)
# Subset data to include only OTUs or ASVs in the Bacteroides genus
bacteroides <- subset(pseq_melted, Genus == "Bacteroides")
unique_otus <- unique(bacteroides$OTU)
for (otu in unique_otus) {
# Subset data for the current OTU
otu_data <- subset(bacteroides, OTU == otu)
# Perform an ANOVA to compare abundance by FacilityTx
anova_result <- aov(Abundance ~ FacilityTx, data = otu_data)
p_value <- summary(anova_result)[[1]][["Pr(>F)"]][1]
# Check if the p-value is not NA and less than 0.05
if (!is.na(p_value) && p_value < 0.05) {
# Calculate average abundance and standard error by group for the OTU
averages_data <- otu_data %>%
group_by(DaysPost, FacilityTx, FacilityOrigin, Tx) %>%
dplyr::summarize(
avg_abundance_Bacteroides = mean(Abundance),
se = sd(Abundance) / sqrt(dplyr::n()),
.groups = "drop" # Suppress grouping message
)
# Create the plot for the current OTU
p <- ggplot(averages_data, aes(x = DaysPost, y = avg_abundance_Bacteroides)) +
geom_line(aes(group = FacilityTx, color = Tx), size = 1.5) +
geom_point(aes(color = Tx, shape = FacilityOrigin), size = 5) +
geom_errorbar(aes(ymin = avg_abundance_Bacteroides - se, ymax = avg_abundance_Bacteroides + se, color = Tx), width = 0.2) +
theme_classic() +
theme(text = element_text(size = 12),
axis.text.x = element_text(angle = 45, hjust = 1)) +
guides(color = guide_legend(keywidth = 0.4, keyheight = 0.7),
shape = guide_legend(keywidth = 0.4, keyheight = 0.7)) +
ggtitle(paste("OTU:", otu)) # Add OTU name as title
# Print the plot to the console
print(p)
}
}
rm(list=ls())
data <- read.csv("bacteroides.csv")
data_subset <- data %>%
select(Abundance, FacilityOrigin, Tx, DaysPost)
MTZ_data_filtered <- data_subset %>%
filter(FacilityOrigin == "MTZ")
MTZ_results <- MTZ_data_filtered %>%
group_by(DaysPost) %>%
summarise(t_test_p_value = t.test(Abundance ~ Tx)$p.value)
print(MTZ_results)
## # A tibble: 10 × 2
## DaysPost t_test_p_value
## <int> <dbl>
## 1 0 0.222
## 2 3 0.842
## 3 5 0.913
## 4 7 0.0765
## 5 10 0.124
## 6 12 0.0291
## 7 14 0.112
## 8 17 0.0111
## 9 19 0.0195
## 10 21 0.219
psb_data_filtered <- data_subset %>%
filter(FacilityOrigin == "PSB")
psb_results <- psb_data_filtered %>%
group_by(DaysPost) %>%
summarise(t_test_p_value = t.test(Abundance ~ Tx)$p.value)
print(psb_results)
## # A tibble: 10 × 2
## DaysPost t_test_p_value
## <int> <dbl>
## 1 0 0.0518
## 2 3 0.243
## 3 5 0.617
## 4 7 0.993
## 5 10 0.682
## 6 12 0.0181
## 7 14 0.0238
## 8 17 0.114
## 9 19 0.217
## 10 21 0.760
##Bacteroidaceae
rm(list = ls())
ps <- readRDS("../../02_CreatPhyloseq/Phyloseq.rds")
pseq <- subset_samples(ps, exp!="skg1" & SKG_Exp=="SKG2" & !is.na(MouseID) & !DaysPost %in% c("-9", "-4", "-7", "-2"))
y1 <- tax_glom(pseq, taxrank = 'Family')
y3 <- transform_sample_counts(y1, function(x) x / sum(x))
y4 <- psmelt(y3)
y4$Family <- as.character(y4$Family)
Bacteroidaceae <- subset(y4, Family == "Bacteroidaceae")
averages_data <- Bacteroidaceae %>%
group_by(DaysPost, FacilityTx, FacilityOrigin, Tx) %>%
dplyr::summarize(
avg_abundance_Bacteroidaceae = mean(Abundance),
se = sd(Abundance) / sqrt(dplyr::n())
)
## `summarise()` has grouped output by 'DaysPost', 'FacilityTx', 'FacilityOrigin'.
## You can override using the `.groups` argument.
p <- ggplot(averages_data, aes(x = DaysPost, y = avg_abundance_Bacteroidaceae )) +
geom_line(aes(group = FacilityTx, color = Tx), size = 1.5) +
geom_point(aes(color = Tx, shape = FacilityOrigin), size = 5) +
geom_errorbar(aes(ymin = avg_abundance_Bacteroidaceae - se, ymax = avg_abundance_Bacteroidaceae + se, color = Tx), width = 0.2) +
theme_classic() +
theme(text = element_text(size = 12),
axis.text.x = element_text(angle = 45, hjust = 1)) +
guides(color = guide_legend(keywidth = 0.4, keyheight = 0.7),
shape = guide_legend(keywidth = 0.4, keyheight = 0.7)) + facet_grid(rows = vars(FacilityOrigin))
p
data_subset <- Bacteroidaceae %>%
select(Abundance, FacilityOrigin, Tx, DaysPost)
MTZ_data_filtered <- data_subset %>%
filter(FacilityOrigin == "MTZ")
MTZ_results <- MTZ_data_filtered %>%
group_by(DaysPost) %>%
summarise(t_test_p_value = t.test(Abundance ~ Tx)$p.value)
print(MTZ_results)
## # A tibble: 10 × 2
## DaysPost t_test_p_value
## <int> <dbl>
## 1 0 0.277
## 2 3 0.666
## 3 5 0.974
## 4 7 0.116
## 5 10 0.107
## 6 12 0.0551
## 7 14 0.130
## 8 17 0.00409
## 9 19 0.00937
## 10 21 0.226
psb_data_filtered <- data_subset %>%
filter(FacilityOrigin == "PSB")
psb_results <- psb_data_filtered %>%
group_by(DaysPost) %>%
summarise(t_test_p_value = t.test(Abundance ~ Tx)$p.value)
print(psb_results)
## # A tibble: 10 × 2
## DaysPost t_test_p_value
## <int> <dbl>
## 1 0 0.0863
## 2 3 0.218
## 3 5 0.527
## 4 7 0.814
## 5 10 0.601
## 6 12 0.0328
## 7 14 0.0116
## 8 17 0.245
## 9 19 0.329
## 10 21 0.851
rm(list = ls())
ps <- readRDS("../../02_CreatPhyloseq/Phyloseq.rds")
pseq <- subset_samples(ps, exp!="skg1" & SKG_Exp=="SKG2" & !is.na(MouseID) & !DaysPost %in% c("-9", "-4", "-7", "-2"))
metadata <- data.frame(sample_data(pseq))
plot_data <- metadata %>%
select(DaysPost, FacilityTx, FacilityOrigin, Tx, CAS_Score)
plot_data<- plot_data %>%
group_by(DaysPost, FacilityOrigin, Tx) %>%
dplyr::summarize(avg_CAS = mean(CAS_Score),
se = sd(CAS_Score) / sqrt(dplyr::n()))
## `summarise()` has grouped output by 'DaysPost', 'FacilityOrigin'. You can
## override using the `.groups` argument.
p <- ggplot(plot_data , aes(x = DaysPost, y = avg_CAS)) +
geom_line(aes(group = Tx, color = Tx), size = 1.5) +
geom_point(aes(color = Tx, shape = FacilityOrigin), size = 5) +
geom_errorbar(aes(ymin = avg_CAS - se, ymax = avg_CAS + se, color = Tx), width = 0.2) + facet_grid(rows = vars(FacilityOrigin))+ theme_classic() +
theme(text = element_text(size = 12),
axis.text.x = element_text(angle = 45, hjust = 1)) +
guides(color = guide_legend(keywidth = 0.4, keyheight = 0.7),
shape = guide_legend(keywidth = 0.4, keyheight = 0.7)) # Add a legend for shapes
p
## Warning: Removed 1 row containing missing values or values outside the scale range
## (`geom_line()`).
## Warning: Removed 2 rows containing missing values or values outside the scale range
## (`geom_point()`).
rm(list=ls())
ps <- readRDS("../../02_CreatPhyloseq/Phyloseq.rds")
pseq <- subset_samples(ps, exp!="skg1" & SKG_Exp=="SKG2" & !is.na(MouseID) & !DaysPost %in% c("-9", "-4", "-7"))
y1 <- tax_glom(pseq, taxrank = 'Family')
y3 <- transform_sample_counts(y1, function(x) x / sum(x))
y4 <- psmelt(y3)
y4$Family <- as.character(y4$Family)
bacteroidaceae_data <- subset(y4, Family == "Bacteroidaceae")
# Calculate averages and standard error
averages_data <- bacteroidaceae_data %>%
group_by(DaysPost, Tx, FacilityOrigin) %>%
dplyr::summarize(avg_value = mean(Abundance),
se = sd(Abundance) / sqrt(dplyr::n()))
## `summarise()` has grouped output by 'DaysPost', 'Tx'. You can override using
## the `.groups` argument.
# Plot individual MouseID lines
p <- ggplot(averages_data, aes(x = DaysPost, y = avg_value)) +
geom_line(aes(color = Tx), size = 1) +
geom_point(size = 2) +
theme_classic() +
theme(text = element_text(size = 12),
axis.text.x = element_text(angle = 45, hjust = 1)) +
guides(color = guide_legend(keywidth = 0.4, keyheight = 0.7)) +
facet_grid(rows = vars(FacilityOrigin))
# Add average lines and standard error shading
p <- p +
geom_line(data = averages_data, aes(x = DaysPost, y = avg_value, group = Tx, color = Tx), size = 1.5) +
geom_ribbon(data = averages_data, aes(x = DaysPost, ymin = avg_value - se, ymax = avg_value + se, fill = Tx), alpha = 0.2)
p
ggsave("Bacteroidaceae.tiff", width=12, height=8, units="in")
rm(list=ls())
ps <- readRDS("../../02_CreatPhyloseq/Phyloseq.rds")
pseq <- subset_samples(ps, exp!="skg1" & SKG_Exp=="SKG2" & !is.na(MouseID) & !DaysPost %in% c("-9", "-4", "-7"))
y1 <- tax_glom(pseq, taxrank = "Phylum")
y3 <- transform_sample_counts(y1, function(x) x / sum(x))
y4 <- psmelt(y3)
y4$Phylum <- as.character(y4$Phylum)
bacteroidaceae_data <- subset(y4, Phylum == "Bacteroidota")
bacteroidaceae_data
## OTU Sample Abundance MouseID Tx FacilityOrigin DaysPost Sex
## 17 ASV1 RRN-SKG2-p1-60 0.92270624 12 PBS MTZ -2 <NA>
## 98 ASV1 RRN-SKG2-p2-63 0.88347733 15 PBS MTZ 12 <NA>
## 31 ASV1 RRN-SKG1-p2-77 0.87459260 12 PBS MTZ 17 F
## 21 ASV1 RRN-SKG1-p2-76 0.83412119 11 PBS MTZ 17 F
## 35 ASV1 RRN-SKG2-p2-80 0.81956627 16 PBS MTZ 14 <NA>
## 105 ASV1 RRN-SKG2-p2-87 0.79320489 15 PBS MTZ 19 <NA>
## 75 ASV1 RRN-SKG2-p2-84 0.79137809 12 PBS MTZ 19 <NA>
## 22 ASV1 RRN-SKG2-p2-20 0.78881865 4 MTX MTZ 14 <NA>
## 54 ASV1 RRN-SKG2-p2-94 0.78865356 14 PBS PSB 21 <NA>
## 11 ASV1 RRN-SKG1-p2-75 0.78340475 10 PBS PSB 17 F
## 62 ASV1 RRN-SKG2-p2-24 0.76006314 12 PBS MTZ 7 <NA>
## 126 ASV1 RRN-SKG2-p1-81 0.74231505 1 MTX PSB 10 <NA>
## 41 ASV1 RRN-SKG1-p2-78 0.73818334 13 PBS PSB 17 F
## 15 ASV1 RRN-SKG2-p2-79 0.73419773 15 PBS MTZ 14 <NA>
## 8 ASV1 RRN-SKG2-p2-55 0.72136765 11 PBS MTZ 12 <NA>
## 66 ASV1 RRN-SKG2-p1-76 0.72066421 12 PBS MTZ 0 <NA>
## 160 ASV1 RRN-SKG2-p2-39 0.72057541 11 PBS MTZ 10 <NA>
## 95 ASV1 RRN-SKG2-p2-86 0.71697473 14 PBS PSB 19 <NA>
## 85 ASV1 RRN-SKG2-p2-85 0.71369427 13 PBS PSB 19 <NA>
## 51 ASV1 RRN-SKG1-p2-81 0.71298568 16 PBS MTZ 17 F
## 61 ASV1 RRN-SKG2-p1-1 0.70954649 1 MTX PSB -2 <NA>
## 107 ASV1 RRN-SKG2-p1-4 0.70637343 4 MTX MTZ -2 <NA>
## 27 ASV1 RRN-SKG2-p1-61 0.70106496 13 PBS PSB -2 <NA>
## 19 ASV1 RRN-SKG2-p2-44 0.69953807 8 MTX MTZ 17 <NA>
## 101 ASV1 RRN-SKG2-p1-2 0.69243354 2 MTX PSB -2 <NA>
## 146 ASV1 RRN-SKG2-p2-72 0.68930876 12 PBS MTZ 14 <NA>
## 63 ASV1 RRN-SKG2-p2-11 0.68898187 7 MTX PSB 12 <NA>
## 153 ASV1 RRN-SKG2-p2-74 0.68538308 6 MTX PSB 21 <NA>
## 45 ASV1 RRN-SKG2-p2-81 0.67349967 9 PBS PSB 19 <NA>
## 34 ASV1 RRN-SKG2-p2-92 0.66573080 12 PBS MTZ 21 <NA>
## 119 ASV1 RRN-SKG2-p2-54 0.66061691 10 PBS PSB 12 <NA>
## 84 ASV1 RRN-SKG2-p1-68 0.66042693 4 MTX MTZ 7 <NA>
## 108 ASV1 RRN-SKG2-p2-64 0.65784400 16 PBS MTZ 12 <NA>
## 9 ASV1 RRN-SKG2-p2-42 0.65716912 6 MTX PSB 17 <NA>
## 113 ASV1 RRN-SKG2-p2-18 0.65427303 2 MTX PSB 14 <NA>
## 149 ASV1 RRN-SKG2-p1-59 0.65325251 11 PBS MTZ -2 <NA>
## 32 ASV1 RRN-SKG2-p2-21 0.64892033 9 PBS PSB 7 <NA>
## 49 ASV1 RRN-SKG2-p2-47 0.64470983 15 PBS MTZ 10 <NA>
## 166 ASV1 RRN-SKG2-p2-77 0.64428191 13 PBS PSB 14 <NA>
## 72 ASV1 RRN-SKG2-p2-25 0.63854733 6 MTX PSB 14 <NA>
## 6 ASV1 RRN-SKG2-p1-70 0.63408950 6 MTX PSB 7 <NA>
## 115 ASV1 RRN-SKG2-p2-88 0.62707626 16 PBS MTZ 19 <NA>
## 13 ASV1 RRN-SKG2-p1-94 0.62544484 14 PBS PSB 3 <NA>
## 2 ASV1 RRN-SKG2-p2-19 0.62071846 3 MTX MTZ 14 <NA>
## 80 ASV1 RRN-SKG2-p1-36 0.62025013 4 MTX MTZ 3 <NA>
## 109 ASV1 RRN-SKG2-p2-53 0.61989343 9 PBS PSB 12 <NA>
## 1 ASV1 RRN-SKG1-p2-74 0.61823957 9 PBS PSB 17 F
## 78 ASV1 RRN-SKG2-p2-61 0.61371158 13 PBS PSB 12 <NA>
## 114 ASV1 RRN-SKG2-p1-49 0.61297606 1 MTX PSB 5 <NA>
## 158 ASV1 RRN-SKG2-p1-55 0.60742816 7 MTX PSB 5 <NA>
## 5 ASV1 RRN-SKG2-p2-78 0.59921057 14 PBS PSB 14 <NA>
## 152 ASV1 RRN-SKG2-p2-70 0.59734681 10 PBS PSB 14 <NA>
## 130 ASV1 RRN-SKG2-p1-84 0.59686799 4 MTX MTZ 10 <NA>
## 92 ASV1 RRN-SKG2-p2-27 0.59642423 7 MTX PSB 14 <NA>
## 157 ASV1 RRN-SKG2-p2-4 0.58942504 4 MTX MTZ 12 <NA>
## 106 ASV1 RRN-SKG2-p1-8 0.58858355 8 MTX MTZ -2 <NA>
## 133 ASV1 RRN-SKG2-p2-35 0.58749041 3 MTX MTZ 17 <NA>
## 18 ASV1 RRN-SKG2-p2-56 0.58747798 12 PBS MTZ 12 <NA>
## 73 ASV1 RRN-SKG2-p2-12 0.58463768 8 MTX MTZ 12 <NA>
## 99 ASV1 RRN-SKG2-p2-52 0.58387604 4 MTX MTZ 19 <NA>
## 121 ASV1 RRN-SKG2-p1-21 0.57767612 5 MTX PSB 0 <NA>
## 116 ASV1 RRN-SKG2-p1-80 0.57468945 16 PBS MTZ 0 <NA>
## 96 ASV1 RRN-SKG2-p1-79 0.57114754 15 PBS MTZ 0 <NA>
## 38 ASV1 RRN-SKG2-p2-58 0.56446171 6 MTX PSB 19 <NA>
## 65 ASV1 RRN-SKG2-p2-83 0.55923356 11 PBS MTZ 19 <NA>
## 129 ASV1 RRN-SKG2-p2-31 0.55802288 15 PBS MTZ 7 <NA>
## 44 ASV1 RRN-SKG2-p2-93 0.55691596 13 PBS PSB 21 <NA>
## 56 ASV1 RRN-SKG2-p1-75 0.55666667 11 PBS MTZ 0 <NA>
## 76 ASV1 RRN-SKG2-p1-77 0.55519545 13 PBS PSB 0 <NA>
## 163 ASV1 RRN-SKG2-p2-41 0.55424663 5 MTX PSB 17 <NA>
## 89 ASV1 RRN-SKG2-p2-51 0.54706552 3 MTX MTZ 19 <NA>
## 125 ASV1 RRN-SKG2-p2-67 0.54271488 3 MTX MTZ 21 <NA>
## 46 ASV1 RRN-SKG2-p1-74 0.54154761 10 PBS PSB 0 <NA>
## 165 ASV1 RRN-SKG2-p1-92 0.53846861 12 PBS MTZ 3 <NA>
## 136 ASV1 RRN-SKG2-p2-71 0.53218125 11 PBS MTZ 14 <NA>
## 137 ASV1 RRN-SKG2-p1-86 0.52815013 6 MTX PSB 10 <NA>
## 150 ASV1 RRN-SKG2-p2-38 0.52513003 10 PBS PSB 10 <NA>
## 74 ASV1 RRN-SKG2-p2-96 0.52114116 16 PBS MTZ 21 <NA>
## 155 ASV1 RRN-SKG2-p1-56 0.51913933 8 MTX MTZ 5 <NA>
## 131 ASV1 RRN-SKG2-p1-51 0.51697456 3 MTX MTZ 5 <NA>
## 148 ASV1 RRN-SKG2-p1-54 0.51514230 6 MTX PSB 5 <NA>
## 117 ASV1 RRN-SKG2-p1-40 0.51310564 8 MTX MTZ 3 <NA>
## 122 ASV1 RRN-SKG2-p2-3 0.51211331 3 MTX MTZ 12 <NA>
## 23 ASV1 RRN-SKG2-p1-95 0.51010458 15 PBS MTZ 3 <NA>
## 67 ASV1 RRN-SKG2-p1-65 0.50947469 1 MTX PSB 7 <NA>
## 58 ASV1 RRN-SKG2-p2-6 0.50814545 10 PBS PSB 5 <NA>
## 144 ASV1 RRN-SKG2-p1-88 0.50143287 8 MTX MTZ 10 <NA>
## 7 ASV1 RRN-SKG2-p1-6 0.49603379 6 MTX PSB -2 <NA>
## 36 ASV1 RRN-SKG2-p1-73 0.48565949 9 PBS PSB 0 <NA>
## 4 ASV1 RRN-SKG2-p2-89 0.48505816 9 PBS PSB 21 <NA>
## 77 ASV1 RRN-SKG2-p1-66 0.48498456 2 MTX PSB 7 <NA>
## 53 ASV1 RRN-SKG2-p2-10 0.48195122 6 MTX PSB 12 <NA>
## 29 ASV1 RRN-SKG2-p2-45 0.47824019 13 PBS PSB 10 <NA>
## 25 ASV1 RRN-SKG2-p2-8 0.47667203 12 PBS MTZ 5 <NA>
## 102 ASV1 RRN-SKG2-p2-28 0.47397732 8 MTX MTZ 14 <NA>
## 86 ASV1 RRN-SKG2-p1-78 0.47080530 14 PBS PSB 0 <NA>
## 112 ASV1 RRN-SKG2-p2-29 0.46915500 14 PBS PSB 7 <NA>
## 57 ASV1 RRN-SKG2-p1-64 0.45781250 16 PBS MTZ -2 <NA>
## 88 ASV1 RRN-SKG2-p2-62 0.45717845 14 PBS PSB 12 <NA>
## 60 ASV1 RRN-SKG2-p1-34 0.45597043 2 MTX PSB 3 <NA>
## 132 ASV1 RRN-SKG2-p2-30 0.45551546 13 PBS PSB 7 <NA>
## 162 ASV1 RRN-SKG2-p2-40 0.45204503 12 PBS MTZ 10 <NA>
## 70 ASV1 RRN-SKG2-p1-35 0.44335749 3 MTX MTZ 3 <NA>
## 40 ASV1 RRN-SKG2-p1-3 0.44088697 3 MTX MTZ -2 <NA>
## 145 ASV1 RRN-SKG2-p2-69 0.43912631 9 PBS PSB 14 <NA>
## 79 ASV1 RRN-SKG2-p2-5 0.43613963 9 PBS PSB 5 <NA>
## 143 ASV1 RRN-SKG2-p2-36 0.43282202 4 MTX MTZ 17 <NA>
## 16 ASV1 RRN-SKG2-p1-71 0.41916028 7 MTX PSB 7 <NA>
## 47 ASV1 RRN-SKG2-p1-63 0.41804595 15 PBS MTZ -2 <NA>
## 147 ASV1 RRN-SKG2-p1-87 0.41392888 7 MTX PSB 10 <NA>
## 110 ASV1 RRN-SKG2-p1-82 0.41289159 2 MTX PSB 10 <NA>
## 151 ASV1 RRN-SKG2-p1-90 0.40315368 10 PBS PSB 3 <NA>
## 55 ASV1 RRN-SKG2-p2-82 0.39593759 10 PBS PSB 19 <NA>
## 156 ASV1 RRN-SKG2-p2-73 0.39110169 5 MTX PSB 21 <NA>
## 12 ASV1 RRN-SKG2-p2-2 0.38873178 2 MTX PSB 12 <NA>
## 103 ASV1 RRN-SKG2-p2-17 0.38728777 1 MTX PSB 14 <NA>
## 91 ASV1 RRN-SKG2-p1-19 0.38516533 3 MTX MTZ 0 <NA>
## 71 ASV1 RRN-SKG2-p1-17 0.38491257 1 MTX PSB 0 <NA>
## 59 ASV1 RRN-SKG2-p2-48 0.38313200 16 PBS MTZ 10 <NA>
## 93 ASV1 RRN-SKG2-p2-16 0.37978011 16 PBS MTZ 5 <NA>
## 161 ASV1 RRN-SKG2-p1-91 0.37947293 11 PBS MTZ 3 <NA>
## 52 ASV1 RRN-SKG2-p2-23 0.37118695 11 PBS MTZ 7 <NA>
## 111 ASV1 RRN-SKG2-p1-20 0.36795252 4 MTX MTZ 0 <NA>
## 42 ASV1 RRN-SKG2-p2-22 0.36576402 10 PBS PSB 7 <NA>
## 28 ASV1 RRN-SKG2-p2-57 0.36516443 5 MTX PSB 19 <NA>
## 3 ASV1 RRN-SKG2-p1-93 0.36070004 13 PBS PSB 3 <NA>
## 24 ASV1 RRN-SKG2-p2-90 0.36069335 10 PBS PSB 21 <NA>
## 120 ASV1 RRN-SKG2-p1-83 0.35748574 3 MTX MTZ 10 <NA>
## 43 ASV1 RRN-SKG2-p2-1 0.35709037 1 MTX PSB 12 <NA>
## 20 ASV1 RRN-SKG2-p1-23 0.35087719 7 MTX PSB 0 <NA>
## 14 ASV1 RRN-SKG2-p2-9 0.34646018 5 MTX PSB 12 <NA>
## 83 ASV1 RRN-SKG2-p2-14 0.34457511 14 PBS PSB 5 <NA>
## 68 ASV1 RRN-SKG2-p2-60 0.34247634 8 MTX MTZ 19 <NA>
## 141 ASV1 RRN-SKG2-p1-52 0.33667025 4 MTX MTZ 5 <NA>
## 48 ASV1 RRN-SKG2-p2-59 0.33067314 7 MTX PSB 19 <NA>
## 30 ASV1 RRN-SKG2-p1-24 0.31945038 8 MTX MTZ 0 <NA>
## 123 ASV1 RRN-SKG2-p2-34 0.31091281 2 MTX PSB 17 <NA>
## 100 ASV1 RRN-SKG2-p1-38 0.30902267 6 MTX PSB 3 <NA>
## 33 ASV1 RRN-SKG2-p1-96 0.30831115 16 PBS MTZ 3 <NA>
## 139 ASV1 RRN-SKG2-p2-33 0.30695739 1 MTX PSB 17 <NA>
## 69 ASV1 RRN-SKG2-p2-49 0.29315100 1 MTX PSB 19 <NA>
## 118 ASV1 RRN-SKG2-p2-65 0.29095275 1 MTX PSB 21 <NA>
## 135 ASV1 RRN-SKG2-p2-68 0.29047302 4 MTX MTZ 21 <NA>
## 10 ASV1 RRN-SKG2-p1-22 0.28556535 6 MTX PSB 0 <NA>
## 97 ASV1 RRN-SKG2-p1-39 0.28423620 7 MTX PSB 3 <NA>
## 50 ASV1 RRN-SKG2-p1-33 0.28091471 1 MTX PSB 3 <NA>
## 87 ASV1 RRN-SKG2-p1-67 0.27049528 3 MTX MTZ 7 <NA>
## 26 ASV1 RRN-SKG2-p1-72 0.26399699 8 MTX MTZ 7 <NA>
## 37 ASV1 RRN-SKG2-p1-62 0.26372768 14 PBS PSB -2 <NA>
## 81 ASV1 RRN-SKG2-p1-18 0.26140319 2 MTX PSB 0 <NA>
## 90 ASV1 RRN-SKG2-p1-37 0.25698462 5 MTX PSB 3 <NA>
## 39 ASV1 RRN-SKG2-p2-46 0.25337058 14 PBS PSB 10 <NA>
## 154 ASV1 RRN-SKG2-p1-89 0.24634574 9 PBS PSB 3 <NA>
## 138 ASV1 RRN-SKG2-p1-53 0.24284432 5 MTX PSB 5 <NA>
## 127 ASV1 RRN-SKG2-p1-85 0.24247351 5 MTX PSB 10 <NA>
## 128 ASV1 RRN-SKG2-p2-66 0.24010852 2 MTX PSB 21 <NA>
## 164 ASV1 RRN-SKG2-p1-57 0.22967000 9 PBS PSB -2 <NA>
## 104 ASV1 RRN-SKG2-p1-7 0.22190223 7 MTX PSB -2 <NA>
## 124 ASV1 RRN-SKG2-p1-5 0.21483126 5 MTX PSB -2 <NA>
## 134 ASV1 RRN-SKG2-p1-50 0.21116928 2 MTX PSB 5 <NA>
## 94 ASV1 RRN-SKG2-p1-69 0.21083831 5 MTX PSB 7 <NA>
## 82 ASV1 RRN-SKG2-p2-26 0.20272040 5 MTX PSB 14 <NA>
## 159 ASV1 RRN-SKG2-p2-75 0.19027544 7 MTX PSB 21 <NA>
## 64 ASV1 RRN-SKG2-p2-95 0.19016773 15 PBS MTZ 21 <NA>
## 140 ASV1 RRN-SKG2-p2-37 0.16551984 9 PBS PSB 10 <NA>
## 142 ASV1 RRN-SKG2-p2-7 0.09637995 11 PBS MTZ 5 <NA>
## Genotype Genotype2 TimePoint SampleInfo Row Column type SKG_Exp replicate
## 17 <NA> SKG 4 <NA> D 8 feces SKG2 0
## 98 <NA> SKG 10 <NA> G 8 feces SKG2 0
## 31 <NA> SKG 12 <NA> E 10 feces SKG2 0
## 21 <NA> SKG 12 <NA> D 10 feces SKG2 0
## 35 <NA> SKG 11 <NA> H 10 feces SKG2 0
## 105 <NA> SKG 13 <NA> G 11 feces SKG2 0
## 75 <NA> SKG 13 <NA> D 11 feces SKG2 0
## 22 <NA> SKG 8 <NA> D 3 feces SKG2 0
## 54 <NA> SKG 14 <NA> F 12 feces SKG2 0
## 11 <NA> SKG 12 <NA> C 10 feces SKG2 0
## 62 <NA> SKG 8 <NA> H 3 feces SKG2 0
## 126 <NA> SKG 6 <NA> A 11 feces SKG2 0
## 41 <NA> SKG 12 <NA> F 10 feces SKG2 0
## 15 <NA> SKG 11 <NA> G 10 feces SKG2 0
## 8 <NA> SKG 10 <NA> G 7 feces SKG2 0
## 66 <NA> SKG 5 <NA> D 10 feces SKG2 0
## 160 <NA> SKG 9 <NA> G 5 feces SKG2 0
## 95 <NA> SKG 13 <NA> F 11 feces SKG2 0
## 85 <NA> SKG 13 <NA> E 11 feces SKG2 0
## 51 <NA> SKG 12 <NA> A 11 feces SKG2 0
## 61 <NA> SKG 1 <NA> A 1 feces SKG2 0
## 107 <NA> SKG 1 <NA> D 1 feces SKG2 0
## 27 <NA> SKG 4 <NA> E 8 feces SKG2 0
## 19 <NA> SKG 9 <NA> D 6 feces SKG2 0
## 101 <NA> SKG 1 <NA> B 1 feces SKG2 0
## 146 <NA> SKG 11 <NA> H 9 feces SKG2 0
## 63 <NA> SKG 7 <NA> C 2 feces SKG2 0
## 153 <NA> SKG 11 <NA> B 10 feces SKG2 0
## 45 <NA> SKG 13 <NA> A 11 feces SKG2 0
## 34 <NA> SKG 14 <NA> D 12 feces SKG2 0
## 119 <NA> SKG 10 <NA> F 7 feces SKG2 0
## 84 <NA> SKG 5 <NA> D 9 feces SKG2 0
## 108 <NA> SKG 10 <NA> H 8 feces SKG2 0
## 9 <NA> SKG 9 <NA> B 6 feces SKG2 0
## 113 <NA> SKG 8 <NA> B 3 feces SKG2 0
## 149 <NA> SKG 4 <NA> C 8 feces SKG2 0
## 32 <NA> SKG 8 <NA> E 3 feces SKG2 0
## 49 <NA> SKG 9 <NA> G 6 feces SKG2 0
## 166 <NA> SKG 11 <NA> E 10 feces SKG2 0
## 72 <NA> SKG 8 <NA> A 4 feces SKG2 0
## 6 <NA> SKG 5 <NA> F 9 feces SKG2 0
## 115 <NA> SKG 13 <NA> H 11 feces SKG2 0
## 13 <NA> SKG 6 <NA> F 12 feces SKG2 0
## 2 <NA> SKG 8 <NA> C 3 feces SKG2 0
## 80 <NA> SKG 3 <NA> D 5 feces SKG2 0
## 109 <NA> SKG 10 <NA> E 7 feces SKG2 0
## 1 <NA> SKG 12 <NA> B 10 feces SKG2 0
## 78 <NA> SKG 10 <NA> E 8 feces SKG2 0
## 114 <NA> SKG 4 <NA> A 7 feces SKG2 0
## 158 <NA> SKG 4 <NA> G 7 feces SKG2 0
## 5 <NA> SKG 11 <NA> F 10 feces SKG2 0
## 152 <NA> SKG 11 <NA> F 9 feces SKG2 0
## 130 <NA> SKG 6 <NA> D 11 feces SKG2 0
## 92 <NA> SKG 8 <NA> C 4 feces SKG2 0
## 157 <NA> SKG 7 <NA> D 1 feces SKG2 0
## 106 <NA> SKG 1 <NA> H 1 feces SKG2 0
## 133 <NA> SKG 9 <NA> C 5 feces SKG2 0
## 18 <NA> SKG 10 <NA> H 7 feces SKG2 0
## 73 <NA> SKG 7 <NA> D 2 feces SKG2 0
## 99 <NA> SKG 10 <NA> D 7 feces SKG2 0
## 121 <NA> SKG 2 <NA> E 3 feces SKG2 0
## 116 <NA> SKG 5 <NA> H 10 feces SKG2 0
## 96 <NA> SKG 5 <NA> G 10 feces SKG2 0
## 38 <NA> SKG 10 <NA> B 8 feces SKG2 0
## 65 <NA> SKG 13 <NA> C 11 feces SKG2 0
## 129 <NA> SKG 8 <NA> G 4 feces SKG2 0
## 44 <NA> SKG 14 <NA> E 12 feces SKG2 0
## 56 <NA> SKG 5 <NA> C 10 feces SKG2 0
## 76 <NA> SKG 5 <NA> E 10 feces SKG2 0
## 163 <NA> SKG 9 <NA> A 6 feces SKG2 0
## 89 <NA> SKG 10 <NA> C 7 feces SKG2 0
## 125 <NA> SKG 11 <NA> C 9 feces SKG2 0
## 46 <NA> SKG 5 <NA> B 10 feces SKG2 0
## 165 <NA> SKG 6 <NA> D 12 feces SKG2 0
## 136 <NA> SKG 11 <NA> G 9 feces SKG2 0
## 137 <NA> SKG 6 <NA> F 11 feces SKG2 0
## 150 <NA> SKG 9 <NA> F 5 feces SKG2 0
## 74 <NA> SKG 14 <NA> H 12 feces SKG2 0
## 155 <NA> SKG 4 <NA> H 7 feces SKG2 0
## 131 <NA> SKG 4 <NA> C 7 feces SKG2 0
## 148 <NA> SKG 4 <NA> F 7 feces SKG2 0
## 117 <NA> SKG 3 <NA> H 5 feces SKG2 0
## 122 <NA> SKG 7 <NA> C 1 feces SKG2 0
## 23 <NA> SKG 6 <NA> G 12 feces SKG2 0
## 67 <NA> SKG 5 <NA> A 9 feces SKG2 0
## 58 <NA> SKG 7 <NA> F 1 feces SKG2 0
## 144 <NA> SKG 6 <NA> H 11 feces SKG2 0
## 7 <NA> SKG 1 <NA> F 1 feces SKG2 0
## 36 <NA> SKG 5 <NA> A 10 feces SKG2 0
## 4 <NA> SKG 14 <NA> A 12 feces SKG2 0
## 77 <NA> SKG 5 <NA> B 9 feces SKG2 0
## 53 <NA> SKG 7 <NA> B 2 feces SKG2 0
## 29 <NA> SKG 9 <NA> E 6 feces SKG2 0
## 25 <NA> SKG 7 <NA> H 1 feces SKG2 0
## 102 <NA> SKG 8 <NA> D 4 feces SKG2 0
## 86 <NA> SKG 5 <NA> F 10 feces SKG2 0
## 112 <NA> SKG 8 <NA> E 4 feces SKG2 0
## 57 <NA> SKG 4 <NA> H 8 feces SKG2 0
## 88 <NA> SKG 10 <NA> F 8 feces SKG2 0
## 60 <NA> SKG 3 <NA> B 5 feces SKG2 0
## 132 <NA> SKG 8 <NA> F 4 feces SKG2 0
## 162 <NA> SKG 9 <NA> H 5 feces SKG2 0
## 70 <NA> SKG 3 <NA> C 5 feces SKG2 0
## 40 <NA> SKG 1 <NA> C 1 feces SKG2 0
## 145 <NA> SKG 11 <NA> E 9 feces SKG2 0
## 79 <NA> SKG 7 <NA> E 1 feces SKG2 0
## 143 <NA> SKG 9 <NA> D 5 feces SKG2 0
## 16 <NA> SKG 5 <NA> G 9 feces SKG2 0
## 47 <NA> SKG 4 <NA> G 8 feces SKG2 0
## 147 <NA> SKG 6 <NA> G 11 feces SKG2 0
## 110 <NA> SKG 6 <NA> B 11 feces SKG2 0
## 151 <NA> SKG 6 <NA> B 12 feces SKG2 0
## 55 <NA> SKG 13 <NA> B 11 feces SKG2 0
## 156 <NA> SKG 11 <NA> A 10 feces SKG2 0
## 12 <NA> SKG 7 <NA> B 1 feces SKG2 0
## 103 <NA> SKG 8 <NA> A 3 feces SKG2 0
## 91 <NA> SKG 2 <NA> C 3 feces SKG2 0
## 71 <NA> SKG 2 <NA> A 3 feces SKG2 0
## 59 <NA> SKG 9 <NA> H 6 feces SKG2 0
## 93 <NA> SKG 7 <NA> H 2 feces SKG2 0
## 161 <NA> SKG 6 <NA> C 12 feces SKG2 0
## 52 <NA> SKG 8 <NA> G 3 feces SKG2 0
## 111 <NA> SKG 2 <NA> D 3 feces SKG2 0
## 42 <NA> SKG 8 <NA> F 3 feces SKG2 0
## 28 <NA> SKG 10 <NA> A 8 feces SKG2 0
## 3 <NA> SKG 6 <NA> E 12 feces SKG2 0
## 24 <NA> SKG 14 <NA> B 12 feces SKG2 0
## 120 <NA> SKG 6 <NA> C 11 feces SKG2 0
## 43 <NA> SKG 7 <NA> A 1 feces SKG2 0
## 20 <NA> SKG 2 <NA> G 3 feces SKG2 0
## 14 <NA> SKG 7 <NA> A 2 feces SKG2 0
## 83 <NA> SKG 7 <NA> F 2 feces SKG2 0
## 68 <NA> SKG 10 <NA> D 8 feces SKG2 0
## 141 <NA> SKG 4 <NA> D 7 feces SKG2 0
## 48 <NA> SKG 10 <NA> C 8 feces SKG2 0
## 30 <NA> SKG 2 <NA> H 3 feces SKG2 0
## 123 <NA> SKG 9 <NA> B 5 feces SKG2 0
## 100 <NA> SKG 3 <NA> F 5 feces SKG2 0
## 33 <NA> SKG 6 <NA> H 12 feces SKG2 0
## 139 <NA> SKG 9 <NA> A 5 feces SKG2 0
## 69 <NA> SKG 10 <NA> A 7 feces SKG2 0
## 118 <NA> SKG 11 <NA> A 9 feces SKG2 0
## 135 <NA> SKG 11 <NA> D 9 feces SKG2 0
## 10 <NA> SKG 2 <NA> F 3 feces SKG2 0
## 97 <NA> SKG 3 <NA> G 5 feces SKG2 0
## 50 <NA> SKG 3 <NA> A 5 feces SKG2 0
## 87 <NA> SKG 5 <NA> C 9 feces SKG2 0
## 26 <NA> SKG 5 <NA> H 9 feces SKG2 0
## 37 <NA> SKG 4 <NA> F 8 feces SKG2 0
## 81 <NA> SKG 2 <NA> B 3 feces SKG2 0
## 90 <NA> SKG 3 <NA> E 5 feces SKG2 0
## 39 <NA> SKG 9 <NA> F 6 feces SKG2 0
## 154 <NA> SKG 6 <NA> A 12 feces SKG2 0
## 138 <NA> SKG 4 <NA> E 7 feces SKG2 0
## 127 <NA> SKG 6 <NA> E 11 feces SKG2 0
## 128 <NA> SKG 11 <NA> B 9 feces SKG2 0
## 164 <NA> SKG 4 <NA> A 8 feces SKG2 0
## 104 <NA> SKG 1 <NA> G 1 feces SKG2 0
## 124 <NA> SKG 1 <NA> E 1 feces SKG2 0
## 134 <NA> SKG 4 <NA> B 7 feces SKG2 0
## 94 <NA> SKG 5 <NA> E 9 feces SKG2 0
## 82 <NA> SKG 8 <NA> B 4 feces SKG2 0
## 159 <NA> SKG 11 <NA> C 10 feces SKG2 0
## 64 <NA> SKG 14 <NA> G 12 feces SKG2 0
## 140 <NA> SKG 9 <NA> E 5 feces SKG2 0
## 142 <NA> SKG 7 <NA> G 1 feces SKG2 0
## JA_Group JA_Sex JA_Abx JA_Collection FacilityTx exp plate Day Cage
## 17 NA <NA> NA NA MTZ_PBS skg2 plate1 NA 4150962
## 98 NA <NA> NA NA MTZ_PBS skg2 plate2 NA 4150966
## 31 NA <NA> NA NA MTZ_PBS skg2 plate2 NA NA
## 21 NA <NA> NA NA MTZ_PBS skg2 plate2 NA NA
## 35 NA <NA> NA NA MTZ_PBS skg2 plate2 NA 4150966
## 105 NA <NA> NA NA MTZ_PBS skg2 plate2 NA 4150966
## 75 NA <NA> NA NA MTZ_PBS skg2 plate2 NA 4150962
## 22 NA <NA> NA NA MTZ_MTX skg2 plate2 NA 4070852
## 54 NA <NA> NA NA PSB_PBS skg2 plate2 NA 4150966
## 11 NA <NA> NA NA PSB_PBS skg2 plate2 NA NA
## 62 NA <NA> NA NA MTZ_PBS skg2 plate2 NA 4150962
## 126 NA <NA> NA NA PSB_MTX skg2 plate1 NA 4070852
## 41 NA <NA> NA NA PSB_PBS skg2 plate2 NA NA
## 15 NA <NA> NA NA MTZ_PBS skg2 plate2 NA 4150966
## 8 NA <NA> NA NA MTZ_PBS skg2 plate2 NA 4150962
## 66 NA <NA> NA NA MTZ_PBS skg2 plate1 NA 4150962
## 160 NA <NA> NA NA MTZ_PBS skg2 plate2 NA 4150962
## 95 NA <NA> NA NA PSB_PBS skg2 plate2 NA 4150966
## 85 NA <NA> NA NA PSB_PBS skg2 plate2 NA 4150966
## 51 NA <NA> NA NA MTZ_PBS skg2 plate2 NA NA
## 61 NA <NA> NA NA PSB_MTX skg2 plate1 NA 4070852
## 107 NA <NA> NA NA MTZ_MTX skg2 plate1 NA 4070852
## 27 NA <NA> NA NA PSB_PBS skg2 plate1 NA 4150966
## 19 NA <NA> NA NA MTZ_MTX skg2 plate2 NA 4070853
## 101 NA <NA> NA NA PSB_MTX skg2 plate1 NA 4070852
## 146 NA <NA> NA NA MTZ_PBS skg2 plate2 NA 4150962
## 63 NA <NA> NA NA PSB_MTX skg2 plate2 NA 4070853
## 153 NA <NA> NA NA PSB_MTX skg2 plate2 NA 4070853
## 45 NA <NA> NA NA PSB_PBS skg2 plate2 NA 4150962
## 34 NA <NA> NA NA MTZ_PBS skg2 plate2 NA 4150962
## 119 NA <NA> NA NA PSB_PBS skg2 plate2 NA 4150962
## 84 NA <NA> NA NA MTZ_MTX skg2 plate1 NA 4070852
## 108 NA <NA> NA NA MTZ_PBS skg2 plate2 NA 4150966
## 9 NA <NA> NA NA PSB_MTX skg2 plate2 NA 4070853
## 113 NA <NA> NA NA PSB_MTX skg2 plate2 NA 4070852
## 149 NA <NA> NA NA MTZ_PBS skg2 plate1 NA 4150962
## 32 NA <NA> NA NA PSB_PBS skg2 plate2 NA 4150962
## 49 NA <NA> NA NA MTZ_PBS skg2 plate2 NA 4150966
## 166 NA <NA> NA NA PSB_PBS skg2 plate2 NA 4150966
## 72 NA <NA> NA NA PSB_MTX skg2 plate2 NA 4070853
## 6 NA <NA> NA NA PSB_MTX skg2 plate1 NA 4070853
## 115 NA <NA> NA NA MTZ_PBS skg2 plate2 NA 4150966
## 13 NA <NA> NA NA PSB_PBS skg2 plate1 NA 4150966
## 2 NA <NA> NA NA MTZ_MTX skg2 plate2 NA 4070852
## 80 NA <NA> NA NA MTZ_MTX skg2 plate1 NA 4070852
## 109 NA <NA> NA NA PSB_PBS skg2 plate2 NA 4150962
## 1 NA <NA> NA NA PSB_PBS skg2 plate2 NA NA
## 78 NA <NA> NA NA PSB_PBS skg2 plate2 NA 4150966
## 114 NA <NA> NA NA PSB_MTX skg2 plate1 NA 4070852
## 158 NA <NA> NA NA PSB_MTX skg2 plate1 NA 4070853
## 5 NA <NA> NA NA PSB_PBS skg2 plate2 NA 4150966
## 152 NA <NA> NA NA PSB_PBS skg2 plate2 NA 4150962
## 130 NA <NA> NA NA MTZ_MTX skg2 plate1 NA 4070852
## 92 NA <NA> NA NA PSB_MTX skg2 plate2 NA 4070853
## 157 NA <NA> NA NA MTZ_MTX skg2 plate2 NA 4070852
## 106 NA <NA> NA NA MTZ_MTX skg2 plate1 NA 4070853
## 133 NA <NA> NA NA MTZ_MTX skg2 plate2 NA 4070852
## 18 NA <NA> NA NA MTZ_PBS skg2 plate2 NA 4150962
## 73 NA <NA> NA NA MTZ_MTX skg2 plate2 NA 4070853
## 99 NA <NA> NA NA MTZ_MTX skg2 plate2 NA 4070852
## 121 NA <NA> NA NA PSB_MTX skg2 plate1 NA 4070853
## 116 NA <NA> NA NA MTZ_PBS skg2 plate1 NA 4150966
## 96 NA <NA> NA NA MTZ_PBS skg2 plate1 NA 4150966
## 38 NA <NA> NA NA PSB_MTX skg2 plate2 NA 4070853
## 65 NA <NA> NA NA MTZ_PBS skg2 plate2 NA 4150962
## 129 NA <NA> NA NA MTZ_PBS skg2 plate2 NA 4150966
## 44 NA <NA> NA NA PSB_PBS skg2 plate2 NA 4150966
## 56 NA <NA> NA NA MTZ_PBS skg2 plate1 NA 4150962
## 76 NA <NA> NA NA PSB_PBS skg2 plate1 NA 4150966
## 163 NA <NA> NA NA PSB_MTX skg2 plate2 NA 4070853
## 89 NA <NA> NA NA MTZ_MTX skg2 plate2 NA 4070852
## 125 NA <NA> NA NA MTZ_MTX skg2 plate2 NA 4070852
## 46 NA <NA> NA NA PSB_PBS skg2 plate1 NA 4150962
## 165 NA <NA> NA NA MTZ_PBS skg2 plate1 NA 4150962
## 136 NA <NA> NA NA MTZ_PBS skg2 plate2 NA 4150962
## 137 NA <NA> NA NA PSB_MTX skg2 plate1 NA 4070853
## 150 NA <NA> NA NA PSB_PBS skg2 plate2 NA 4150962
## 74 NA <NA> NA NA MTZ_PBS skg2 plate2 NA 4150966
## 155 NA <NA> NA NA MTZ_MTX skg2 plate1 NA 4070853
## 131 NA <NA> NA NA MTZ_MTX skg2 plate1 NA 4070852
## 148 NA <NA> NA NA PSB_MTX skg2 plate1 NA 4070853
## 117 NA <NA> NA NA MTZ_MTX skg2 plate1 NA 4070853
## 122 NA <NA> NA NA MTZ_MTX skg2 plate2 NA 4070852
## 23 NA <NA> NA NA MTZ_PBS skg2 plate1 NA 4150966
## 67 NA <NA> NA NA PSB_MTX skg2 plate1 NA 4070852
## 58 NA <NA> NA NA PSB_PBS skg2 plate2 NA 4150962
## 144 NA <NA> NA NA MTZ_MTX skg2 plate1 NA 4070853
## 7 NA <NA> NA NA PSB_MTX skg2 plate1 NA 4070853
## 36 NA <NA> NA NA PSB_PBS skg2 plate1 NA 4150962
## 4 NA <NA> NA NA PSB_PBS skg2 plate2 NA 4150962
## 77 NA <NA> NA NA PSB_MTX skg2 plate1 NA 4070852
## 53 NA <NA> NA NA PSB_MTX skg2 plate2 NA 4070853
## 29 NA <NA> NA NA PSB_PBS skg2 plate2 NA 4150966
## 25 NA <NA> NA NA MTZ_PBS skg2 plate2 NA 4150962
## 102 NA <NA> NA NA MTZ_MTX skg2 plate2 NA 4070853
## 86 NA <NA> NA NA PSB_PBS skg2 plate1 NA 4150966
## 112 NA <NA> NA NA PSB_PBS skg2 plate2 NA 4150966
## 57 NA <NA> NA NA MTZ_PBS skg2 plate1 NA 4150966
## 88 NA <NA> NA NA PSB_PBS skg2 plate2 NA 4150966
## 60 NA <NA> NA NA PSB_MTX skg2 plate1 NA 4070852
## 132 NA <NA> NA NA PSB_PBS skg2 plate2 NA 4150966
## 162 NA <NA> NA NA MTZ_PBS skg2 plate2 NA 4150962
## 70 NA <NA> NA NA MTZ_MTX skg2 plate1 NA 4070852
## 40 NA <NA> NA NA MTZ_MTX skg2 plate1 NA 4070852
## 145 NA <NA> NA NA PSB_PBS skg2 plate2 NA 4150962
## 79 NA <NA> NA NA PSB_PBS skg2 plate2 NA 4150962
## 143 NA <NA> NA NA MTZ_MTX skg2 plate2 NA 4070852
## 16 NA <NA> NA NA PSB_MTX skg2 plate1 NA 4070853
## 47 NA <NA> NA NA MTZ_PBS skg2 plate1 NA 4150966
## 147 NA <NA> NA NA PSB_MTX skg2 plate1 NA 4070853
## 110 NA <NA> NA NA PSB_MTX skg2 plate1 NA 4070852
## 151 NA <NA> NA NA PSB_PBS skg2 plate1 NA 4150962
## 55 NA <NA> NA NA PSB_PBS skg2 plate2 NA 4150962
## 156 NA <NA> NA NA PSB_MTX skg2 plate2 NA 4070853
## 12 NA <NA> NA NA PSB_MTX skg2 plate2 NA 4070852
## 103 NA <NA> NA NA PSB_MTX skg2 plate2 NA 4070852
## 91 NA <NA> NA NA MTZ_MTX skg2 plate1 NA 4070852
## 71 NA <NA> NA NA PSB_MTX skg2 plate1 NA 4070852
## 59 NA <NA> NA NA MTZ_PBS skg2 plate2 NA 4150966
## 93 NA <NA> NA NA MTZ_PBS skg2 plate2 NA 4150966
## 161 NA <NA> NA NA MTZ_PBS skg2 plate1 NA 4150962
## 52 NA <NA> NA NA MTZ_PBS skg2 plate2 NA 4150962
## 111 NA <NA> NA NA MTZ_MTX skg2 plate1 NA 4070852
## 42 NA <NA> NA NA PSB_PBS skg2 plate2 NA 4150962
## 28 NA <NA> NA NA PSB_MTX skg2 plate2 NA 4070853
## 3 NA <NA> NA NA PSB_PBS skg2 plate1 NA 4150966
## 24 NA <NA> NA NA PSB_PBS skg2 plate2 NA 4150962
## 120 NA <NA> NA NA MTZ_MTX skg2 plate1 NA 4070852
## 43 NA <NA> NA NA PSB_MTX skg2 plate2 NA 4070852
## 20 NA <NA> NA NA PSB_MTX skg2 plate1 NA 4070853
## 14 NA <NA> NA NA PSB_MTX skg2 plate2 NA 4070853
## 83 NA <NA> NA NA PSB_PBS skg2 plate2 NA 4150966
## 68 NA <NA> NA NA MTZ_MTX skg2 plate2 NA 4070853
## 141 NA <NA> NA NA MTZ_MTX skg2 plate1 NA 4070852
## 48 NA <NA> NA NA PSB_MTX skg2 plate2 NA 4070853
## 30 NA <NA> NA NA MTZ_MTX skg2 plate1 NA 4070853
## 123 NA <NA> NA NA PSB_MTX skg2 plate2 NA 4070852
## 100 NA <NA> NA NA PSB_MTX skg2 plate1 NA 4070853
## 33 NA <NA> NA NA MTZ_PBS skg2 plate1 NA 4150966
## 139 NA <NA> NA NA PSB_MTX skg2 plate2 NA 4070852
## 69 NA <NA> NA NA PSB_MTX skg2 plate2 NA 4070852
## 118 NA <NA> NA NA PSB_MTX skg2 plate2 NA 4070852
## 135 NA <NA> NA NA MTZ_MTX skg2 plate2 NA 4070852
## 10 NA <NA> NA NA PSB_MTX skg2 plate1 NA 4070853
## 97 NA <NA> NA NA PSB_MTX skg2 plate1 NA 4070853
## 50 NA <NA> NA NA PSB_MTX skg2 plate1 NA 4070852
## 87 NA <NA> NA NA MTZ_MTX skg2 plate1 NA 4070852
## 26 NA <NA> NA NA MTZ_MTX skg2 plate1 NA 4070853
## 37 NA <NA> NA NA PSB_PBS skg2 plate1 NA 4150966
## 81 NA <NA> NA NA PSB_MTX skg2 plate1 NA 4070852
## 90 NA <NA> NA NA PSB_MTX skg2 plate1 NA 4070853
## 39 NA <NA> NA NA PSB_PBS skg2 plate2 NA 4150966
## 154 NA <NA> NA NA PSB_PBS skg2 plate1 NA 4150962
## 138 NA <NA> NA NA PSB_MTX skg2 plate1 NA 4070853
## 127 NA <NA> NA NA PSB_MTX skg2 plate1 NA 4070853
## 128 NA <NA> NA NA PSB_MTX skg2 plate2 NA 4070852
## 164 NA <NA> NA NA PSB_PBS skg2 plate1 NA 4150962
## 104 NA <NA> NA NA PSB_MTX skg2 plate1 NA 4070853
## 124 NA <NA> NA NA PSB_MTX skg2 plate1 NA 4070853
## 134 NA <NA> NA NA PSB_MTX skg2 plate1 NA 4070852
## 94 NA <NA> NA NA PSB_MTX skg2 plate1 NA 4070853
## 82 NA <NA> NA NA PSB_MTX skg2 plate2 NA 4070853
## 159 NA <NA> NA NA PSB_MTX skg2 plate2 NA 4070853
## 64 NA <NA> NA NA MTZ_PBS skg2 plate2 NA 4150966
## 140 NA <NA> NA NA PSB_PBS skg2 plate2 NA 4150962
## 142 NA <NA> NA NA MTZ_PBS skg2 plate2 NA 4150962
## Bacteroides Date CAS_Score Kingdom Phylum
## 17 less 5/12/21 0.0 Bacteria Bacteroidota
## 98 more 5/26/21 3.3 Bacteria Bacteroidota
## 31 more 5/31/21 1.2 Bacteria Bacteroidota
## 21 more 5/31/21 4.0 Bacteria Bacteroidota
## 35 more 5/28/21 3.9 Bacteria Bacteroidota
## 105 more 6/2/21 4.3 Bacteria Bacteroidota
## 75 more 6/2/21 2.4 Bacteria Bacteroidota
## 22 more 5/21/21 0.1 Bacteria Bacteroidota
## 54 more 6/4/21 3.3 Bacteria Bacteroidota
## 11 more 5/31/21 4.6 Bacteria Bacteroidota
## 62 more 5/21/21 0.0 Bacteria Bacteroidota
## 126 more 5/17/21 0.9 Bacteria Bacteroidota
## 41 more 5/31/21 5.8 Bacteria Bacteroidota
## 15 more 5/28/21 3.7 Bacteria Bacteroidota
## 8 more 5/26/21 2.4 Bacteria Bacteroidota
## 66 less 5/14/21 0.0 Bacteria Bacteroidota
## 160 more 5/24/21 1.5 Bacteria Bacteroidota
## 95 more 6/2/21 3.0 Bacteria Bacteroidota
## 85 more 6/2/21 5.8 Bacteria Bacteroidota
## 51 more 5/31/21 5.4 Bacteria Bacteroidota
## 61 less <NA> NA Bacteria Bacteroidota
## 107 less <NA> NA Bacteria Bacteroidota
## 27 less 5/12/21 0.0 Bacteria Bacteroidota
## 19 more 5/24/21 2.0 Bacteria Bacteroidota
## 101 less <NA> NA Bacteria Bacteroidota
## 146 more 5/28/21 0.4 Bacteria Bacteroidota
## 63 more 5/19/21 1.9 Bacteria Bacteroidota
## 153 more 5/28/21 1.3 Bacteria Bacteroidota
## 45 more 6/2/21 5.8 Bacteria Bacteroidota
## 34 more 6/4/21 3.8 Bacteria Bacteroidota
## 119 more 5/26/21 3.7 Bacteria Bacteroidota
## 84 more 5/14/21 0.1 Bacteria Bacteroidota
## 108 more 5/26/21 3.4 Bacteria Bacteroidota
## 9 more 5/24/21 0.9 Bacteria Bacteroidota
## 113 more 5/21/21 2.5 Bacteria Bacteroidota
## 149 less 5/12/21 0.0 Bacteria Bacteroidota
## 32 more 5/21/21 0.9 Bacteria Bacteroidota
## 49 more 5/24/21 1.6 Bacteria Bacteroidota
## 166 more 5/28/21 5.4 Bacteria Bacteroidota
## 72 more 5/21/21 0.9 Bacteria Bacteroidota
## 6 more 5/14/21 0.0 Bacteria Bacteroidota
## 115 more 6/2/21 5.8 Bacteria Bacteroidota
## 13 less 5/17/21 0.0 Bacteria Bacteroidota
## 2 more 5/21/21 0.7 Bacteria Bacteroidota
## 80 less 5/10/21 0.0 Bacteria Bacteroidota
## 109 more 5/26/21 3.4 Bacteria Bacteroidota
## 1 more 5/31/21 4.8 Bacteria Bacteroidota
## 78 more 5/26/21 5.0 Bacteria Bacteroidota
## 114 less 5/12/21 0.0 Bacteria Bacteroidota
## 158 less 5/12/21 0.0 Bacteria Bacteroidota
## 5 more 5/28/21 1.7 Bacteria Bacteroidota
## 152 more 5/28/21 3.6 Bacteria Bacteroidota
## 130 more 5/17/21 0.1 Bacteria Bacteroidota
## 92 more 5/21/21 2.0 Bacteria Bacteroidota
## 157 more 5/19/21 0.1 Bacteria Bacteroidota
## 106 less <NA> NA Bacteria Bacteroidota
## 133 more 5/24/21 0.7 Bacteria Bacteroidota
## 18 more 5/26/21 0.3 Bacteria Bacteroidota
## 73 more 5/19/21 0.2 Bacteria Bacteroidota
## 99 more 5/26/21 1.4 Bacteria Bacteroidota
## 121 less <NA> NA Bacteria Bacteroidota
## 116 less 5/14/21 0.0 Bacteria Bacteroidota
## 96 less 5/14/21 0.0 Bacteria Bacteroidota
## 38 more 5/26/21 0.9 Bacteria Bacteroidota
## 65 more 6/2/21 4.8 Bacteria Bacteroidota
## 129 more 5/21/21 0.7 Bacteria Bacteroidota
## 44 more 6/4/21 5.8 Bacteria Bacteroidota
## 56 less 5/14/21 0.0 Bacteria Bacteroidota
## 76 less 5/14/21 0.0 Bacteria Bacteroidota
## 163 more 5/24/21 3.2 Bacteria Bacteroidota
## 89 more 5/26/21 0.7 Bacteria Bacteroidota
## 125 more 5/28/21 0.6 Bacteria Bacteroidota
## 46 less 5/14/21 0.0 Bacteria Bacteroidota
## 165 less 5/17/21 0.0 Bacteria Bacteroidota
## 136 more 5/28/21 2.9 Bacteria Bacteroidota
## 137 more 5/17/21 0.1 Bacteria Bacteroidota
## 150 more 5/24/21 1.5 Bacteria Bacteroidota
## 74 more 6/4/21 5.8 Bacteria Bacteroidota
## 155 less 5/12/21 0.0 Bacteria Bacteroidota
## 131 less 5/12/21 0.0 Bacteria Bacteroidota
## 148 less 5/12/21 0.0 Bacteria Bacteroidota
## 117 less 5/10/21 0.0 Bacteria Bacteroidota
## 122 more 5/19/21 0.6 Bacteria Bacteroidota
## 23 less 5/17/21 0.0 Bacteria Bacteroidota
## 67 more 5/14/21 0.5 Bacteria Bacteroidota
## 58 less 5/19/21 0.0 Bacteria Bacteroidota
## 144 more 5/17/21 0.7 Bacteria Bacteroidota
## 7 less <NA> NA Bacteria Bacteroidota
## 36 less 5/14/21 0.0 Bacteria Bacteroidota
## 4 more 6/4/21 5.8 Bacteria Bacteroidota
## 77 more 5/14/21 0.1 Bacteria Bacteroidota
## 53 more 5/19/21 0.6 Bacteria Bacteroidota
## 29 more 5/24/21 2.3 Bacteria Bacteroidota
## 25 less 5/19/21 0.0 Bacteria Bacteroidota
## 102 more 5/21/21 1.2 Bacteria Bacteroidota
## 86 less 5/14/21 0.0 Bacteria Bacteroidota
## 112 more 5/21/21 0.1 Bacteria Bacteroidota
## 57 less 5/12/21 0.0 Bacteria Bacteroidota
## 88 more 5/26/21 1.8 Bacteria Bacteroidota
## 60 less 5/10/21 0.0 Bacteria Bacteroidota
## 132 more 5/21/21 0.8 Bacteria Bacteroidota
## 162 more 5/24/21 0.3 Bacteria Bacteroidota
## 70 less 5/10/21 0.0 Bacteria Bacteroidota
## 40 less <NA> NA Bacteria Bacteroidota
## 145 more 5/28/21 4.7 Bacteria Bacteroidota
## 79 less 5/19/21 0.0 Bacteria Bacteroidota
## 143 more 5/24/21 0.1 Bacteria Bacteroidota
## 16 more 5/14/21 0.0 Bacteria Bacteroidota
## 47 less 5/12/21 0.0 Bacteria Bacteroidota
## 147 more 5/17/21 1.4 Bacteria Bacteroidota
## 110 more 5/17/21 1.3 Bacteria Bacteroidota
## 151 less 5/17/21 0.0 Bacteria Bacteroidota
## 55 more 6/2/21 5.8 Bacteria Bacteroidota
## 156 more 5/28/21 5.4 Bacteria Bacteroidota
## 12 more 5/19/21 2.4 Bacteria Bacteroidota
## 103 more 5/21/21 1.9 Bacteria Bacteroidota
## 91 less <NA> NA Bacteria Bacteroidota
## 71 less <NA> NA Bacteria Bacteroidota
## 59 more 5/24/21 1.1 Bacteria Bacteroidota
## 93 less 5/19/21 0.0 Bacteria Bacteroidota
## 161 less 5/17/21 0.0 Bacteria Bacteroidota
## 52 more 5/21/21 0.1 Bacteria Bacteroidota
## 111 less <NA> NA Bacteria Bacteroidota
## 42 more 5/21/21 0.1 Bacteria Bacteroidota
## 28 more 5/26/21 4.4 Bacteria Bacteroidota
## 3 less 5/17/21 0.0 Bacteria Bacteroidota
## 24 more 6/4/21 5.8 Bacteria Bacteroidota
## 120 more 5/17/21 0.6 Bacteria Bacteroidota
## 43 more 5/19/21 1.1 Bacteria Bacteroidota
## 20 less <NA> NA Bacteria Bacteroidota
## 14 more 5/19/21 1.6 Bacteria Bacteroidota
## 83 less 5/19/21 0.0 Bacteria Bacteroidota
## 68 more 5/26/21 3.2 Bacteria Bacteroidota
## 141 less 5/12/21 0.0 Bacteria Bacteroidota
## 48 more 5/26/21 3.9 Bacteria Bacteroidota
## 30 less <NA> NA Bacteria Bacteroidota
## 123 more 5/24/21 3.6 Bacteria Bacteroidota
## 100 less 5/10/21 0.0 Bacteria Bacteroidota
## 33 less 5/17/21 0.0 Bacteria Bacteroidota
## 139 more 5/24/21 3.2 Bacteria Bacteroidota
## 69 more 5/26/21 4.1 Bacteria Bacteroidota
## 118 more 5/28/21 4.0 Bacteria Bacteroidota
## 135 more 5/28/21 1.8 Bacteria Bacteroidota
## 10 less <NA> NA Bacteria Bacteroidota
## 97 less 5/10/21 0.0 Bacteria Bacteroidota
## 50 less 5/10/21 0.0 Bacteria Bacteroidota
## 87 more 5/14/21 0.6 Bacteria Bacteroidota
## 26 more 5/14/21 0.0 Bacteria Bacteroidota
## 37 less 5/12/21 0.0 Bacteria Bacteroidota
## 81 less <NA> NA Bacteria Bacteroidota
## 90 less 5/10/21 0.0 Bacteria Bacteroidota
## 39 more 5/24/21 1.4 Bacteria Bacteroidota
## 154 less 5/17/21 0.0 Bacteria Bacteroidota
## 138 less 5/12/21 0.0 Bacteria Bacteroidota
## 127 more 5/17/21 1.1 Bacteria Bacteroidota
## 128 more 5/28/21 4.3 Bacteria Bacteroidota
## 164 less 5/12/21 0.0 Bacteria Bacteroidota
## 104 less <NA> NA Bacteria Bacteroidota
## 124 less <NA> NA Bacteria Bacteroidota
## 134 less 5/12/21 0.0 Bacteria Bacteroidota
## 94 more 5/14/21 0.1 Bacteria Bacteroidota
## 82 more 5/21/21 1.6 Bacteria Bacteroidota
## 159 more 5/28/21 4.0 Bacteria Bacteroidota
## 64 more 6/4/21 4.3 Bacteria Bacteroidota
## 140 more 5/24/21 2.2 Bacteria Bacteroidota
## 142 less 5/19/21 0.0 Bacteria Bacteroidota
library(dplyr)
data_subset <- bacteroidaceae_data %>%
select(Abundance, FacilityOrigin, Tx, DaysPost)
psb_data_filtered <- data_subset %>%
filter(FacilityOrigin == "MTZ" & !DaysPost %in% c(-9, -4, -7, 17))
psb_results <- psb_data_filtered %>%
group_by(DaysPost) %>%
summarise(t_test_p_value = wilcox.test(Abundance ~ Tx)$p.value)
psb_results <- psb_results %>%
mutate(adjusted_p_value = p.adjust(t_test_p_value, method = "BH"))
print(psb_results)
## # A tibble: 10 × 3
## DaysPost t_test_p_value adjusted_p_value
## <int> <dbl> <dbl>
## 1 -2 1 1
## 2 0 0.0571 0.381
## 3 3 0.4 0.667
## 4 5 0.4 0.667
## 5 7 0.4 0.667
## 6 10 0.629 0.786
## 7 12 0.114 0.381
## 8 14 0.629 0.786
## 9 19 0.114 0.381
## 10 21 1 1
data_subset <- bacteroidaceae_data %>%
select(Abundance, FacilityOrigin, Tx, DaysPost)
psb_data_filtered <- data_subset %>%
filter(FacilityOrigin == "PSB" & !DaysPost %in% c(-9, -4, -7, 17))
psb_results <- psb_data_filtered %>%
group_by(DaysPost) %>%
summarise(t_test_p_value = t.test(Abundance ~ Tx)$p.value)
psb_results <- psb_results %>%
mutate(adjusted_p_value = p.adjust(t_test_p_value, method = "BH"))
print(psb_results)
## # A tibble: 10 × 3
## DaysPost t_test_p_value adjusted_p_value
## <int> <dbl> <dbl>
## 1 -2 0.731 0.812
## 2 0 0.0637 0.319
## 3 3 0.350 0.633
## 4 5 0.937 0.937
## 5 7 0.728 0.812
## 6 10 0.380 0.633
## 7 12 0.128 0.426
## 8 14 0.480 0.686
## 9 19 0.0544 0.319
## 10 21 0.179 0.448
#BacteroidaceaeFamily
rm(list=ls())
ps <- readRDS("../../02_CreatPhyloseq/Phyloseq.rds")
pseq <- subset_samples(ps, exp!="skg1" & SKG_Exp=="SKG2" & !is.na(MouseID) & !DaysPost %in% c("-9", "-4", "-7"))
y1 <- tax_glom(pseq, taxrank = 'Family')
y3 <- transform_sample_counts(y1, function(x) x / sum(x))
y4 <- psmelt(y3)
y4$Family <- as.character(y4$Family)
bacteroidaceae_data <- subset(y4, Family == "Bacteroidaceae")
data_subset <- bacteroidaceae_data %>%
select(Abundance, FacilityOrigin, Tx, DaysPost)
psb_data_filtered <- data_subset %>%
filter(FacilityOrigin == "PSB" & !DaysPost %in% c(-9, -4, -7))
psb_results <- psb_data_filtered %>%
group_by(DaysPost) %>%
summarise(t_test_p_value = t.test(Abundance ~ Tx)$p.value)
psb_results <- psb_results %>%
mutate(adjusted_p_value = p.adjust(t_test_p_value, method = "BH"))
data_subset <- bacteroidaceae_data %>%
select(Abundance, FacilityOrigin, Tx, DaysPost)
psb_data_filtered <- data_subset %>%
filter(FacilityOrigin == "MTZ" & !DaysPost %in% c(-9, -4, -7))
mtz_results <- psb_data_filtered %>%
group_by(DaysPost) %>%
summarise(t_test_p_value = t.test(Abundance ~ Tx)$p.value)
mtz_results <- mtz_results %>%
mutate(adjusted_p_value = p.adjust(t_test_p_value, method = "BH"))
print(mtz_results)
## # A tibble: 11 × 3
## DaysPost t_test_p_value adjusted_p_value
## <int> <dbl> <dbl>
## 1 -2 0.611 0.733
## 2 0 0.277 0.381
## 3 3 0.666 0.733
## 4 5 0.974 0.974
## 5 7 0.116 0.238
## 6 10 0.107 0.238
## 7 12 0.0551 0.202
## 8 14 0.130 0.238
## 9 17 0.00409 0.0450
## 10 19 0.00937 0.0515
## 11 21 0.226 0.356
#Day0 bacteroides Plot
rm(list = ls())
library(ggpubr)
ps <- readRDS("../../02_CreatPhyloseq/Phyloseq.rds")
# Subset the samples based on criteria
pseq <- subset_samples(ps, exp != "skg1" & SKG_Exp == "SKG2" & !is.na(MouseID) & DaysPost == "0")
# Agglomerate taxa at Genus level and normalize counts
y1 <- tax_glom(pseq, taxrank = 'Genus')
y3 <- transform_sample_counts(y1, function(x) x / sum(x))
# Convert phyloseq object to data frame
y4 <- psmelt(y3)
y4$Genus <- as.character(y4$Genus)
# Filter for Bacteroides genus
bacteroides <- subset(y4, Genus == "Bacteroides")
p <- ggplot(bacteroides, aes(x = FacilityTx, y = Abundance)) +
geom_boxplot(outlier.shape = NA) + # Boxplot without outlier points
geom_point(aes(color = Tx, shape = FacilityOrigin), size = 3, position = position_jitter(width = 0.2)) + # Add jittered points
theme_classic() +
theme(text = element_text(size = 12),
axis.text.x = element_text(angle = 45, hjust = 1)) +
labs(x = "FacilityTx", y = "Abundance of Bacteroides") +
guides(color = guide_legend(keywidth = 0.4, keyheight = 0.7),
shape = guide_legend(keywidth = 0.4, keyheight = 0.7)) +
stat_compare_means(method = "t.test", label = "p.format", comparisons = list(
c("MTZ_MTX", "MTZ_PBS"), # Replace with actual FacilityTx group names
c("PSB_MTX", "PSB_PBS"), # Add more comparisons as needed
c("MTZ_PBS", "PSB_MTX")))
p