Nothing
## ----setup, include=FALSE-----------------------------------------------------
knitr::opts_chunk$set(echo = TRUE)
required <- c("ape", "vegan", "dplyr")
if (!all(sapply(required, requireNamespace, quietly = TRUE)))
knitr::opts_chunk$set(eval = FALSE)
data.table::setDTthreads(1L)
## ----libraries, message=FALSE, warning=FALSE----------------------------------
library("ape")
library("vegan")
library("dplyr")
library("hagis")
library("ggplot2")
## ----load-data----------------------------------------------------------------
head(P_sojae_survey) # survey sample data
head(sample_meta) # metatada about the sample collection locations
## ----clean-data---------------------------------------------------------------
P_sojae_survey$Isolate <-
gsub(pattern = "MPS17_",
replacement = "",
x = P_sojae_survey$Isolate)
P_sojae_survey$Rps <-
gsub(pattern = "Rps ",
replacement = "",
x = P_sojae_survey$Rps)
## ----hagis-arguments----------------------------------------------------------
hagis_args <- list(
x = P_sojae_survey,
cutoff = 60,
control = "susceptible",
sample = "Isolate",
gene = "Rps",
perc_susc = "perc.susc"
)
## ----create-matrix------------------------------------------------------------
P_sojae_survey.matrix <- do.call(create_binary_matrix, hagis_args)
P_sojae_survey.matrix
## ----distance-matrix----------------------------------------------------------
P_sojae_survey.matrix.jaccard <-
vegdist(P_sojae_survey.matrix, "jaccard", na.rm = TRUE)
## ----barplot------------------------------------------------------------------
princoor.pathotype <- pcoa(P_sojae_survey.matrix.jaccard)
barplot(princoor.pathotype$values$Relative_eig[1:10])
## ----axis-percent-------------------------------------------------------------
# Dimension (i.e., Axis 1 (PCOA1))
Axis1.percent <-
princoor.pathotype$values$Relative_eig[[1]] * 100
# Dimension (i.e., Axis 2 (PCOA2))
Axis2.percent <-
princoor.pathotype$values$Relative_eig[[2]] * 100
Axis1.percent
Axis2.percent
## ----create-df----------------------------------------------------------------
princoor.pathotype.data <-
data.frame(
Sample = as.integer(rownames(princoor.pathotype$vectors)),
X = princoor.pathotype$vectors[, 1],
Y = princoor.pathotype$vectors[, 2]
)
## ----merge-metadata-----------------------------------------------------------
princoor.pathotype.data <-
left_join(princoor.pathotype.data, sample_meta, by = "Sample")
princoor.pathotype.data
## ----ggplot-pca---------------------------------------------------------------
ggplot(data = princoor.pathotype.data, aes(x = X, y = Y)) +
geom_point(aes(colour = Locale)) +
xlab(paste("PCOA1 - ", round(Axis1.percent, 2), "%", sep = "")) +
ylab(paste("PCOA2 - ", round(Axis2.percent, 2), "%", sep = "")) +
theme_bw() +
theme(
axis.title.x = element_text(face = "bold", size = 15),
axis.title.y = element_text(face = "bold", size = 15),
axis.text = element_text(face = "bold", size = 10),
legend.title = element_text(face = "bold", size = 10),
legend.text = element_text(face = "bold", size = 10),
legend.key.size = unit(1, 'lines')
) +
stat_ellipse(data = princoor.pathotype.data, aes(x = X, y = Y),
level = 0.95) +
ggtitle("Pathotype Jaccard Distances PCOA")
## ----create-group-lists-------------------------------------------------------
groups <- factor(c(rep("Michigan_1", 11), rep("Michigan_2", 10)))
# this number shows how many isolates are in all "groups" lists combined
length(groups)
# this shows the number of isolates within your data set, these numbers should
# match for downstream analyses to work!!
length(unique(P_sojae_survey$Isolate))
## ----beta-dispersion----------------------------------------------------------
# calculates the beta-dispersion for each group, when comparing 2 or more
pathotype.disp <-
betadisper(P_sojae_survey.matrix.jaccard, groups)
# tests if centroid distances are significantly different from each other
pathotype.disp.anova <- anova(pathotype.disp)
pathotype.disp.anova
# test significance between each group
pathotype.disp.TukeyHSD <- TukeyHSD(pathotype.disp)
pathotype.disp.TukeyHSD
# plot showing the dispersion for each group
plot(pathotype.disp, hull = FALSE, ellipse = TRUE)
## ----adonis-------------------------------------------------------------------
pathotype.adonis <- adonis2(P_sojae_survey.matrix.jaccard ~ groups)
pathotype.adonis
## ----anosim-------------------------------------------------------------------
pathotype.anosim <- anosim(P_sojae_survey.matrix.jaccard, groups)
pathotype.anosim
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.