library(tidyverse)
library(ggrepel)
library(ggspatial)
library(ggmap)
theme_set(theme_bw())
library("sf")
library("rnaturalearth")
library("rnaturalearthdata")
library(ggsn)
library(cowplot)YK = map_data("world")
YK2 = map_data("world") %>% filter(group==985)
#YK3=map_data("world")%>% filter(group==985) %>% filter(abs(long)>97 & abs(long)<103) %>% filter(abs(lat)<21 & abs(lat)>18)
air<- read.csv("../Data/coord.csv") %>% mutate_at(c(1,2,3,7), as.factor)
air$Sites<- factor(air$Names, levels = c(
"1. Tetlanohcan 1", "2. Tetlanohcan 2",
"3. La Ascención Huitzcolotepec", "4. Tepeticpac",
"5. El Carmen Las Carrozas","6. La Caridad",
"7. Tandi-Chala", "8. San Francisco Mitepec",
"9. Piedra Canteada de San Felipe, Hidalgo",
"10. Paraje El Madroño", "11. Ejido San Gabriel" ,
"12. San Rafael Ixtapalucan 2" ))
sites <- st_as_sf(data.frame(
longitude = c(-80.15, -80.1),
latitude = c(26.5, 6.8)),
coords = c("longitude", "latitude"),
crs = 4326, agr = "constant")
maps<-ggplot() +
theme_bw() +
geom_polygon(data = YK, aes(x=long, y = lat, group = group), color = 'black',
fill = "cornsilk") +
geom_polygon(data = YK2, aes(x=long, y = lat, group = group),
color = 'black', fill = 'grey') +
coord_sf(xlim = c(-110, -85), ylim = c(10, 30))+
# geom_polygon(data = YK3, aes(x=long, y = lat, group = group),
# color = 'black', fill = 'red')
xlab("Longitude")+ ylab("Latitude")+
theme(panel.grid.major = element_line(colour = gray(0.5), linetype = "dashed",
size = 0.5), panel.background = element_rect(fill = "aliceblue"),
panel.border = element_rect(fill = NA))+
geom_point(data = air, mapping = aes(
x = Longitude, y = Latitude),#,color=Sitio, shape=Transecto),
size=1, color="black" )+ annotation_scale(location = "br", plot_unit = "km")+
annotate("text", x =-100, y = 21, label = "TMVB", size=3, fontface="bold")
maps## Loading required package: sp
## Warning: package 'sp' was built under R version 4.3.2
##
## Attaching package: 'maptools'
## The following object is masked from 'package:sp':
##
## sp2Mondrian
## Warning: package 'leaflet' was built under R version 4.3.3
library(broom)
library(dplyr)
library(ggplot2)
library(classInt)
library(sp)
#library(rgdal)
library(spdep) ## Loading required package: spData
## To access larger datasets in this package, install the spDataLarge
## package with: `install.packages('spDataLarge',
## repos='https://nowosad.github.io/drat/', type='source')`
##
## Attaching package: 'ggpubr'
## The following object is masked from 'package:cowplot':
##
## get_legend
## Warning: package 'faraway' was built under R version 4.3.3
##
## Attaching package: 'faraway'
## The following object is masked from 'package:spData':
##
## wheat
belt <- readShapePoly("../Data/Transmexican_Volcanic_Belt_province/Transmexican_Volcanic_Belt_province.shp")## Warning: shapelib support is provided by GDAL through the sf and terra packages
## among others
## Warning: `tidy.SpatialPolygonsDataFrame()` was deprecated in broom 1.0.4.
## ℹ Please use functions from the sf package, namely `sf::st_as_sf()`, in favor
## of sp tidiers.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
## Regions defined for each Polygons
maps=maps+
geom_polygon(data = belt, aes( x= long, y = lat, group = group),
fill = "cornsilk",
color = "black",
size = 0.05)## Warning: `fortify(<SpatialPolygonsDataFrame>)` was deprecated in ggplot2 3.4.4.
## ℹ Please migrate to sf.
## ℹ The deprecated feature was likely used in the ggplot2 package.
## Please report the issue at <https://github.com/tidyverse/ggplot2/issues>.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
## Regions defined for each Polygons
## 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.
# define box
sbbox <- make_bbox(lon = c(-98.7, -97.9), lat = c(19.13,19.5), f = .1)
#watercolor
sbbox <- make_bbox(lon = c(-98.7, -97.9), lat = c(19.13,19.6), f = .1)
map <- get_stadiamap( bbox = sbbox, maptype = "stamen_terrain_background")
wat<-ggmap(map) +
theme(
plot.title = element_text(colour = "orange"),
panel.border = element_rect(
colour = "grey", fill=NA, size=2),
panel.grid.major = element_line(colour = "red"),
panel.grid.minor = element_line(
colour = "red", size = 0.25))+
coord_equal() + # needed for ggsn
guides(scale="none") +
ggsn::north(x.min = -98.75, x.max = -98.65,
y.min = 19.60, y.max = 19.64, scale = 1.5) +
ggsn::scalebar(x.min = -98, x.max = -97.9,
st.size = 2,
y.min = 19.63, y.max = 19.61,
dist = 5, transform = TRUE,
model = "WGS84", height = 0.5,
st.dist = 0.5, dist_unit = "km") +
geom_point(data = air%>% group_by(Sites) %>% summarise_if(is.numeric, mean), mapping = aes(
x = Longitude, y = Latitude, fill=Sites),
size=4, pch=21 ) +
geom_text_repel(data = air %>% group_by(Site) %>% summarise_if(is.numeric, mean),
mapping = aes(x = Longitude+0.002,
y = Latitude,
label =Site),
size = 4, color = "black", box.padding = .3, segment.color = NA,
fontface = "bold")+
scale_fill_viridis_d(option ="turbo", name="Sites")+
theme(legend.text = element_text(size = 12),
legend.title = element_text(size = 12),
axis.title = element_text(size = 16),
axis.text = element_text(size = 16))+
geom_vline(xintercept = c(-98.75, -98.50, -98.25, -98 ),
color = "grey", size = 0.3, linetype = "longdash")+
geom_hline(yintercept = c(19.6,19.5,19.4,19.3,19.2,19.1 ),
color = "grey", size = 0.3, linetype = "longdash")+
theme(legend.title = element_blank(),
axis.title = element_text(size = 8),
axis.text = element_text(size = 8))
wat2<- wat+theme(axis.text = element_text(colour = "black"))+ylab(
"Latitude")+xlab("Longitude")+
annotate("text", x =-98.25, y = 19.6, label = "TMVB", size=5, fontface="bold")+
annotate("text", x =-98, y = 19.3, label = "LMNP", size=5, fontface="bold")+
annotate("text", x =-98.7, y = 19.35, label = "IPNP", size=5, fontface="bold")+
theme(legend.position = "none")
wat2maps_final<-ggplot() +
coord_equal(
xlim = c(0, 30), ylim = c(0, 20), expand = FALSE) +
annotation_custom(
ggplotGrob(maps), xmin = 0,
xmax = 10, ymin = 0,ymax = 18) +
annotation_custom(
ggplotGrob(wat2), xmin = 5, xmax = 34,
ymin =10,ymax =20) +
annotation_custom(
leg, xmin = 20, xmax = 28,
ymin = 5, ymax = 7) +
geom_segment(
aes(x = x1, y = y1, xend = x2, yend = y2),
data = arrowA,arrow = arrow(), lineend = "round") +
theme_void()
maps_finalscaleFUN <- function(x) sprintf("%.1f", x)
scaleFUN0 <- function(x) sprintf("%.0f", x)
scaleFUN2 <- function(x) sprintf("%.2f", x)
metadata<-read_excel("../Data/Metadatos.xlsx") %>% mutate_if(is.numeric, as.factor)
table_single_micop<- read.delim("../Data/table_micop_single.txt")
table_paired_micop<- read.delim("../Data/table_micop_paired.txt")
table_qiime2<- data.frame(read_qza(
"../Data/clustered_table_filter.qza")$data,
check.names = F) %>% t() %>% as.data.frame(
) %>% rownames_to_column(
var = "SampleID") %>% separate(
SampleID, c(
"id_metagenome", "R", "unmap", "Paired"),
sep = "_")%>% inner_join(metadata) %>% dplyr::select(
-id_metagenome:-Paired, -id_sequence:-id_fisicoq, -Sites, -Names) %>% column_to_rownames(
var="SampleID") %>% t() %>% as.data.frame() %>% mutate_all(as.numeric)
table_fungi<- read.delim(
"../Data/table_kraken.txt",
row.names = 1, check.names = F) %>% dplyr::select_if(
is.numeric)%>% t() %>% as.data.frame(
) %>% rownames_to_column(
var = "id_sequence") %>% separate(
., "id_sequence", c("kraken", "pluspfp", "id_metagenome", "report", "bracken", "species"), sep = "_") %>% dplyr::select(
-kraken, -pluspfp, -report, -bracken, -species) %>% full_join(
metadata) %>% dplyr::select(-id_sequence:-Transecto, -id_metagenome, -Sites, -id_new, -id_fisicoq, -Names) %>% column_to_rownames(
var = "SampleID") %>% t() %>% as.data.frame() %>% mutate_all(as.numeric)library(hillR)
q0<-hill_taxa(table_qiime2, q = 0, MARGIN = 2)
q1<-hill_taxa(table_qiime2, q = 1, MARGIN = 2)
q2<-hill_taxa(table_qiime2, q = 2, MARGIN = 2)
alphadiv_qiime2<- cbind(q0, q1, q2) %>%as.data.frame(
) %>% rownames_to_column(var = "SampleID") %>% pivot_longer(
.,cols = q0:q2, names_to = "qs", values_to = "value") %>% inner_join(
metadata) %>% mutate(order=case_when(
qs=="q0"~"q = 0",
qs=="q1"~"q = 1",
qs=="q2"~"q = 2" ))
q0<-hill_taxa(table_single_micop, q = 0, MARGIN = 2)
q1<-hill_taxa(table_single_micop, q = 1, MARGIN = 2)
q2<-hill_taxa(table_single_micop, q = 2, MARGIN = 2)
alphadiv_single_micop<- cbind(q0, q1, q2) %>%as.data.frame(
) %>% rownames_to_column(var = "SampleID") %>% pivot_longer(
.,cols = q0:q2, names_to = "qs", values_to = "value") %>% inner_join(
metadata) %>% mutate(order=case_when(
qs=="q0"~"q = 0",
qs=="q1"~"q = 1",
qs=="q2"~"q = 2" ))
q0<-hill_taxa(table_paired_micop, q = 0, MARGIN = 2)
q1<-hill_taxa(table_paired_micop, q = 1, MARGIN = 2)
q2<-hill_taxa(table_paired_micop, q = 2, MARGIN = 2)
alphadiv_paired_micop<- cbind(q0, q1, q2) %>%as.data.frame(
) %>% rownames_to_column(var = "SampleID") %>% pivot_longer(
.,cols = q0:q2, names_to = "qs", values_to = "value") %>% inner_join(
metadata) %>% mutate(order=case_when(
qs=="q0"~"q = 0",
qs=="q1"~"q = 1",
qs=="q2"~"q = 2" ))
q0<-hill_taxa(table_fungi, q = 0, MARGIN = 2)
q1<-hill_taxa(table_fungi, q = 1, MARGIN = 2)
q2<-hill_taxa(table_fungi, q = 2, MARGIN = 2)
alphadiv_fungip<- cbind(q0, q1, q2) %>%as.data.frame(
) %>% rownames_to_column(var = "SampleID") %>% pivot_longer(
.,cols = q0:q2, names_to = "qs", values_to = "value") %>% inner_join(
metadata) %>% mutate(order=case_when(
qs=="q0"~"q = 0",
qs=="q1"~"q = 1",
qs=="q2"~"q = 2" ))alphadiv_qiime2_q0<- alphadiv_qiime2 %>%filter(qs=="q0")
alphadiv_qiime2_q1<- alphadiv_qiime2 %>%filter(qs=="q1")
alphadiv_qiime2_q2<- alphadiv_qiime2 %>%filter(qs=="q2")
aq0<- ggboxplot(alphadiv_qiime2_q0,
x = "Sites", y = "value", fill = "Sites", facet.by = "order") +
stat_compare_means(label.y = 135, label = "p.format")+
theme_linedraw()+theme(legend.position = "none",
axis.title = element_blank(),
axis.text.x = element_blank(),
axis.ticks.x = element_blank(),
strip.text.x = element_text(
size = 12, face = "bold.italic"),
panel.grid.major = element_line(
size = 0.5, linetype = 'solid',
colour = "#E5E8E8"),
panel.grid.minor = element_line(
size = 0.25, linetype = 'solid',
colour = "#E5E8E8"))+
scale_fill_viridis_d(option ="turbo", name="Sites")+theme(axis.title.y = element_text(margin = margin(t = 0, r=20, b = 0, l = 0)))+ylab("")+theme(axis.title.x = element_blank())+ scale_y_continuous(labels=scaleFUN)
aq1<- ggboxplot(alphadiv_qiime2_q1,
x = "Sites", y = "value", fill = "Sites", facet.by = "order") + stat_compare_means(label.y = 62, label = "p.format")+
theme_linedraw()+theme(legend.position = "none",
axis.title = element_blank(),
axis.text.x = element_blank(),
axis.ticks.x = element_blank(),
strip.text.x = element_text(
size = 12, face = "bold.italic"),
panel.grid.major = element_line(
size = 0.5, linetype = 'solid',
colour = "#E5E8E8"),
panel.grid.minor = element_line(
size = 0.25, linetype = 'solid',
colour = "#E5E8E8"))+
scale_fill_viridis_d(option ="turbo", name="Sites")+theme(axis.title.y = element_text(margin = margin(t = 0, r=20, b = 0, l = 0)))+ylab("")
aq2<- ggboxplot(alphadiv_qiime2_q2 %>% mutate(methodS="GENEIOUS+UNITE"),
x = "Sites", y = "value", fill = "Sites", facet.by = "order") +
stat_compare_means(label.y = 45, label = "p.format")+
facet_grid(rows = vars(methodS), cols = vars(order))+
theme_linedraw()+theme(legend.position = "none",
axis.title = element_blank(),
axis.text.x = element_blank(),
axis.ticks.x = element_blank(),
strip.text = element_text(
size = 12, face = "bold.italic"),
panel.grid.major = element_line(
size = 0.5, linetype = 'solid',
colour = "#E5E8E8"),
panel.grid.minor = element_line(
size = 0.25, linetype = 'solid',
colour = "#E5E8E8"))+
scale_fill_viridis_d(option ="turbo", name="Sites")+theme(axis.title.y = element_text(margin = margin(t = 0, r=20, b = 0, l = 0)))+ylab("")
qiime2al<-cowplot::plot_grid(aq0, aq1, aq2, ncol = 3, align = "h", rel_widths = c(1,1,1.1))alphadiv_single_micop_q0<- alphadiv_single_micop %>%filter(qs=="q0")
alphadiv_single_micop_q1<- alphadiv_single_micop %>%filter(qs=="q1")
alphadiv_single_micop_q2<- alphadiv_single_micop %>%filter(qs=="q2")
as0<- ggboxplot(alphadiv_single_micop_q0,
x = "Sites", y = "value", fill = "Sites") +
stat_compare_means(label.y = 135, label = "p.format")+
theme_linedraw()+theme(legend.position = "none",
axis.title = element_blank(),
axis.text.x = element_blank(),
axis.ticks.x = element_blank(),
strip.text.x = element_text(
size = 12, face = "bold.italic"),
panel.grid.major = element_line(
size = 0.5, linetype = 'solid',
colour = "#E5E8E8"),
panel.grid.minor = element_line(
size = 0.25, linetype = 'solid',
colour = "#E5E8E8"))+
scale_fill_viridis_d(option ="turbo", name="Sites")+theme(axis.title.y = element_text(margin = margin(t = 0, r=20, b = 0, l = 0)))+ylab("")+theme(axis.title.x = element_blank())+ scale_y_continuous(labels=scaleFUN)
as1<- ggboxplot(alphadiv_single_micop_q1,
x = "Sites", y = "value", fill = "Sites") +
stat_compare_means(label.y = 62, label = "p.format")+
theme_linedraw()+theme(legend.position = "none",
axis.title = element_blank(),
axis.text.x = element_blank(),
axis.ticks.x = element_blank(),
strip.text.x = element_text(
size = 12, face = "bold.italic"),
panel.grid.major = element_line(
size = 0.5, linetype = 'solid',
colour = "#E5E8E8"),
panel.grid.minor = element_line(
size = 0.25, linetype = 'solid',
colour = "#E5E8E8"))+
scale_fill_viridis_d(option ="turbo", name="Sites")+ scale_y_continuous(labels=scaleFUN)+theme(axis.title.y = element_text(margin = margin(t = 0, r=20, b = 0, l = 0)))+ylab("")
as2<- ggboxplot(alphadiv_single_micop_q2 %>% mutate(methodS="SINGLE MICOP"), x = "Sites", y = "value", fill = "Sites") +
facet_grid( rows= vars(methodS))+
stat_compare_means(label.y = 45, label = "p.format")+
theme_linedraw()+theme(legend.position = "none",
axis.title = element_blank(),
axis.text.x = element_blank(),
axis.ticks.x = element_blank(),
strip.text = element_text(
size = 12, face = "bold.italic"),
panel.grid.major = element_line(
size = 0.5, linetype = 'solid',
colour = "#E5E8E8"),
panel.grid.minor = element_line(
size = 0.25, linetype = 'solid',
colour = "#E5E8E8"))+
scale_fill_viridis_d(option ="turbo", name="Sites")+theme(axis.title.y = element_text(margin = margin(t = 0, r=20, b = 0, l = 0)))+ylab("")
singleal<-cowplot::plot_grid(as0, as1, as2, ncol = 3, align = "h", rel_widths = c(1,1,1.1))alphadiv_paired_micop_q0<- alphadiv_paired_micop %>%filter(qs=="q0")
alphadiv_paired_micop_q1<- alphadiv_paired_micop %>%filter(qs=="q1")
alphadiv_paired_micop_q2<- alphadiv_paired_micop %>%filter(qs=="q2")
ap0<- ggboxplot(alphadiv_paired_micop_q0,
x = "Sites", y = "value", fill = "Sites") +
stat_compare_means(label.y = 195, label.x = 1.5, label = "p.format")+
theme_linedraw()+theme(legend.position = "none",
axis.title.x = element_blank(),
axis.text.x = element_blank(),
axis.ticks.x = element_blank(),
strip.text.x = element_text(
size = 12, face = "bold.italic"),
panel.grid.major = element_line(
size = 0.5, linetype = 'solid',
colour = "#E5E8E8"),
panel.grid.minor = element_line(
size = 0.25, linetype = 'solid',
colour = "#E5E8E8"))+
scale_fill_viridis_d(option ="turbo", name="Sites")+ylab("Efective number of features")+theme(axis.title.y = element_text(margin = margin(t = 0, r=20, b = 0, l = 0),colour = "black", size = 12))+ scale_y_continuous(labels=scaleFUN)
ap1<- ggboxplot(alphadiv_paired_micop_q1,
x = "Sites", y = "value", fill = "Sites") +
stat_compare_means(label.y = 9,label.x = 3, label = "p.format")+
theme_linedraw()+theme(legend.position = "top",
axis.title = element_blank(),
axis.text.x = element_blank(),
axis.ticks.x = element_blank(),
strip.text.x = element_text(
size = 12, face = "bold.italic"),
panel.grid.major = element_line(
size = 0.5, linetype = 'solid',
colour = "#E5E8E8"),
panel.grid.minor = element_line(
size = 0.25, linetype = 'solid',
colour = "#E5E8E8"))+
scale_fill_viridis_d(option ="turbo", name="Sites")+ scale_y_continuous(labels=scaleFUN)+theme(axis.title.y = element_text(margin = margin(t = 0, r=20, b = 0, l = 0)))+ylab("")+guides(fill=guide_legend(nrow =1))+
theme(legend.text =element_text(size = 14), legend.title = element_text(size = 18))
ap2<- ggboxplot(alphadiv_paired_micop_q2 %>% mutate(methodS="PAIRED MICOP"), x = "Sites", y = "value", fill = "Sites") +
facet_grid(rows = vars(methodS))+
stat_compare_means(label.y = 4.5, label.x = 3, label = "p.format")+
theme_linedraw()+theme(legend.position = "none",
axis.title = element_blank(),
axis.ticks.x = element_blank(),
axis.text.x = element_blank(),
strip.text = element_text(
size = 12, face = "bold.italic"),
panel.grid.major = element_line(
size = 0.5, linetype = 'solid',
colour = "#E5E8E8"),
panel.grid.minor = element_line(
size = 0.25, linetype = 'solid',
colour = "#E5E8E8"))+
scale_fill_viridis_d(option ="turbo", name="Sites")+ scale_y_continuous(labels=scaleFUN)+theme(axis.title.y = element_text(margin = margin(t = 0, r=20, b = 0, l = 0)))+ylab("")
pairedal<-cowplot::plot_grid(ap0, ap1, ap2, ncol = 3, align = "h", rel_widths = c(1,1,1.1))alphadiv_fungi_q0<- alphadiv_fungip %>%filter(qs=="q0")
alphadiv_fungi_q1<- alphadiv_fungip %>%filter(qs=="q1")
alphadiv_fungi_q2<- alphadiv_fungip %>%filter(qs=="q2")
af0<- ggboxplot(alphadiv_fungi_q0,
x = "Sites", y = "value", fill = "Sites") +
stat_compare_means(label.y = 72.0001, label = "p.format")+
theme_linedraw()+theme(legend.position = "none",
axis.title = element_blank(),
axis.text.x = element_text(size = 12),
strip.text.x = element_text(
size = 12, face = "bold.italic"),
panel.grid.major = element_line(
size = 0.5, linetype = 'solid',
colour = "#E5E8E8"),
panel.grid.minor = element_line(
size = 0.25, linetype = 'solid',
colour = "#E5E8E8"))+
scale_fill_viridis_d(option ="turbo", name="Sites")+theme(axis.title.y = element_text(margin = margin(t = 0, r=20, b = 0, l = 0)))+ylab("")+theme(axis.title.x = element_blank())+ scale_y_continuous(labels=scaleFUN2)+theme(axis.text.x = element_blank(), axis.ticks.x = element_blank())
af1<- ggboxplot(alphadiv_fungi_q1,
x = "Sites", y = "value", fill = "Sites") +
stat_compare_means(label.y = 10, label.x = 6,label = "p.format")+
theme_linedraw()+theme(legend.position = "none",
axis.title = element_blank(),
axis.text.x = element_text(size = 12),
strip.text.x = element_text(
size = 12, face = "bold.italic"),
panel.grid.major = element_line(
size = 0.5, linetype = 'solid',
colour = "#E5E8E8"),
panel.grid.minor = element_line(
size = 0.25, linetype = 'solid',
colour = "#E5E8E8"))+
scale_fill_viridis_d(option ="turbo", name="Sites")+ scale_y_continuous(labels=scaleFUN)+theme(axis.title.y = element_text(margin = margin(t = 0, r=20, b = 0, l = 0)))+ylab("")+theme(axis.text.x = element_blank(), axis.ticks.x = element_blank())
af2<- ggboxplot(alphadiv_fungi_q2 %>% mutate(methodS="KRAKEN2"),
x = "Sites", y = "value", fill = "Sites") +
facet_grid(rows = vars(methodS))+
stat_compare_means(label.y = 3.3, label = "p.format")+
theme_linedraw()+theme(legend.position = "none",
axis.title = element_blank(),
axis.text.x = element_text(size = 12),
strip.text = element_text(
size = 12, face = "bold.italic"),
panel.grid.major = element_line(
size = 0.5, linetype = 'solid',
colour = "#E5E8E8"),
panel.grid.minor = element_line(
size = 0.25, linetype = 'solid',
colour = "#E5E8E8"))+
scale_fill_viridis_d(option ="turbo", name="Sites")+ scale_y_continuous(labels=scaleFUN)+theme(axis.title.y = element_text(margin = margin(t = 0, r=20, b = 0, l = 0)))+ylab("")+theme(axis.text.x = element_blank(), axis.ticks.x = element_blank())
pairedfungi<-cowplot::plot_grid(af0, af1, af2, ncol = 3, align = "h", rel_widths = c(1,1,1.1))leg<- get_legend(ap1)
all<- cowplot::plot_grid(aq0, aq1, aq2,
as0, as1, as2,
ap0, ap1+theme(legend.position = "none"), ap2,
af0, af1, af2,
labels = c("a)", "b)", "c)",
"d)", "e)", "f)",
"g)", "h)", "i)",
"j)", "k)", "l)"),
scale = 1, nrow = 4, ncol = 3,
label_y = 1,label_x =0.05,
label_size = 14, hjust = -0.2, align = "hv")
all2<- cowplot::plot_grid(leg, all, nrow = 2, rel_heights = c(0.1,1))
all2library(vegan)
library(qiime2R)
library(readxl)
library(tidyverse)
library(ggh4x)
library(ComplexHeatmap)
library(circlize)
library(viridis)
source("../Code/general_functions.R")
metadata<-read_excel("../Data/Metadatos.xlsx") %>% mutate_if(is.numeric, as.factor)
meta<-metadata
table_single_micop<- read.delim("../Data/table_micop_single.txt")
table_paired_micop<- read.delim("../Data/table_micop_paired.txt")
table_qiime2<- data.frame(
read_qza("../Data/clustered_table_filter.qza")$data,
check.names = F) %>% t() %>% as.data.frame(
) %>% rownames_to_column(
var = "SampleID") %>% separate(
SampleID, c(
"id_metagenome", "R", "unmap", "Paired"),
sep = "_")%>% inner_join(
meta) %>% dplyr::select(
-id_metagenome:-Paired, -id_sequence:-id_fisicoq, -Sites, -Names) %>% column_to_rownames(
var="SampleID") %>% t() %>% as.data.frame() %>% mutate_all(as.numeric)
table_fungi<- read.delim("../Data/table_kraken.txt",
row.names = 1, check.names = F) %>% dplyr::select_if(
is.numeric)%>% t() %>% as.data.frame() %>% rownames_to_column(
var = "id_sequence") %>% separate(
., "id_sequence", c(
"kraken", "fungi",
"id_metagenome", "report", "bracken"),
sep = "_") %>% dplyr::select(-kraken, -fungi, -report, -bracken) %>% full_join(
metadata) %>% dplyr::select(-id_sequence:-Transecto, -id_metagenome, -Sites, -id_new, -Names, -id_fisicoq) %>% column_to_rownames(
var = "SampleID") %>% t() %>% as.data.frame() %>% mutate_all(as.numeric)
vector_order<- c("P1S1T1", "P1S1T2", "P1S1T3",
"P1S2T1", "P1S2T2", "P1S2T3",
"P2S1T1", "P2S1T2", "P2S1T3",
"P2S2T1", "P2S2T2", "P2S2T3",
"P3S1T1", "P3S1T2", "P3S1T3",
"P3S2T1", "P3S2T2", "P3S2T3",
"P4S1T1", "P4S1T2", "P4S1T3",
"P4S2T1", "P4S2T2", "P4S2T3",
"P5S1T1", "P5S1T2", "P5S1T3",
"P5S2T1", "P5S2T2", "P5S2T3",
"P6S1T1", "P6S1T2", "P6S1T3",
"P6S2T1", "P6S2T2", "P6S2T3")
vector_order<- c("P1S1",
"P1S2",
"P2S1",
"P2S2",
"P3S1",
"P3S2",
"P4S1",
"P4S2",
"P5S1",
"P5S2",
"P6S1",
"P6S2")
#ordering
taxonomy_qiime2<- data.frame(read_qza("../Data/taxonomy_blast_dfc_0.98.qza")$data, check.names = F) %>% dplyr::select(Feature.ID,Taxon)
taxonomy_single_micop<- read.delim("../Data/table_micop_single.txt") %>% rownames_to_column(var = "Feature.ID") %>% dplyr::select(Feature.ID) %>% mutate(Taxon=Feature.ID)
taxonomy_paired_micop<- read.delim("../Data/table_micop_paired.txt") %>% rownames_to_column(var = "Feature.ID") %>% dplyr::select(Feature.ID) %>% mutate(Taxon=Feature.ID)
taxonomy_fungi<- read.delim("../Data/table_kraken.txt",
row.names = 1, check.names = F) %>% select_if(is.character) %>% rownames_to_column(
var = "#OTU ID") %>% dplyr::select(Feature.ID = "#OTU ID", Taxon= taxonomy)
map<- read.csv("../Data/coord.csv") %>% mutate_at(
c(1,2,3,7), as.factor) %>% mutate(SampleID= paste0("P",pol, "S", Sitio,"T", Transecto ))
metadata<-read_excel("../Data/Metadatos.xlsx") %>% mutate_if(is.numeric, as.factor)taxones_color<- read_csv("../Data/taxones_color.csv")
data_fun<- function(tab, taxonomy, metadata){
table_genus<- tab %>%rownames_to_column(
var = "Feature.ID") %>% inner_join(taxonomy) %>% separate(
Taxon, c("k","p","c","o","f","g","s"), sep = ";" ) %>% mutate_at(
c("g"), ~str_replace(., "g__", ""))%>%
dplyr::mutate(g = stringr::str_trim(g, side = "both")) %>% mutate_if(
is.character, ~replace_na(., "Unassigned")) %>% group_by(
g) %>% summarise_if(is.numeric, sum) %>% column_to_rownames(
var = "g") %>% mutate(
all= rowSums(.)) %>% dplyr::arrange(
-all) %>% rel_ab(.) %>%as.data.frame( ) %>% rownames_to_column(
var = "Taxon")%>% filter(!Taxon=="unidentified" ,
!Taxon=="Unassigned") #%>%slice(
#c(1:50)) %>% pivot_longer(
# ., cols = -Taxon,
# names_to ="SampleID",
#values_to = "relab" ) %>% filter( !SampleID=="all")
#cols<- table_genus %>% inner_join(taxones_color) %>% arrange(Taxon)
#col <- as.character(cols$color)
#names(col) <- as.character(cols$Taxon)
#barplot_genus<- table_genus %>% inner_join(metadata)%>% dplyr::select(
# Taxon, SampleID, relab) %>% pivot_wider(
# names_from = Taxon, values_from = relab) %>% column_to_rownames(
# var = "SampleID") %>% t() %>% as.data.frame()
}
data_fun2<- function(tab, taxonomy, metadata){
table_genus<- tab %>%rownames_to_column(
var = "Feature.ID") %>% inner_join(taxonomy) %>% separate(
Taxon, c("k","p","c","o","f","g","s"), sep = "__" ) %>% mutate_at(
c("g"), ~str_replace(., "g__", "")) %>% mutate_at(
c("g"), ~str_replace(., "g__", "")) %>% mutate_if(
is.character, ~replace_na(., "Unassigned")) %>% group_by(
g) %>% summarise_if(is.numeric, sum) %>% column_to_rownames(
var = "g") %>% mutate(
all= rowSums(.)) %>% dplyr::arrange(-all) %>% rel_ab(.) %>% as.data.frame() %>% rownames_to_column(
var = "Taxon")%>% filter(!Taxon=="unidentified" , !Taxon=="Unassigned") #%>% slice(
#c(1:50)) %>% pivot_longer(
# ., cols = -Taxon, names_to ="SampleID",
#values_to = "relab" ) %>% filter(!SampleID=="all")
#cols<- table_genus %>% inner_join(taxones_color) %>% arrange(Taxon)
#col <- as.character(cols$color)
#names(col) <- as.character(cols$Taxon)
#barplot_genus<- table_genus %>% inner_join(metadata)%>% dplyr::select(
# Taxon, SampleID, relab) %>% pivot_wider(
# names_from = Taxon, values_from = relab) %>% column_to_rownames(
# var = "SampleID") %>% t() %>% as.data.frame()
}
data_qiime2<- data_fun(table_qiime2, taxonomy_qiime2, metadata) %>%
column_to_rownames(var = "Taxon")
data_qiime22= data_qiime2 %>% dplyr::select(-all) %>% t() %>% as.data.frame() %>% rownames_to_column(
var = "SampleID") %>% full_join(metadata) %>% group_by(Poligono, Sitio) %>% summarize_if(
is.numeric, mean ) %>% mutate(SampleID=paste0("P", Poligono,"S", Sitio))%>% column_to_rownames(var = "SampleID") %>%
dplyr::select_if(is.numeric) %>% t() %>% as.data.frame()
data_qiime2_order=data_qiime22[, match(vector_order, colnames(data_qiime22))] %>%
rename_if(is.numeric, ~paste0(.,"_qiime2"))%>% rownames_to_column(var="gen")
data_fungi<- data_fun(table_fungi, taxonomy_fungi, metadata) %>%
column_to_rownames(var = "Taxon")
data_fungi2= data_fungi %>% dplyr::select(-all) %>% t() %>% as.data.frame() %>% rownames_to_column(
var = "SampleID") %>% full_join(metadata) %>% group_by(Poligono, Sitio) %>% summarize_if(
is.numeric, mean ) %>% mutate(SampleID=paste0("P", Poligono,"S", Sitio))%>% column_to_rownames(var = "SampleID") %>%
dplyr::select_if(is.numeric) %>% t() %>% as.data.frame()
data_fungi_order=data_fungi2[, match(vector_order, colnames(data_fungi2))]%>%
rename_if(is.numeric, ~paste0(.,"_kraken2")) %>% rownames_to_column(var="gen")
data_single<- data_fun2(table_single_micop, taxonomy_single_micop, metadata) %>%
column_to_rownames(var = "Taxon")
data_single2= data_single %>% dplyr::select(-all) %>% t() %>% as.data.frame() %>% rownames_to_column(
var = "SampleID") %>% full_join(metadata) %>% group_by(Poligono, Sitio) %>% summarize_if(
is.numeric, mean ) %>% mutate(SampleID=paste0("P", Poligono,"S", Sitio))%>% column_to_rownames(var = "SampleID") %>%
dplyr::select_if(is.numeric) %>% t() %>% as.data.frame()
data_single_order=data_single2[, match(vector_order, colnames(data_single2))]%>%
rename_if(is.numeric, ~paste0(.,"_single"))%>% rownames_to_column(var="gen")
data_paired<- data_fun2(table_paired_micop, taxonomy_paired_micop, metadata) %>%
column_to_rownames(var = "Taxon")
data_paired2= data_paired %>% dplyr::select(-all) %>% t() %>% as.data.frame() %>% rownames_to_column(
var = "SampleID") %>% full_join(metadata) %>% group_by(Poligono, Sitio) %>% summarize_if(
is.numeric, mean ) %>% mutate(SampleID=paste0("P", Poligono,"S", Sitio))%>% column_to_rownames(var = "SampleID") %>%
dplyr::select_if(is.numeric) %>% t() %>% as.data.frame()
data_paired_order=data_paired2[, match(vector_order, colnames(data_paired2))]%>%
rename_if(is.numeric, ~paste0(.,"_paired"))%>% rownames_to_column(var="gen")
merge_data<- data_qiime2_order %>% full_join(
data_single_order)%>% full_join(
data_paired_order)%>% full_join(
data_fungi_order) %>% replace(is.na(.), 0) %>% mutate(gen=case_when(
gen=="Leptosphaeria maculans species complex" ~ "Leptosphaeria",
TRUE ~ as.character(gen)))%>% column_to_rownames(
var = "gen") %>% mutate(proms=rowMeans(.)) %>% dplyr::arrange(-proms) %>% slice(
1:60)%>% dplyr::select(-proms) %>% mutate_all(., funs(R = case_when(
. <= 0.001 ~ 0,
. > 0.001 & . <= 0.005 ~ 1,
. > 0.005 & . <= 0.01 ~ 2,
. > 0.01 & . <= 0.10 ~ 3,
. > 0.10 & . <= 0.20 ~ 4,
. > 0.20 & . <= 1.00 ~ 5,
. > 1.00 & . <= 2.00 ~ 6,
. > 2.00 & . <= 5.00 ~ 7,
. > 5.00 & . <= 10.00 ~ 8,
. > 10.00 & . <= 25.00 ~ 9,
. > 25.00 & . <= 50.00 ~ 10,
. > 50.00 & . <= 75.00 ~ 11,
. > 75.00 ~ 12))) %>%select_at(
vars(contains("_R"))) %>% select_all(~str_replace(., "_R", ""))col_fun2 = colorRamp2(c(0, 1, 1+1e-5,10,50, 100),
viridis(6, option = "F", direction = -1))
my_palette <- viridis::viridis(n = 12, option = "F", direction = -1)
col_fun = colorRamp2(c(0, 1, 1+1e-5,5,5+1e-5,10,10+1e-5,50,50+1e-5, 75, 75+1e-5,100),
viridis(12, option = "F", direction = -1))
#annotation ids
annotation_columns<- data.frame(id=colnames(merge_data))
rownames(annotation_columns) <- colnames(heatmap)
#set.seed(123)
split = rep(1:4, each = 12)
Sites<- c(1,1,1,
2,2,2,
3,3,3,
4,4,4,
5,5,5,
6,6,6,
7,7,7,
8,8,8,
9,9,9,
10,10,10,
11,11,11,
12,12,12)
Sites = 1:12
ha = HeatmapAnnotation("Method" = anno_block(gp = gpar(
fill = c("black" ,"black" ,"black", "black")),
labels = c("GENEIOUS+UNITE", "SINGLE MICOP", "PAIRED MICOP", "KRAKEN2"),
labels_gp = gpar(col = "white", fontsize = 7, fontface= "bold")))
cols_ho<- list("Sites" = c("1"="#30123BFF","2"="#4454C4FF",
"3"= "#4490FEFF", "4"="#1FC8DEFF",
"5"= "#29EFA2FF","6"= "#7DFF56FF",
"7"="#C1F334FF","8"="#F1CA3AFF",
"9"= "#FE922AFF","10"="#EA4F0DFF",
"11"= "#BE2102FF","12"= "#7A0403FF"))
ho = HeatmapAnnotation("Sites" = c(rep(Sites, 4)),
which = "col", col = cols_ho,
annotation_name_gp = gpar(fontsize=8,
fontface="bold"),
show_legend = F, gp = gpar(
col = "white", fontize=12),
simple_anno_size = unit(0.25, "cm"),
show_annotation_name = T)
#annotatio row (filas)
#para hccer....cambiar el guidls_all.tsv con la nueva data
guilds<- read_tsv("../Data/guilds_all.txt") %>% group_by(Taxon, Guild, `Trophic Mode`) %>%
mutate(Guilds=case_when(
Guild=="Dung Saprotroph-Undefined Saprotroph-Wood Saprotroph"~"Dung Sap.-Undef Sap.-Wood Sap.",
Guild=="Ectomycorrhizal-Fungal Parasite"~"Ectomycorrhizal-Fung.Parasit",
Guild=="Animal Pathogen-Endophyte-Endosymbiont-Epiphyte-Soil Saprotroph-Undefined Saprotroph"~"Animal P-Endoph/symb-Undef. Sap.",
Guild=="Endophyte-Plant Pathogen-Wood Saprotroph"~"Endophyte-Pathogen-Saprotroph",
Guild=="Animal Pathogen-Endophyte-Epiphyte-Fungal Parasite-Plant Pathogen-Wood Saprotroph"~"Animal-Plant P-Endophyte-Saprotroph",
Guild=="Animal
Pathogen-Endophyte-Epiphyte-Undefined Saprotroph" ~"Animal-Plant P-Endophyte-Saprotroph",
Guild=="Animal Pathogen-Endophyte-Epiphyte-Undefined Saprotroph"~"Animal-Plant P-Endophyte-Saprotroph",
Guild=="Animal Pathogen-Endophyte-Plant Pathogen-Undefined Saprotroph"~"Animal-Plant P-Endophyte-Saprotroph",
Guild=="Endophyte-Litter Saprotroph-Soil Saprotroph-Undefined Saprotroph"~"Endophyte-Undefined Saprotrop",
Guild=="Animal Endosymbiont-Animal Pathogen-Plant Pathogen-Undefined Saprotroph"~"Animal-Plant endosymb-P-Undef. Sap.",
Guild=="Endophyte-Plant Pathogen-Undefined Saprotroph"~"Endophyte-Plant Pathogen-Undef. Sap.",
Guild=="Ectomycorrhizal-Undefined Saprotroph"~"Ectomycorrhizal-Undef. Sap.",
Guild=="Animal Pathogen-Fungal Parasite-Undefined Saprotroph"~"Animal P-Fungal Parasite-Undef. Sap.",
Guild=="Fungal Parasite-Plant Pathogen-Plant Saprotroph"~"Fungal Parasite-Plant Path-Plant Sap.",
Guild=="Animal Pathogen-Endophyte-Plant Pathogen-Soil Saprotroph-Wood Saprotroph" ~"Animal Pathogen-Endoph-Plant P-Soil/Wood Sap",
Guild=="Ectomycorrhizal-Orchid Mycorrhizal-Root Associated Biotroph" ~"Ectomycorrhizal-Mycorrhizal-Biotroph",
Guild=="Clavicipitaceous Endophyte-Plant Pathogen" ~"Clavicipitaceous Endophyte-Plant Pat.",
Guild=="Dung Saprotroph-Endophyte-Epiphyte-Wood Saprotroph" ~"Dung Sap.-Endo.-Epiph.-Wood Sap.",
TRUE~as.character(Guild)))# %>% filter(relab>1)
#Dung Saprotroph-Endophyte-Epiphyte-Wood Saprotroph
#%>% #mutate(Guilds=case_when(
#Guild=="Dung Saprotroph-Undefined Saprotroph-Wood Saprotroph" ~ "Undefined Saprotroph",
# TRUE ~ as.character(Guild)))
annotation_rows<- merge_data %>% rownames_to_column(
var = "Taxon") %>% left_join(
guilds) %>%dplyr::select(-OTUID,-taxonomy) %>% distinct()%>%dplyr::select_if(
is.character) %>% replace(
is.na(.), "Unassigned") %>% distinct() %>% slice(-5) %>% column_to_rownames(
var = "Taxon") %>% dplyr::rename(Trophic=`Trophic Mode`)
cols_guild <- list('Guild' = c(
"Unassigned"= "#85929e",
"Animal Pathogen-Endophyte-Plant Pathogen-Soil Saprotroph-Wood Saprotroph"="#D95F02",
"Animal Pathogen-Endoph-Plant P-Soil/Wood Sap"="#D95F02",
"Animal Pathogen-Endophyte-Epiphyte-Fungal Parasite-Plant Pathogen-Wood Saprotroph"="#d658c3",
"Animal Pathogen-Soil Saprotroph"="#F08080",
"Animal Endosymbiont-Animal Pathogen-Plant Pathogen-Undefined Saprotroph"="#ca7822",
"Animal Pathogen"="#ba4a00",
"Animal Pathogen-Endophyte-Endosymbiont-Epiphyte-Soil Saprotroph-Undefined Saprotroph"="#C70039",
"Animal P-Endoph/symb-Undef. Sap."="#C70039",
"Animal Pathogen-Undefined Saprotroph"="#c70051",
"Plant Pathogen"="#E7298A",
"Fungal Parasite"="#666666", #no sale
"Animal-Plant P-Endophyte-Saprotroph"="#ff452d",
"Animal-Plant endosymb-P-Undef. Sap."="#f77c00",
"Animal Pathogen-Fungal Parasite-Undefined Saprotroph"="#900C3F",
"Animal P-Fungal Parasite-Undef. Sap."="#ba9194",
"Fungal Parasite-Plant Pathogen-Plant Saprotroph"="#e22b0f",
"Fungal Parasite-Plant Path-Plant Sap."="#e22b0f",
"Plant Pathogen-Undefined Saprotroph"="#b65169",
"Arbuscular Mycorrhizal"="#008000",
"Ectomycorrhizal-Orchid Mycorrhizal-Root Associated Biotroph"="#b4ff68",
"Ectomycorrhizal-Mycorrhizal-Biotroph"="#b4ff68",
"Ectomycorrhizal" = "#7FC97F",
"Ectomycorrhizal-Fungal Parasite"="#58d68d",
"Ectomycorrhizal-Undefined Saprotroph"="#edf2a3",
"Ectomycorrhizal-Undef. Sap."="#edf2a3",
"Endophyte"="#00FFFF",
"Endophyte-Plant Pathogen"="#117a65",
"Epiphyte"="#02f0a5",
"Ericoid Mycorrhizal"="#a2ab16",
"Lichenized"="#DAF7A6",
"Ectomycorrhizal-Orchid"="#0000FF", #no sale
"Endophyte-Plant Pathogen-Undefined Saprotroph" ="#00FF00",
"Endophyte-Plant Pathogen-Undef. Sap." ="#7dcea0",
"Endophyte-Pathogen-Saprotroph"="#0b5345",
"Endophyte-Plant Pathogen-Wood Saprotroph"="#00FF00",
"Endophyte-Litter Saprotroph-Soil Saprotroph-Undefined Saprotroph"="#73c6b6",
"Endophyte-Undefined Saprotrop"="#008080",
"Endophyte-Insect Pathogen"="#00FFFF",
"Clavicipitaceous Endophyte-Plant Pat."="#5e6326",
"Dung Saprotroph"="#FDC086",
"Soil Sparotroph"="#851d01",
"Undefined Saprotroph"="#7d6608",
"Wood Saprotroph"="#E6AB02",
"Plant Pathogen-Wood Saprotroph"="#5c2402",
"Dung Saprotroph-Wood Saprotroph"="#7d5c48",
"Dung Sap.-Endo.-Epiph.-Wood Sap."="#5D3830",
"Dung Sap.-Undef Sap.-Wood Sap."="#FDC086",
"Dung Saprotroph-Undefined Saprotroph-Wood Saprotroph"="#FDC086" ))
cols_tro <- list('Trophic' = c(
"Pathotroph"= "#D95F02",
"Pathotroph-Saprotroph"= "#581845",
"Pathotroph-Symbiotroph"="#F08080",
"Saprotroph"= "#851d01",
"Saprotroph-Symbiotroph"= "#7d5c48",
"Symbiotroph"= "#008000",
"Unassigned"= "#85929e",
"Pathotroph-Saprotroph-Symbiotroph"= "#C70039"))
annguild = HeatmapAnnotation("Guild" = annotation_rows$Guilds,
which = "row", col = cols_guild,
show_legend = T,
show_annotation_name = T,
annotation_name_gp =gpar(
fontsize = 7, fontface="bold"),
annotation_legend_param = list(
title_gp = gpar(fontsize = 7,
fontface="bold"),
labels_gp = gpar(fontsize = 7),
direction ="horizontal",
grid_width = unit(0.3, "cm"),
grid_height = unit(0.1, "cm")),
simple_anno_size = unit(0.3, "cm"),
gp = gpar(col = "white"))
anntro = HeatmapAnnotation("Trophic" = annotation_rows$Trophic,
which = "row", col = cols_tro,
show_legend = T,
show_annotation_name = T,
annotation_name_gp =gpar(
fontsize = 7, fontface="bold"),
annotation_legend_param = list(
title_gp = gpar(fontsize = 7,
fontface="bold"),
labels_gp = gpar(fontsize =7),
direction ="horizontal",
grid_width = unit(0.3, "cm"),
grid_height = unit(0.1, "cm")),
simple_anno_size = unit(0.3, "cm"),
gp = gpar(col = "white"))
#annotation_rows[is.na(annotation_rows)] <- "Unassigned"heats<-ComplexHeatmap::Heatmap(
merge_data,
col = my_palette,
row_dend_width = unit(0.4, "cm"),
width = ncol(merge_data)*unit(2, "mm"),
height = nrow(merge_data)*unit(2.4, "mm"),
heatmap_legend_param = list(direction = "horizontal",
title = "Relative abund(%)",
grid_height = unit(0.2, "cm"),
legend_height = unit(1, "cm"),
labels_gp = gpar(fontsize = 7),
title_gp = gpar(fontsize = 6,
fontface="bold"),
at = c(0,1, 10, 50, 100), break_dist = 1),
rect_gp = gpar(col = "white"),
cluster_columns = F, cluster_rows = T,show_row_dend = FALSE,
show_heatmap_legend = TRUE, top_annotation = c(ha, ho),
right_annotation = c(anntro, annguild),
column_order = sort(colnames(merge_data)),
column_split = split, column_title = NULL,
show_column_names = F,
row_names_gp = gpar(fontsize=7.5, fontface="italic"),
column_title_gp = gpar(
fill = c("#800000" ,"#808000" ,"#008000", "#D35400", "#2E4053" )))
lgd1 = Legend(at = 1:12, title = "Sites", nrow = 1,
title_position = "leftcenter",
legend_gp = gpar(fill = viridis(
n = 12, option = "H", direction = 1)),
labels_gp = gpar(fontsize = 8),
title_gp = gpar(fontsize = 9, fontface="bold"))
lgd2 = Legend(at = sort(unique(annotation_rows$Guild)),
legend_gp = gpar(fill = cols_guild$Guild),
title = "Guild", ncol = 2, gap = unit(0.1, "cm"),
labels_gp = gpar(fontsize = 7),
title_gp = gpar(fontsize = 7, fontface="bold"))
lgd3 = Legend(at = sort(unique(annotation_rows$Trophic)),
legend_gp = gpar(fill = cols_tro$Trophic),
title = "Trophic", ncol = 1,gap = unit(1, "cm"),
labels_gp = gpar(fontsize =7),
title_gp = gpar(fontsize = 7, fontface="bold"))
#draw(heats, heatmap_legend_side = "right",
#annotation_legend_side = "top",
#merge_legend=F,
#annotation_legend_list = list(lgd1))
heatm<-grid.grabExpr(draw(heats, heatmap_legend_side = "right",
annotation_legend_side = "top",
merge_legend=F,
annotation_legend_list = list(lgd1)))
heatsggsave('Figure3_heatmap_grouped.pdf', width = 8, height = 7, dpi = 600, plot =heatm, device = "pdf")mean_data<- data_qiime2_order%>% column_to_rownames(var = "gen") %>% mutate(all=rowMeans(.)) %>% dplyr::select(qiime2=all) %>% rownames_to_column(var = "gen") %>% full_join(
data_single_order%>% column_to_rownames(var = "gen") %>% mutate(all=rowMeans(.)) %>% dplyr::select(single=all) %>% rownames_to_column(var = "gen"))%>% full_join(
data_paired_order%>% column_to_rownames(var = "gen") %>% mutate(all=rowMeans(.)) %>% dplyr::select(paired=all) %>% rownames_to_column(var = "gen"))%>% full_join(
data_fungi_order%>% column_to_rownames(var = "gen") %>% mutate(all=rowMeans(.)) %>% dplyr::select(kraken=all) %>% rownames_to_column(var = "gen")) %>% replace(is.na(.), 0) %>% mutate(gen=case_when(
gen=="Leptosphaeria maculans species complex" ~ "Leptosphaeria",
TRUE ~ as.character(gen)))%>% column_to_rownames(
var = "gen") %>% mutate(proms=rowMeans(.)) %>% dplyr::arrange(-proms) %>%
mutate_if(is.numeric, ~round(., digits = 2))## Joining with `by = join_by(gen)`
## Joining with `by = join_by(gen)`
## Joining with `by = join_by(gen)`
## Warning: package 'matrixStats' was built under R version 4.3.2
##
## Attaching package: 'matrixStats'
##
## The following object is masked from 'package:dplyr':
##
## count
sd_data<- data_qiime2_order%>% column_to_rownames(var = "gen") %>% mutate(all=rowSds(as.matrix(.))) %>% dplyr::select(qiime2=all) %>% rownames_to_column(var = "gen") %>% full_join(
data_single_order%>% column_to_rownames(var = "gen") %>% mutate(all=rowSds(as.matrix(.))) %>% dplyr::select(single=all) %>% rownames_to_column(var = "gen"))%>% full_join(
data_paired_order%>% column_to_rownames(var = "gen") %>% mutate(all=rowSds(as.matrix(.))) %>% dplyr::select(paired=all) %>% rownames_to_column(var = "gen"))%>% full_join(
data_fungi_order%>% column_to_rownames(var = "gen") %>% mutate(all=rowSds(as.matrix(.))) %>% dplyr::select(kraken=all) %>% rownames_to_column(var = "gen")) %>% replace(is.na(.), 0) %>% mutate(gen=case_when(
gen=="Leptosphaeria maculans species complex" ~ "Leptosphaeria",
TRUE ~ as.character(gen)))%>% column_to_rownames(
var = "gen") %>% mutate(proms=rowSds(as.matrix(.))) %>%
dplyr::arrange(-proms)%>%
mutate_if(is.numeric, ~round(., digits = 2))## Joining with `by = join_by(gen)`
## Joining with `by = join_by(gen)`
## Joining with `by = join_by(gen)`
## Loading required package: phyloseq
tabla1=goods(t(table_qiime2))
tabla2=goods(t(table_single_micop))
tabla3=goods(t(table_paired_micop))
tabla4=goods(t(table_fungi))
mean(tabla1$goods)## [1] 79.83309
## [1] 99.32011
## [1] 99.94403
## [1] 100
metadata<-read_excel("../Data/Metadatos.xlsx") %>% mutate_if(
is.numeric, as.factor)
meta<-metadata
guild_colors<- read_csv("../Data/guilds_color_new")
trophic_colors<- read_csv("../Data/trophic_color")
names_col<- read.delim(
"../Data/tabla_qiime2_blast_OTUS.guilds.txt",
check.names = F, row.names = 1)%>% t() %>%
as.data.frame() %>% rownames_to_column(
var = "SampleID") %>% separate(
SampleID, c(
"id_metagenome", "R", "unmap", "Paired"),
sep = "_")%>% inner_join(meta) %>% dplyr::select(
SampleID) %>% t() %>% as.vector()
guild_qiime2<- read.delim(
"../Data/tabla_qiime2_blast_OTUS.guilds.txt",
check.names = F, row.names = 1) %>% filter(
!Guild=="-",! `Confidence Ranking`=="Possible" , !Guild=="NULL") %>% mutate(Method="GENEIOUS+UNITE")
colnames(guild_qiime2)[1:36]<-names_col
guild_qiime2<- guild_qiime2 %>% rownames_to_column(var = "otu")
guild_single<- read.delim("../Data/table_single.guilds.txt",
check.names = F)%>% filter(
!Guild=="-",! `Confidence Ranking`=="Possible", !Guild=="NULL" ) %>% mutate(Method="MICOP SINGLE")
guild_paired<- read.delim("../Data/table_paired.guilds.txt",
check.names = F)%>% filter(
!Guild=="-",! `Confidence Ranking`=="Possible" ) %>% mutate(Method="MICOP PAIRED")
guilds_fungi<- read.delim("../Data/table_kraken.guilds.txt",
check.names = F, row.names = 1)%>% filter(
!Guild=="-",! `Confidence Ranking`=="Possible" ) %>% mutate(otu=paste0("otu", rownames(.))) %>% select_at(vars(!starts_with("kraken")))
guild_fungi<- read.delim("../Data/table_fungi_again.guilds.txt",
check.names = F, row.names = 1) %>% filter(
!Guild=="-",! `Confidence Ranking`=="Possible" , !Guild=="NULL") %>% mutate(otu=paste0("otu", rownames(.))) %>% column_to_rownames(var = "otu")%>% select_if(is.numeric)%>% t() %>% as.data.frame() %>% rownames_to_column(
var = "id_sequence") %>% separate(
., "id_sequence", c(
"kraken", "fungi", "id_metagenome", "report", "bracken"),
sep = "_") %>% dplyr::select(
-kraken, -fungi, -report, -bracken) %>% full_join(metadata) %>% dplyr::select(-id_sequence:-Names, -id_metagenome) %>% column_to_rownames(var = "SampleID") %>% t() %>% as.data.frame() %>% rownames_to_column(var = "otu") %>% inner_join(guilds_fungi)%>% mutate(Method="KRAKEN2")
relabunda<- function(x){(as.data.frame(t(t(x)/colSums(x)))*100)}
g1<- guild_qiime2 %>% group_by(Guild) %>% summarise_if(
is.numeric, sum) %>% column_to_rownames(
var = "Guild") %>% relabunda(.) %>% rownames_to_column(var = "Guild") %>% mutate(method="GENEIOUS+UNITE") %>% mutate(total = rowMeans(across(where(is.numeric)))) %>% top_n(n = 10, wt = total) %>% dplyr::select(-total)
t1<- guild_qiime2 %>% group_by(`Trophic Mode`) %>% summarise_if(
is.numeric, sum) %>% column_to_rownames(
var = "Trophic Mode") %>% relabunda(.) %>% rownames_to_column(var = "Trophic") %>% mutate(method="GENEIOUS+UNITE")
g2<- guild_single %>% group_by(Guild) %>% summarise_if(
is.numeric, sum) %>% column_to_rownames(
var = "Guild") %>% relabunda(.)%>% rownames_to_column(var = "Guild")%>% mutate(method="SINGLE MICOP")%>% mutate(total = rowMeans(across(where(is.numeric)))) %>% top_n(n = 10, wt = total)%>% dplyr::select(-total)
t2<- guild_single %>% group_by(`Trophic Mode`) %>% summarise_if(
is.numeric, sum) %>% column_to_rownames(
var = "Trophic Mode") %>% relabunda(.)%>% rownames_to_column(var = "Trophic")%>% mutate(method="SINGLE MICOP")
g3<- guild_paired %>% group_by(Guild) %>% summarise_if(
is.numeric, sum) %>% column_to_rownames(
var = "Guild") %>% relabunda(.)%>% rownames_to_column(var = "Guild")%>% mutate(method="PAIRED MICOP")%>% mutate(total = rowMeans(across(where(is.numeric)))) %>% top_n(n = 10, wt = total)%>% dplyr::select(-total)
t3<- guild_paired %>% group_by(`Trophic Mode`) %>% summarise_if(
is.numeric, sum) %>% column_to_rownames(
var = "Trophic Mode") %>% relabunda(.)%>% rownames_to_column(var = "Trophic")%>% mutate(method="PAIRED MICOP")
g4<- guild_fungi %>% group_by(Guild) %>% summarise_if(
is.numeric, sum) %>% column_to_rownames(
var = "Guild") %>% relabunda(.)%>% rownames_to_column(var = "Guild")%>% mutate(method="KRAKEN2")%>% mutate(total = rowMeans(across(where(is.numeric)))) %>% top_n(n = 10, wt = total)%>% dplyr::select(-total)
t4<- guild_fungi %>% group_by(`Trophic Mode`) %>% summarise_if(
is.numeric, sum) %>% column_to_rownames(
var = "Trophic Mode") %>% relabunda(.)%>% rownames_to_column(var = "Trophic")%>% mutate(method="KRAKEN2")
#guild_all<- rbind(guild_qiime2, guild_paired, guild_single, guild_fungi)
guild_all<- g1 %>% full_join(g2) %>% full_join(g3) %>% full_join(g4) %>%
filter(!Guild %in% c("Animal Pathogen-Endophyte-Endosymbiont-Epiphyte-Soil Saprotroph-Undefined Saprotroph", "Animal Pathogen-Soil Saprotroph", "Endophyte-Undefined Saprotroph"))
trophic_all<- t1 %>% full_join(t2) %>% full_join(t3) %>% full_join(t4)bar_data<- guild_all %>% pivot_longer(cols = -c(Guild,method), names_to = "SampleID", values_to = "relab")%>% mutate(Guilds=case_when(
Guild=="Dung Saprotroph-Undefined Saprotroph-Wood Saprotroph"~"Dung Sap.-Undef Sap.-Wood Sap.",
Guild=="Ectomycorrhizal-Fungal Parasite"~"Ectomycorrhizal-Fung.Parasit",
Guild=="Animal Pathogen-Endophyte-Endosymbiont-Epiphyte-Soil Saprotroph-Undefined Saprotroph"~"Animal P-Endoph/symb-Undef. Sap.",
Guild=="Endophyte-Plant Pathogen-Wood Saprotroph"~"Endohpyte-Pathogen-Saprotroph",
Guild=="Animal Pathogen-Endophyte-Epiphyte-Fungal Parasite-Plant Pathogen-Wood Saprotroph"~"Animal-Plant P-Endophyte-Saprotroph",
Guild=="Endophyte-Litter Saprotroph-Soil Saprotroph-Undefined Saprotroph"~"Endophyte-Undefined Saprotrop",
Guild=="Animal Endosymbiont-Animal Pathogen-Plant Pathogen-Undefined Saprotroph"~"Animal-Plant endosymb-P-Undef. Sap.",
Guild=="Endophyte-Plant Pathogen-Undefined Saprotroph"~"Endophyte-Plant Pathogen-Undef. Sap.",
Guild=="Ectomycorrhizal-Undefined Saprotroph"~"Ectomycorrhizal-Undef. Sap.",
Guild=="Animal Pathogen-Fungal Parasite-Undefined Saprotroph"~"Animal P-Fungal Parasite-Undef. Sap.",
Guild=="Fungal Parasite-Plant Pathogen-Plant Saprotroph"~"Fungal Parasite-Plant Path-Plant Sap.",
Guild=="Animal Pathogen-Endophyte-Plant Pathogen-Soil Saprotroph-Wood Saprotroph" ~"Animal Pathogen-Endoph-Plant P-Soil/Wood Sap",
TRUE~as.character(Guild))) %>% filter(relab>1)
#write_csv(bar_data, "bar_data.csv")
# %>% filter(!Guild %in% c("Animal Pathogen-Endophyte-Endosymbiont-Epiphyte-Soil Saprotroph-Undefined Saprotroph", "Dung Saprotroph-Undefined Saprotroph-Wood Saprotroph", "Ectomycorrhizal-Undefined Saprotroph", "Dung Saprotroph-Wood Saprotroph" ))
cols_guild<- bar_data %>% inner_join(guild_colors) %>% arrange(Guilds)
col_guild <- as.character(cols_guild$col)
names(col_guild) <- as.character(cols_guild$Guilds)
bar_data$method <- factor(
bar_data$method,levels = c(
"GENEIOUS+UNITE","SINGLE MICOP","PAIRED MICOP" , "KRAKEN2"))
chose_guild<-unique(cols_guild$Guilds)
barplot_guild<-bar_data%>% filter(Guilds %in% chose_guild ) %>%
filter(!Guilds %in% "Dung Saprotroph") %>%
inner_join(metadata) %>% mutate(
Pol= case_when(
Poligono==1~ "POL 1",
Poligono==2~ "POL 2",
Poligono==3~ "POL 3",
Poligono==4~ "POL 4",
Poligono==5~ "POL 5",
Poligono==6~ "POL 6"),
Site= case_when(
Sitio==1~ "S1",
Sitio==2~ "S2"))%>% ggbarplot(
x = "Sites", y = "relab",add = "mean",
facet.by = "method", fill="Guilds",
position = position_fill()) +facet_nested(
.~method, scales = "free_x")+scale_fill_manual(
name = "Guilds",values =col_guild )+
theme_linedraw()+ylab("Relative abundance")+
xlab("")+theme(legend.text = element_text(face = "plain"))+
# guides(fill = guide_legend(nrow = 30))+
theme(legend.title = element_text(size = 9),
#axis.ticks = element_blank(),
legend.text = element_text(size = 9),
axis.text.x = element_text(size = 10),
legend.key.size = unit(0.6, 'cm'), #change legend key size
legend.key.height = unit(0.45, 'cm'), #change legend key height
legend.key.width = unit(0.5, 'cm'),
strip.text.x = element_text(size = 16),
legend.box = "vertical")+ theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank())bar_data_t<- trophic_all %>% pivot_longer(cols = -c(Trophic,method), names_to = "SampleID", values_to = "relab")#%>% filter(!Trophic %in% c("Pathotroph-Saprotroph-Symbiotroph" ))
bar_data_t$method <- factor(
bar_data_t$method,levels = c(
"GENEIOUS+UNITE","SINGLE MICOP","PAIRED MICOP" , "KRAKEN2"))
cols_trophic<- bar_data_t %>% inner_join(trophic_colors) %>% arrange(Trophic)
chose_trophic<-unique(cols_trophic$Trophic)
col_trophic <- as.character(cols_trophic$col)
names(col_trophic) <- as.character(cols_trophic$Trophic)
barplot_trophic<-bar_data_t%>% #filter(Trophic %in% chose_trophic ) %>%
inner_join(metadata) %>%
mutate(
Pol= case_when(
Poligono==1~ "POL 1",
Poligono==2~ "POL 2",
Poligono==3~ "POL 3",
Poligono==4~ "POL 4",
Poligono==5~ "POL 5",
Poligono==6~ "POL 6"),
Site= case_when(
Sitio==1~ "S1",
Sitio==2~ "S2"))%>% ggbarplot(
x = "Sites", y = "relab",add = "mean",
facet.by = "method", fill="Trophic",
position = position_fill()) +facet_nested(
.~method, scales = "free_x")+scale_fill_manual(
name = "Trophic",values =col_trophic )+
theme_linedraw()+ylab("Relative abundance")+
xlab("")+theme(legend.text = element_text(face = "plain"))+
# guides(fill = guide_legend(nrow = 30))+
theme(legend.title = element_text(size = 9),
#axis.ticks = element_blank(),
legend.text = element_text(size = 9),
axis.text.x = element_text(size = 10),
legend.key.size = unit(0.6, 'cm'), #change legend key size
legend.key.height = unit(0.45, 'cm'), #change legend key height
legend.key.width = unit(0.5, 'cm'),
strip.text.x = element_text(size = 16),
legend.box = "vertical")+ theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank())+xlab("Sites")library(cowplot)
all<- plot_grid(
barplot_guild+theme(legend.text = element_text(size = 8.49), legend.title = element_text(face = "bold")), barplot_trophic+theme(legend.text = element_text(size = 8.5), legend.title = element_text(face = "bold")), nrow = 2, rel_heights = c(1,1))
alllibrary(tidyverse)
library(RColorBrewer)
library(cowplot)
library(broom)
library(geosphere)
library(reshape2)
library(readxl)
library(qiime2R)
source("../Code/functions_betadiv.R")
library(hilldiv)
library(hillR)
metadata<-read_excel("../Data/Metadatos.xlsx") %>% mutate_if(is.numeric, as.factor)
map<-metadata
table_single_micop<- read.delim("../Data/table_micop_single.txt")
table_paired_micop<- read.delim("../Data/table_micop_paired.txt")
table_qiime2<- data.frame(read_qza("../Data/clustered_table_filter.qza")$data,
check.names = F) %>% t() %>% as.data.frame(
) %>% rownames_to_column(
var = "SampleID") %>% separate(
SampleID, c(
"id_metagenome", "R", "unmap", "Paired"),
sep = "_")%>% inner_join(
metadata) %>% dplyr::select(
-id_metagenome:-Paired,
-id_sequence:-id_fisicoq, -Sites,
-Names) %>% column_to_rownames(
var="SampleID") %>% t(
) %>% as.data.frame() %>% mutate_all(as.numeric)
table_fungi<- read.delim("../Data/table_kraken.txt",
row.names = 1, check.names = F) %>% dplyr::select_if(
is.numeric)%>% t() %>% as.data.frame() %>% rownames_to_column(
var = "id_sequence") %>% separate(
., "id_sequence", c(
"kraken", "fungi", "id_metagenome", "report","bracken"),
sep = "_") %>% dplyr::select(
-kraken, -fungi, -report, -bracken) %>% full_join(
metadata) %>% dplyr::select(
-id_sequence:-Transecto, -id_metagenome,
-Sites, -id_new, -Names, -id_fisicoq) %>% column_to_rownames(var = "SampleID") %>% t() %>% as.data.frame() %>% mutate_all(as.numeric)#make a list of tables
otu <- list(table_qiime2, table_single_micop, table_paired_micop, table_fungi)
# matching to map to set same order
otu_match<- lapply(otu, otu.match)
#remove singletons
otu_single<- lapply(otu_match, otu.single)
#Calculate Horn dissimilaties
dist<- lapply(otu_single, beta_div_dist_hill, q=1)
#Normalize for Bray-curtis distance
otu_norm<- lapply(otu_single, otu.norm)
#Calculate Bray-Curtis dissimilarities
dist2<- lapply(otu_norm, beta_div_dist_bray)
# PCoA Horn
pcoa<- lapply(dist, pcoa_all)
pcoa.axes <- lapply(dist, pcoa_axes) #obtain pcoa axes
pcoa.eigval <- lapply(dist, pcoa_eigval) #obtain pcoa eigvalues
# PCoA Bray-curtis
pcoa2 <-lapply(dist2, pcoa_all)
pcoa.axes2 <- lapply(dist2, pcoa_axes) #obtain pcoa axes
pcoa.eigval2 <- lapply(dist2, pcoa_eigval) #obtain pcoa eigvalues#permanova's
set.seed(124)
perm_qiime2<- permanova_beta(dist[[1]], metadata = metadata)
perm_micop_single<- permanova_beta(dist[[2]], metadata = metadata)
perm_micop_paired<- permanova_beta(dist[[3]], metadata = metadata)
perm_fungi<- permanova_beta(dist[[4]], metadata = metadata)
perm_qiime22<- permanova_beta(dist2[[1]], metadata = metadata)
perm_micop_single2<- permanova_beta(dist2[[2]], metadata = metadata)
perm_micop_paired2<- permanova_beta(dist2[[3]], metadata = metadata)
perm_fungi2<- permanova_beta(dist2[[4]], metadata = metadata)
#betadisper
set.seed(125)
permd_qiime2<- permdisp_beta(dist[[1]], metadata = metadata)
permd_micop_single<- permdisp_beta(dist[[2]], metadata = metadata)
permd_micop_paired<- permdisp_beta(dist[[3]], metadata = metadata)
permd_fungi<- permdisp_beta(dist[[4]], metadata = metadata)
permd_qiime22<- permdisp_beta(dist2[[1]], metadata = metadata)
permd_micop_single2<- permdisp_beta(dist2[[2]], metadata = metadata)
permd_micop_paired2<- permdisp_beta(dist2[[3]], metadata = metadata)
permd_fungi2<- permdisp_beta(dist2[[4]], metadata = metadata)qiime2_pcoa <- pcoa_plot(pcoa[[1]])+
#xlab(paste("PCo1 (", pcoa.eigval[[1]]$Eigval[1], "%)", sep = "")) +
#ylab(paste("PCo2 (", pcoa.eigval[[1]]$Eigval[2], "%)", sep = "")) +
ggtitle("GENEIOS+UNITE")+
# xlab("DIM1")+
#ylab("DIM2")+
labs(title = paste("adonis: F = ", signif(perm_qiime2$F[1], 3), ",",
"p-value = ",signif(perm_qiime2$`Pr(>F)`[1], 5),
"\n betadisper: F = ", signif(permd_qiime2$tab$F[1], 2), ",",
"p-value = ",signif(permd_qiime2$tab$`Pr(>F)`[1], 5)))+theme(
legend.text = element_text(size = 20), legend.title = element_text(size = 20),
axis.title = element_text(size = 16),
plot.title = element_text(hjust = 1, size = 12),
legend.key.size = unit(1, "cm"))+ guides(
fill = guide_legend(override.aes = list(size = 8)))
qiime2_pcoa2<- pcoa_plot(pcoa2[[1]])+
#xlab(paste("PCo1 (", pcoa.eigval[[1]]$Eigval[1], "%)", sep = "")) +
#ylab(paste("PCo2 (", pcoa.eigval[[1]]$Eigval[2], "%)", sep = "")) +
ggtitle("GENEIOUS+UNITE")+
#xlab("DIM1")+
#ylab("DIM2")+
labs(title = paste("adonis: F = ", signif(perm_qiime22$F[1], 3), ",",
"p-value = ",signif(perm_qiime22$`Pr(>F)`[1], 5),
"\n betadisper: F = ", signif(permd_qiime22$tab$F[1], 2), ",",
"p-value = ",signif(permd_qiime22$tab$`Pr(>F)`[1], 5)))+theme(
legend.text = element_text(size = 20), legend.title = element_text(size = 20),
axis.title = element_text(size = 16),
plot.title = element_text(hjust = 1, size = 12),
legend.key.size = unit(1, "cm"))+ guides(
fill = guide_legend(override.aes = list(size = 8)))
single_pcoa <- pcoa_plot(pcoa[[2]])+
xlab(paste("DIM1 ", pcoa.eigval[[2]]$Eigval[1], "%", sep = "")) +
ylab(paste("DIM2 ", pcoa.eigval[[2]]$Eigval[2], "%", sep = "")) +
ggtitle("SINGLE MICOP")+
labs(title = paste("adonis: F = ", signif(perm_micop_single$F[1], 3), ",",
"p-value = ",signif(perm_micop_single$`Pr(>F)`[1], 5),
"\n betadisper: F = ", signif(permd_micop_single$tab$F[1], 2), ",",
"p-value = ",signif(permd_micop_single$tab$`Pr(>F)`[1], 5)))+theme(
legend.text = element_text(size = 20), legend.title = element_text(size = 20),
axis.title = element_text(size = 16),
plot.title = element_text(hjust = 1, size = 12),
legend.key.size = unit(2, "cm"))+ guides(
fill = guide_legend(override.aes = list(size = 8)))
single_pcoa2 <- pcoa_plot(pcoa2[[2]])+
xlab(paste("DIM1 ", pcoa.eigval2[[2]]$Eigval[1], "%", sep = "")) +
ylab(paste("DIM2 ", pcoa.eigval2[[2]]$Eigval[2], "%", sep = "")) +
ggtitle("SINGLE MICOP")+
labs(title = paste("adonis: F = ", signif(perm_micop_single2$F[1], 3), ",",
"p-value = ",signif(perm_micop_single2$`Pr(>F)`[1], 5),
"\n betadisper: F = ", signif(permd_micop_single2$tab$F[1], 2), ",",
"p-value = ",signif(permd_micop_single2$tab$`Pr(>F)`[1], 5)))+theme(
legend.text = element_text(size = 20), legend.title = element_text(size = 20),
axis.title = element_text(size = 16),
plot.title = element_text(hjust = 1, size = 12),
legend.key.size = unit(2, "cm"))+ guides(
fill = guide_legend(override.aes = list(size = 8)))
paired_pcoa <- pcoa_plot(pcoa[[3]])+
xlab(paste("DIM1 ", pcoa.eigval[[3]]$Eigval[2], "%", sep = "")) +
ylab(paste("DIM2 ", pcoa.eigval[[3]]$Eigval[3], "%", sep = "")) +
# xlab("DIM1")+
# ylab("DIM2")+
ggtitle("PAIRED MICOP")+
labs(title = paste("adonis: F = ", signif(perm_micop_paired$F[1], 3), ",",
"p-value = ",signif(perm_micop_paired$`Pr(>F)`[1], 5),
"\n betadisper: F = ", signif(permd_micop_paired$tab$F[1], 2), ",",
"p-value = ",signif(permd_micop_paired$tab$`Pr(>F)`[1], 5)))+theme(
legend.text = element_text(size = 20), legend.title = element_text(size = 20),
axis.title = element_text(size = 16),
plot.title = element_text(hjust = 1, size = 12),
legend.key.size = unit(2, "cm"))+ guides(
fill = guide_legend(override.aes = list(size = 8)))
paired_pcoa2 <- pcoa_plot(pcoa2[[3]])+
xlab(paste("DIM1 ", pcoa.eigval2[[3]]$Eigval[1], "%", sep = "")) +
ylab(paste("DIM2 ", pcoa.eigval2[[3]]$Eigval[2], "%", sep = "")) +
# xlab("DIM1")+
#ylab("DIM2")+
ggtitle("PAIRED MICOP")+
labs(title = paste("adonis: F = ", signif(perm_micop_paired2$F[1], 3), ",",
"p-value = ",signif(perm_micop_paired2$`Pr(>F)`[1], 5),
"\n betadisper: F = ", signif(permd_micop_paired2$tab$F[1], 2), ",",
"p-value = ",signif(permd_micop_paired2$tab$`Pr(>F)`[1], 5)))+theme(
legend.text = element_text(size = 20), legend.title = element_text(size = 20),
axis.title = element_text(size = 16),
plot.title = element_text(hjust = 1, size = 12),
legend.key.size = unit(2, "cm"))+ guides(
fill = guide_legend(override.aes = list(size = 8)))
kraken_pcoa <- pcoa_plot(pcoa[[4]])+
# scale_x_continuous(limits = c(-0.01,0.01))+
# scale_y_continuous(limits = c(-0.01,0.01))+
xlab(paste("DIM1 ", pcoa.eigval[[4]]$Eigval[2], "%", sep = "")) +
ylab(paste("DIM2 ", pcoa.eigval[[4]]$Eigval[3], "%", sep = "")) +
ggtitle("KRAKEN2")+
labs(title = paste("adonis: F = ", signif(perm_fungi$F[1], 3), ",",
"p-value = ",signif(perm_fungi$`Pr(>F)`[1], 5),
"\n betadisper: F = ", signif(permd_fungi$tab$F[1], 2), ",",
"p-value = ",signif(permd_fungi$tab$`Pr(>F)`[1], 5)))+theme(
legend.text = element_text(size = 20), legend.title = element_text(size = 20),
axis.title = element_text(size = 16),
plot.title = element_text(hjust = 1, size = 12),
legend.key.size = unit(2, "cm"))+ guides(
fill = guide_legend(override.aes = list(size = 8)))
kraken_pcoa2 <- pcoa_plot(pcoa2[[4]])+
# scale_x_continuous(limits = c(-0.01,0.01))+
# scale_y_continuous(limits = c(-0.01,0.01))+
xlab(paste("DIM1 ", pcoa.eigval2[[4]]$Eigval[2], "%", sep = "")) +
ylab(paste("DIM2 ", pcoa.eigval2[[4]]$Eigval[3], "%", sep = "")) +
ggtitle("KRAKEN2")+
labs(title = paste("adonis: F = ", signif(perm_fungi2$F[1], 3), ",",
"p-value = ",signif(perm_fungi2$`Pr(>F)`[1], 5),
"\n betadisper: F = ", signif(permd_fungi2$tab$F[1], 2), ",",
"p-value = ",signif(permd_fungi2$tab$`Pr(>F)`[1], 5)))+theme(
legend.text = element_text(size = 20), legend.title = element_text(size = 20),
axis.title = element_text(size = 16),
plot.title = element_text(hjust = 1, size = 12),
legend.key.size = unit(2, "cm"))+ guides(
fill = guide_legend(override.aes = list(size = 8)))
leg<- get_legend(qiime2_pcoa)
leg2<- get_legend(qiime2_pcoa2)
first<-plot_grid(qiime2_pcoa+theme(legend.position = "none")+theme(aspect.ratio =6/10),
single_pcoa+theme(legend.position = "none")+theme(aspect.ratio =6/10),
paired_pcoa+theme(legend.position = "none")+theme(aspect.ratio =6/10),
kraken_pcoa+theme(legend.position = "none")+theme(aspect.ratio =6/10),
ncol = 2, nrow = 2, rel_widths = c(1,1,1,1),
align = "v",
labels = c("A) GENEIOUS+UNITE", "B) SINGLE MICOP",
"C) PAIRED MICOP", "D) KRAKEN2"),hjust = 0)
second<-plot_grid(qiime2_pcoa2+theme(legend.position = "none")+theme(aspect.ratio =6/10),
single_pcoa2+theme(legend.position = "none")+theme(aspect.ratio =6/10),
paired_pcoa2+theme(legend.position = "none")+theme(aspect.ratio =6/10),
kraken_pcoa2+theme(legend.position = "none")+theme(aspect.ratio =6/10),
ncol = 2, nrow = 2, rel_widths = c(1,1,1,1),
align = "v",
labels = c("A) GENEIOUS+UNITE", "B) SINGLE MICOP",
"C) PAIRED MICOP", "D) KRAKEN2"),hjust = 0)
pcoas_plot <- plot_grid(first,leg,ncol = 2, rel_widths = c(.9,.1), align = "hv")
pcoas_plotggsave("Figure5_pcoas_plot_horn_nolabels.pdf",width =11, height =7, dpi = 600, plot = pcoas_plot, device = "pdf")
ggsave("FigureS2_pcoas_plot_bray_nolabels.png",width =11, height =7, dpi = 600, plot = pcoas_plot2, device = "png")#partial mantel tests
#environmental data
metadata_secas<- read_excel("../Data/Metadatos.xlsx", sheet = "secas-marzo")
fq_secas<- read_excel("../Data/fisicoq.xlsx", sheet = "seca")
fq_secas2<- read.csv("../Data/fisicoq-la.csv")
meta_fq_secas<- metadata_secas %>% full_join(fq_secas) #%>% select(Sites:id_new,pH, MO, N, P) %>% mutate(Season="Dry")## Joining with `by = join_by(id_new)`
meta_fq_secas_all<- metadata_secas %>% full_join(fq_secas) %>% full_join(fq_secas2, by = "SampleID")## Joining with `by = join_by(id_new)`
env.16S=meta_fq_secas_all
df<- env.16S%>% dplyr::select(SampleID, pH:Mn, moisture, WHC:CONDUC, ARCILLA:ARENA)
dfs=data.frame(df[1],scale(df[,2:17], center = T, scale = T)) %>% dplyr::select(
SampleID,P,K,Ca,Mg,moisture,WHC, LIMO) %>%
column_to_rownames(var = "SampleID")
envs_dist<- dist(dfs, method = "euclidean")
#vegetation data
veg=read.delim("../Data/vegeta.tsv")
veg_dist<- dist(veg, method = "euclidean")## Warning in dist(veg, method = "euclidean"): NAs introducidos por coerción
## Rows: 36 Columns: 9
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (3): place, Names, Type
## dbl (6): pol, Sitio, Transecto, Latitude, Longitude, Site
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
coords_mat<- coords%>% mutate(P=paste0("P",pol),
S=paste0("S", Sitio),
T=paste0("T", Transecto)
) %>% unite(
"SampleID",
P:T, sep = "") %>% select(
SampleID, Longitude, Latitude) %>% column_to_rownames(var = "SampleID") %>% as.matrix()
distance<- distm(coords_mat)/1000
colnames(distance)<- rownames(coords_mat)
rownames(distance)<- rownames(coords_mat)
distance_complete<- distance# partial mantel tests horn
set.seed(124)
mantel.partial(dist[[1]], envs_dist, distance_complete, method = "spearman")##
## Partial Mantel statistic based on Spearman's rank correlation rho
##
## Call:
## mantel.partial(xdis = dist[[1]], ydis = envs_dist, zdis = distance_complete, method = "spearman")
##
## Mantel statistic r: 0.2606
## Significance: 0.003
##
## Upper quantiles of permutations (null model):
## 90% 95% 97.5% 99%
## 0.113 0.147 0.172 0.199
## Permutation: free
## Number of permutations: 999
##
## Partial Mantel statistic based on Spearman's rank correlation rho
##
## Call:
## mantel.partial(xdis = dist[[1]], ydis = veg_dist, zdis = distance_complete, method = "spearman")
##
## Mantel statistic r: -0.06996
## Significance: 0.744
##
## Upper quantiles of permutations (null model):
## 90% 95% 97.5% 99%
## 0.129 0.168 0.195 0.253
## Permutation: free
## Number of permutations: 999
##
## Partial Mantel statistic based on Spearman's rank correlation rho
##
## Call:
## mantel.partial(xdis = dist[[2]], ydis = envs_dist, zdis = distance_complete, method = "spearman")
##
## Mantel statistic r: 0.1825
## Significance: 0.032
##
## Upper quantiles of permutations (null model):
## 90% 95% 97.5% 99%
## 0.120 0.160 0.194 0.234
## Permutation: free
## Number of permutations: 999
##
## Partial Mantel statistic based on Spearman's rank correlation rho
##
## Call:
## mantel.partial(xdis = dist[[2]], ydis = veg_dist, zdis = distance_complete, method = "spearman")
##
## Mantel statistic r: 0.1404
## Significance: 0.11
##
## Upper quantiles of permutations (null model):
## 90% 95% 97.5% 99%
## 0.145 0.198 0.227 0.271
## Permutation: free
## Number of permutations: 999
##
## Partial Mantel statistic based on Spearman's rank correlation rho
##
## Call:
## mantel.partial(xdis = dist[[3]], ydis = envs_dist, zdis = distance_complete, method = "spearman")
##
## Mantel statistic r: 0.1124
## Significance: 0.1
##
## Upper quantiles of permutations (null model):
## 90% 95% 97.5% 99%
## 0.110 0.145 0.183 0.210
## Permutation: free
## Number of permutations: 999
##
## Partial Mantel statistic based on Spearman's rank correlation rho
##
## Call:
## mantel.partial(xdis = dist[[3]], ydis = veg_dist, zdis = distance_complete, method = "spearman")
##
## Mantel statistic r: -0.08663
## Significance: 0.799
##
## Upper quantiles of permutations (null model):
## 90% 95% 97.5% 99%
## 0.118 0.151 0.194 0.234
## Permutation: free
## Number of permutations: 999
##
## Partial Mantel statistic based on Spearman's rank correlation rho
##
## Call:
## mantel.partial(xdis = dist[[4]], ydis = envs_dist, zdis = distance_complete, method = "spearman")
##
## Mantel statistic r: 0.1922
## Significance: 0.008
##
## Upper quantiles of permutations (null model):
## 90% 95% 97.5% 99%
## 0.107 0.135 0.160 0.178
## Permutation: free
## Number of permutations: 999
##
## Partial Mantel statistic based on Spearman's rank correlation rho
##
## Call:
## mantel.partial(xdis = dist[[4]], ydis = veg_dist, zdis = distance_complete, method = "spearman")
##
## Mantel statistic r: 0.1174
## Significance: 0.084
##
## Upper quantiles of permutations (null model):
## 90% 95% 97.5% 99%
## 0.105 0.148 0.175 0.229
## Permutation: free
## Number of permutations: 999
# partial mantel tests bray
mantel.partial(dist2[[1]], envs_dist, distance_complete, method = "spearman")##
## Partial Mantel statistic based on Spearman's rank correlation rho
##
## Call:
## mantel.partial(xdis = dist2[[1]], ydis = envs_dist, zdis = distance_complete, method = "spearman")
##
## Mantel statistic r: 0.28
## Significance: 0.001
##
## Upper quantiles of permutations (null model):
## 90% 95% 97.5% 99%
## 0.104 0.140 0.163 0.204
## Permutation: free
## Number of permutations: 999
##
## Partial Mantel statistic based on Spearman's rank correlation rho
##
## Call:
## mantel.partial(xdis = dist2[[1]], ydis = veg_dist, zdis = distance_complete, method = "spearman")
##
## Mantel statistic r: -0.03832
## Significance: 0.627
##
## Upper quantiles of permutations (null model):
## 90% 95% 97.5% 99%
## 0.118 0.151 0.185 0.221
## Permutation: free
## Number of permutations: 999
##
## Partial Mantel statistic based on Spearman's rank correlation rho
##
## Call:
## mantel.partial(xdis = dist2[[2]], ydis = envs_dist, zdis = distance_complete, method = "spearman")
##
## Mantel statistic r: 0.2034
## Significance: 0.013
##
## Upper quantiles of permutations (null model):
## 90% 95% 97.5% 99%
## 0.123 0.158 0.177 0.206
## Permutation: free
## Number of permutations: 999
##
## Partial Mantel statistic based on Spearman's rank correlation rho
##
## Call:
## mantel.partial(xdis = dist2[[2]], ydis = veg_dist, zdis = distance_complete, method = "spearman")
##
## Mantel statistic r: 0.0561
## Significance: 0.283
##
## Upper quantiles of permutations (null model):
## 90% 95% 97.5% 99%
## 0.137 0.180 0.208 0.244
## Permutation: free
## Number of permutations: 999
##
## Partial Mantel statistic based on Spearman's rank correlation rho
##
## Call:
## mantel.partial(xdis = dist2[[3]], ydis = envs_dist, zdis = distance_complete, method = "spearman")
##
## Mantel statistic r: 0.1642
## Significance: 0.049
##
## Upper quantiles of permutations (null model):
## 90% 95% 97.5% 99%
## 0.129 0.162 0.185 0.221
## Permutation: free
## Number of permutations: 999
##
## Partial Mantel statistic based on Spearman's rank correlation rho
##
## Call:
## mantel.partial(xdis = dist2[[3]], ydis = veg_dist, zdis = distance_complete, method = "spearman")
##
## Mantel statistic r: -0.09898
## Significance: 0.814
##
## Upper quantiles of permutations (null model):
## 90% 95% 97.5% 99%
## 0.135 0.185 0.221 0.249
## Permutation: free
## Number of permutations: 999
##
## Partial Mantel statistic based on Spearman's rank correlation rho
##
## Call:
## mantel.partial(xdis = dist2[[4]], ydis = envs_dist, zdis = distance_complete, method = "spearman")
##
## Mantel statistic r: 0.1968
## Significance: 0.008
##
## Upper quantiles of permutations (null model):
## 90% 95% 97.5% 99%
## 0.0996 0.1323 0.1552 0.1900
## Permutation: free
## Number of permutations: 999
##
## Partial Mantel statistic based on Spearman's rank correlation rho
##
## Call:
## mantel.partial(xdis = dist2[[4]], ydis = veg_dist, zdis = distance_complete, method = "spearman")
##
## Mantel statistic r: 0.1784
## Significance: 0.024
##
## Upper quantiles of permutations (null model):
## 90% 95% 97.5% 99%
## 0.113 0.144 0.173 0.216
## Permutation: free
## Number of permutations: 999
library(tidyverse)
library(RColorBrewer)
library(cowplot)
library(broom)
library(geosphere)
library(reshape2)
library(readxl)
library(qiime2R)
source("../Code/functions_betadiv.R")Calculating distances between points
coords<- read_csv("../Data/coord.csv")
coords_mat<- coords%>% mutate(P=paste0("P",pol),
S=paste0("S", Sitio),
T=paste0("T", Transecto)) %>% unite("SampleID",
P:T, sep = "") %>% dplyr::select(
SampleID, Longitude, Latitude) %>% column_to_rownames(
var = "SampleID") %>% as.matrix()
distance<- distm(coords_mat)/1000
colnames(distance)<- rownames(coords_mat)
rownames(distance)<- rownames(coords_mat)
distance_complete<- distance
distance[upper.tri(distance)] <- NA
distance_dm<-melt(as.matrix(distance), varnames = c(
"SampleID.x", "SampleID.y")) %>% drop_na() %>% filter(!value==0)Loading data of fungi and metadata
map<- read.csv("../Data/coord.csv") %>% mutate_at(
c(1,2,3,7), as.factor) %>% mutate(SampleID= paste0("P",pol, "S", Sitio,"T", Transecto ))
metadata<-read_excel("../Data/Metadatos.xlsx") %>% mutate_if(is.numeric, as.factor)
table_single_micop<- read.delim("../Data/table_micop_single.txt")
table_paired_micop<- read.delim("../Data/table_micop_paired.txt")
table_qiime2<- data.frame(read_qza("../Data/clustered_table_filter.qza")$data,
check.names = F) %>% t() %>% as.data.frame(
) %>% rownames_to_column(
var = "SampleID") %>% separate(
SampleID, c(
"id_metagenome", "R", "unmap", "Paired"),
sep = "_")%>% inner_join(
metadata) %>% dplyr::select(
-id_metagenome:-Paired,
-id_sequence:-id_fisicoq, -Sites,
-Names) %>% column_to_rownames(
var="SampleID") %>% t(
) %>% as.data.frame() %>% mutate_all(as.numeric)
table_fungi<- read.delim("../Data/table_kraken.txt",
row.names = 1, check.names = F) %>% dplyr::select_if( is.numeric)%>% t() %>% as.data.frame() %>% rownames_to_column(
var = "id_sequence") %>% separate(
., "id_sequence", c("kraken", "fungi", "id_metagenome", "report", "bracken"), sep = "_") %>% dplyr::select(-kraken, -fungi, -report, -bracken) %>% full_join( metadata) %>% dplyr::select(-id_sequence:-Transecto, -id_metagenome, -Sites, -id_new, -Names, -id_fisicoq) %>% column_to_rownames( var = "SampleID") %>% t() %>% as.data.frame() %>% mutate_all(as.numeric)Formatting data as lists and applying functions of beta diversity
set.seed(12343)
otu <- list(table_qiime2, table_single_micop, table_paired_micop, table_fungi)
otu_match<- lapply(otu, otu.match) # matching to map
otu_single<- lapply(otu_match, otu.single) #remove singletons
otu_norm<- lapply(otu_single, otu.norm)#Normalize
bc.dist<- lapply(otu_norm, beta_div_dist_bray)#Calculate Bray-Curtis dissimilarities
bc.dist2<- lapply(otu_single, beta_div_dist_hill, q=1)#Calculate Horn dissimilarities
bc.dist.tidy.filt<- lapply(bc.dist, bc.dist.tidy.filter)
bc.dist.tidy.filt2<- lapply(bc.dist2, bc.dist.tidy.filter.hill)
cor_test<- lapply(bc.dist.tidy.filt, cor.b)
lm_test<- lapply(bc.dist.tidy.filt, lm.b)
distances=list(distance_complete, distance_complete, distance_complete, distance_complete)
mantel_test = mapply(mantel.b, bc.dist, distances, SIMPLIFY = FALSE)
cor_test2<- lapply(bc.dist.tidy.filt2, cor.b)
lm_test2<- lapply(bc.dist.tidy.filt2, lm.b)
mantel_test2 = mapply(mantel.b, bc.dist2,distances, SIMPLIFY = FALSE)
stats_qiime2 <- data.frame(
label = paste0("Mantel: r = ",signif(mantel_test[[1]]$statistic,3),
", p-value = ", signif(mantel_test[[1]]$signif, 3), "\nRegression: slope = ", signif(lm_test[[1]]$estimate, 3)))
stats_single <- data.frame(
label = paste0("Mantel: r = ", signif(mantel_test[[2]]$statistic,3),
", p-value = ", signif(mantel_test[[2]]$signif, 3),
"\nRegression: slope = ", signif(lm_test[[2]]$estimate, 3)))
stats_paired <- data.frame(
label = paste0("Mantel: r = ", signif(mantel_test[[3]]$statistic,3),
", p-value = ", signif(mantel_test[[3]]$signif, 3),
"\nRegression: slope = ", signif(lm_test[[3]]$estimate, 3)))
stats_kraken <- data.frame(
label = paste0("Mantel: r = ", signif(mantel_test[[4]]$statistic,3),
", p-value = ", signif(mantel_test[[4]]$signif, 3),
"\nRegression: slope = ", signif(lm_test[[4]]$estimate, 3)))
stats_qiime22 <- data.frame(
label = paste0("Mantel: r = ",signif(mantel_test2[[1]]$statistic,3),
", p-value = ", signif(mantel_test2[[1]]$signif, 3), "\nRegression: slope = ", signif(lm_test2[[1]]$estimate, 3)))
stats_single2 <- data.frame(
label = paste0("Mantel: r = ", signif(mantel_test2[[2]]$statistic,3),
", p-value = ", signif(mantel_test2[[2]]$signif, 3),
"\nRegression: slope = ", signif(lm_test2[[2]]$estimate, 3)))
stats_paired2 <- data.frame(
label = paste0("Mantel: r = ", signif(mantel_test2[[3]]$statistic,3),
", p-value = ", signif(mantel_test2[[3]]$signif, 3),
"\nRegression: slope = ", signif(lm_test2[[3]]$estimate, 3)))
stats_kraken2 <- data.frame(
label = paste0("Mantel: r = ", signif(mantel_test2[[4]]$statistic,3),
", p-value = ", signif(mantel_test2[[4]]$signif, 3),
"\nRegression: slope = ", signif(lm_test2[[4]]$estimate, 3)))max.sim<-1
qiime2_data<- bc.dist.tidy.filt[[1]] %>% mutate(Method="GENEIOUS+UNITE")
single_data<- bc.dist.tidy.filt[[2]] %>% mutate(Method="MICOP SINGLE")
paired_data<- bc.dist.tidy.filt[[3]] %>% mutate(Method="MICOP PAIRED")
kraken_data<- bc.dist.tidy.filt[[4]] %>% mutate(Method="KRAKEN2")
qiime2_data2<- bc.dist.tidy.filt2[[1]] %>% mutate(Method="GENEIOUS+UNITE")
single_data2<- bc.dist.tidy.filt2[[2]] %>% mutate(Method="MICOP SINGLE")
paired_data2<- bc.dist.tidy.filt2[[3]] %>% mutate(Method="MICOP PAIRED")
kraken_data2<- bc.dist.tidy.filt2[[4]] %>% mutate(Method="KRAKEN2")
joined_data<- rbind(qiime2_data, single_data, paired_data, kraken_data )
joined_data2<- rbind(qiime2_data2, single_data2, paired_data2, kraken_data2 )
joined_data$Method<- factor(joined_data$Method, levels = c(
"GENEIOUS+UNITE", "MICOP SINGLE", "MICOP PAIRED", "KRAKEN2"))
joined_data2$Method<- factor(joined_data2$Method, levels = c(
"GENEIOUS+UNITE", "MICOP SINGLE", "MICOP PAIRED", "KRAKEN2"))
ann_text<-data.frame(SpatialDistance=c( 30,30,30,30),
Similarity=c(0.8,0.3,0.3,0.3),
Distances=c("Spatial Distance (km)",
"Spatial Distance (km)",
"Spatial Distance (km)",
"Spatial Distance (km)"),
Method=c("GENEIOUS+UNITE", "MICOP SINGLE", "MICOP PAIRED", "KRAKEN2"),
label=c(stats_qiime2$label,
stats_single$label,
stats_paired$label,
stats_kraken$label))
ann_text2<-data.frame(SpatialDistance=c( 30,30,30,30),
Similarity=c(0.8,0.3,0.3,0.3),
Distances=c("Spatial Distance (km)",
"Spatial Distance (km)",
"Spatial Distance (km)",
"Spatial Distance (km)"),
Method=c("GENEIOUS+UNITE", "MICOP SINGLE", "MICOP PAIRED", "KRAKEN2"),
label=c(stats_qiime22$label,
stats_single2$label,
stats_paired2$label,
stats_kraken2$label))
ann_text$Method<- factor(ann_text$Method, levels = c(
"GENEIOUS+UNITE", "MICOP SINGLE", "MICOP PAIRED", "KRAKEN2"))
ann_text$Distances<- factor(ann_text$Distances,
levels = c("Spatial Distance (km)",
"Environmental Distance",
"Vegetation Distance"))
ann_text2$Method<- factor(ann_text2$Method, levels = c(
"GENEIOUS+UNITE", "MICOP SINGLE", "MICOP PAIRED", "KRAKEN2"))
ann_text2$Distances<- factor(ann_text2$Distances,
levels = c("Spatial Distance (km)",
"Environmental Distance",
"Vegetation Distance"))
d1<-joined_data %>% ggplot(aes(x = SpatialDistance, y =Similarity ))+
facet_grid(vars(Method), scales = "free_x")+
geom_point(shape = 16, size = 1, alpha = 0.5, color = "#566573") +
geom_smooth(method = "lm", color = "black", se = F) +
ylab("Bray-curtis similarity") +
ylim(.2, max.sim) +
theme_linedraw()+theme(legend.position = "none",
axis.text = element_text(size = 12),
strip.text = element_text(size = 12, face = "bold.italic"),
panel.grid.major = element_line(size = 0.5,
linetype = 'solid',
colour = "#E5E8E8"),
panel.grid.minor = element_line(size = 0.25,
linetype = 'solid',
colour = "#E5E8E8")) +
geom_text(data = ann_text,label=ann_text$label, size=3)+xlab("Spatial Distance")
d2<-joined_data2 %>% ggplot(aes(x = SpatialDistance, y =Similarity ))+
facet_grid(vars(Method), scales = "free_x")+
geom_point(shape = 16, size = 1, alpha = 0.5, color = "#566573") +
geom_smooth(method = "lm", color = "black", se = F) +
ylab("Horn similarity") +
ylim(.2, max.sim) +
theme_linedraw()+theme(legend.position = "none",
axis.text = element_text(size = 12),
strip.text = element_text(size = 12, face = "bold.italic"),
panel.grid.major = element_line(size = 0.5,
linetype = 'solid',
colour = "#E5E8E8"),
panel.grid.minor = element_line(size = 0.25,
linetype = 'solid',
colour = "#E5E8E8")) +
geom_text(data = ann_text2,label=ann_text2$label, size=3)+xlab("Spatial Distance")
d1;d2## [1] "C:/Users/HP/Documents/corredor_scripts/Fungal_Communities_PNIP_PNML/Scripts"
veget<- read_excel("../Data/vegetacion.xlsx") %>% dplyr::select(
-DAP, -CopaNS, -CopaEW,-volumenamdera, -distanciacopas, -diamcopa, -basal_area )
veget2<- veget %>% mutate(SampleID=case_when(
SampleID=="P6S1T1" ~"P6S2T1",
SampleID=="P6S1T2" ~"P6S2T2",
SampleID=="P6S1T3" ~"P6S2T3",
SampleID=="P6S2T1" ~"P6S1T1",
SampleID=="P6S2T2" ~"P6S1T2",
SampleID=="P6S2T3" ~"P6S1T3",
TRUE~as.character(SampleID)))
metadata_secas<- read_excel("../Data/Metadatos.xlsx", sheet = "secas-marzo")
metadata<- read_excel("../Data/Metadatos.xlsx", sheet = "secas-marzo")
#declare data
veg<-veget2%>% separate(
Especie, c("Genus", "Specie"), remove =F ) %>% mutate(
Genus=case_when(
Genus=="Quecus"~ "Quercus",
TRUE ~ as.character(Genus))) %>% mutate(
Type=case_when(
Genus=="Pinus"~ "Conifer",
Genus=="Abies"~ "Conifer",
Genus=="Juniperus"~ "Conifer",
Genus=="Quercus"~ "Broadleaf",
Genus=="Alnus"~ "Broadleaf",
Genus=="Prunus"~ "Broadleaf",
Genus=="Salix"~ "Broadleaf",
Genus=="Arbutus"~ "Broadleaf") ) %>% mutate(
Dominante=case_when(
Genus=="Quercus"~ "Broadleaf",
Genus=="Arbutus"~ "other Broadleaf",
Genus=="Pinus"~ "Pinus",
Genus=="Abies"~ "Abies",
Genus=="Juniperus"~ "other Conifer",
Genus=="Alnus"~ "other Broadleaf",
Genus=="Alnus"~ "other Broadleaf",
Genus=="Prunus"~ "other Broadleaf",
Genus=="Salix"~ "other Broadleaf") )
##proportions
prop_n<-veg %>% group_by(SampleID,Type) %>% dplyr::count()
prop_total<- veg %>% group_by(SampleID) %>% dplyr::count() %>% dplyr::rename(total=n)
prop<- prop_n %>% inner_join(prop_total)%>% mutate(
prop=n/total*100)%>% dplyr::select(-n,-total) %>% pivot_wider(
. , names_from = "Type", values_from = "prop") %>% mutate_if(
is.numeric, ~round(.,digits = 2)) %>% mutate_if(
is.numeric, ~replace(., is.na(.), 0)) %>% dplyr::rename(prop_Conif="Conifer",prop_Broadleaf="Broadleaf")
prop_n<-veg %>% group_by(SampleID,Genus) %>% dplyr::count()
prop_total<- veg %>% group_by(SampleID) %>% dplyr::count() %>% dplyr::rename(total=n)
prop_gen<- prop_n %>% inner_join(prop_total)%>% mutate(
prop=n/total*100)%>% dplyr::select(-n,-total) %>% pivot_wider(
. , names_from = "Genus", values_from = "prop") %>% mutate_if(
is.numeric, ~round(.,digits = 2)) %>% mutate_if(
is.numeric, ~replace(., is.na(.), 0))%>%
rename_with(~str_c("prop_", .), .cols = -SampleID)
data_prop <- prop %>% inner_join(prop_gen) %>% column_to_rownames(
var = "SampleID")
plot_prop<-prop %>% pivot_longer(
cols = -SampleID, names_to = "type", values_to = "prop") %>% inner_join(
metadata ) %>% ggbarplot(
x = "Sites", y = "prop", fill="type", add = "mean")+
theme_linedraw()+ylab("Proportion (%)")+
xlab("Sites")+theme(legend.text = element_text(face = "plain"))+
# guides(fill = guide_legend(nrow = 30))+
theme(legend.title = element_text(size = 9),
#axis.ticks = element_blank(),
legend.text = element_text(size = 9),
axis.text.x = element_text(size = 10),
legend.key.size = unit(0.6, 'cm'), #change legend key size
legend.key.height = unit(0.45, 'cm'), #change legend key height
legend.key.width = unit(0.5, 'cm'),
strip.text.x = element_text(size = 16),
legend.box = "vertical")+ scale_fill_manual(name = "Type of \nvegetation",
labels = c("Broadleaf", "Conifers"),
values = c("#ba4a00","#0b5345"))
plot_prop_gen<-prop_gen %>% pivot_longer(
cols = -SampleID, names_to = "type", values_to = "prop") %>% inner_join(
metadata ) %>% ggbarplot(
x = "Sites", y = "prop", fill="type", add = "mean")+
theme_linedraw()+ylab("Proportion (%)")+
xlab("Sites")+theme(legend.text = element_text(face = "plain"))+
# guides(fill = guide_legend(nrow = 30))+
theme(legend.title = element_text(size = 9),
#axis.ticks = element_blank(),
legend.text = element_text(size = 9),
axis.text.x = element_text(size = 10),
legend.key.size = unit(0.6, 'cm'), #change legend key size
legend.key.height = unit(0.45, 'cm'), #change legend key height
legend.key.width = unit(0.5, 'cm'),
strip.text.x = element_text(size = 16),
legend.box = "vertical")+ scale_fill_manual(
name = "Genera",
labels = c("Abies", "Alnus", "Arbutus",
"Juniperus", "Pinus", "Prunus",
"Quercus", "Salix"),
values = c ("#229954", "#d35400", "#ca6f1e",
"#58d68d", "#0b5345", "#800000",
"#e59866", "#924d42"))+theme(legend.text = element_text(face = "italic"))
library(cowplot)
all<-plot_grid(plot_prop+theme(
axis.text.x = element_blank(), axis.title.x = element_blank(),
axis.ticks.x = element_blank(),
plot.margin = unit(c(0.2, 0.2, 0, 0.2), "cm")),
plot_prop_gen+ theme(plot.margin = unit(c(0, 0.2, 0.1, 0.2), "cm")), ncol = 1, labels = c("A)", "B)"), label_x = -0.01)
all#pca
envschose<-c( "K", "Ca", "Mg", "P", "WHC","moisture" ,"Silt", "Fe", "pH", "Cu", "Clay", "N", "OM")
metadata_secas<- read_excel("../Data/Metadatos.xlsx", sheet = "secas-marzo")
fq_secas<- read_excel("../Data/fisicoq.xlsx", sheet = "seca")
fq_secas2<- read.csv("../Data/fisicoq-la.csv")
meta_fq_secas<- metadata_secas %>% full_join(fq_secas) #%>% select(Sites:id_new,pH, MO, N, P) %>% mutate(Season="Dry")
meta_fq_secas_all<- metadata_secas %>% full_join(fq_secas) %>% full_join(fq_secas2, by = "SampleID")
env.16S=meta_fq_secas_all
df<- env.16S %>% dplyr::rename(Silt=LIMO, Clay=ARCILLA, Sand=ARENA, OM=MO) %>% dplyr::select(SampleID,envschose)
dfs=data.frame(df[1],scale(df[,2:14], center = T, scale = T)) %>% dplyr::select(
SampleID,envschose) %>%
column_to_rownames(var = "SampleID")
#pca environmental
pca_env<- prcomp(dfs, center = F, scale. = F)
#biplot(pca_env)
metadatas_env<- as.data.frame(pca_env$x) %>% rownames_to_column(var = "SampleID") %>%
inner_join(metadata)
y<-ggordiplots::gg_ordiplot(pca_env, metadatas_env$Sites, hull = FALSE,
spiders = TRUE, ellipse = FALSE, pt.size = 4,
plot =FALSE, label = FALSE)
z <- y$plot
a<-z+geom_label(
data = y$df_mean.ord,
aes(x = x, y = y, label=Group),
label.padding = unit(0.15, "lines"),label.size = 0.4,
)+guides(
color=guide_legend(title="Sites"))+theme_linedraw() +
geom_vline(xintercept = 0, linetype = 2) + #lines-cross
geom_hline(yintercept = 0, linetype = 2) +
theme_linedraw()+
scale_fill_viridis_d(option ="turbo", name="Sites")+#color of points
scale_color_viridis_d(option ="turbo" )+#color of points
theme(axis.text = element_text(colour = "black", size = 12),
axis.title = element_text(colour = "black", size = 12),
legend.text = element_text(size = 10),
legend.title = element_text(size = 12),
legend.position = "right",
legend.box = "vertical",
panel.grid.major = element_blank(),
panel.grid.minor = element_blank())+
ggrepel::geom_label_repel(data=data.frame(pca_env$rotation) %>% #arrows
rownames_to_column(var = "Feature.ID")%>%
slice(-6) %>%
mutate(a=sqrt(PC1^2+PC2^2)) %>%
mutate(PC1=PC1*8, PC2=PC2*8),
aes(x=PC1, y=PC2, label=Feature.ID ),
segment.colour = NA, col = 'red',
fill= "#EEEEEE",
fontface="bold.italic", size=5) +theme(
legend.position = "right") +
guides(color = guide_legend(nrow =2 , title = "Sites"))+theme(
legend.text = element_text(size = 12), legend.title = element_text(size = 14),
axis.title = element_text(size = 16),
plot.title = element_text(hjust = 1, size = 12))+
guides(color = guide_legend(ncol = 1, title = "Sites"))
alibrary(reshape2)
library(tidyverse)
library(picante)
library(Rmisc)
library(readxl)
source("../Code/functions_beta.R")metadata_secas<- read_excel("../Data/Metadatos.xlsx", sheet = "secas-marzo")
fq_secas<- read_excel("../Data/fisicoq.xlsx", sheet = "seca")
fq_secas2<- read.csv("../Data/fisicoq-la.csv")
meta_fq_secas<- metadata_secas %>% full_join(fq_secas)
meta_fq_secas_all<- metadata_secas %>% full_join(
fq_secas) %>% full_join(fq_secas2, by = "SampleID")
env=meta_fq_secas_all
#standardize environmental data
df<- env%>% dplyr::select(
SampleID, pH:Mn, moisture, WHC:CONDUC, ARCILLA:ARENA) %>% column_to_rownames(var = "SampleID")
#df<-df[-1]
df<- df %>% dplyr::select(-CONDUC, -ARENA, -Mn) #selectig r<0.7
dfs=data.frame(scale(df[,1:13], center = T, scale = T))
#dfs$Sites<-NA
#dfs$Sites<- df$Sites
# checking collinearity
#cotable<-cor.table(na.omit(dfs[,1:7]))$r
cors<- dfs %>% dplyr::rename(Humidity=moisture, Silt=LIMO,OM=MO,
Clay=ARCILLA) %>% dplyr::select(-Humidity)
corss<- cor(cors, method = "pearson")map<- read.csv("../Data/coord.csv") %>% mutate_at(
c(1,2,3,7), as.factor) %>% mutate(SampleID= paste0("P",pol, "S", Sitio,"T", Transecto ))
metadata<-read_excel("../Data/Metadatos.xlsx") %>% mutate_if(is.numeric, as.factor)
veget<- read_excel("../Data/vegetacion.xlsx") %>% dplyr::select(
-DAP, -CopaNS, -CopaEW,-volumenamdera, -distanciacopas, -diamcopa, -basal_area )
#declare data
veg<-veget %>% separate(
Especie, c("Genus", "Specie"), remove =F ) %>% mutate(
Genus=case_when(
Genus=="Quecus"~ "Quercus",
TRUE ~ as.character(Genus))) %>% mutate(
Type=case_when(
Genus=="Pinus"~ "Conifer",
Genus=="Abies"~ "Conifer",
Genus=="Juniperus"~ "Conifer",
Genus=="Quercus"~ "Broadleaf",
Genus=="Alnus"~ "Broadleaf",
Genus=="Prunus"~ "Broadleaf",
Genus=="Salix"~ "Broadleaf",
Genus=="Arbutus"~ "Broadleaf") ) %>% mutate(
Dominante=case_when(
Genus=="Quercus"~ "Broadleaf",
Genus=="Arbutus"~ "other Broadleaf",
Genus=="Pinus"~ "Pinus",
Genus=="Abies"~ "Abies",
Genus=="Juniperus"~ "other Conifer",
Genus=="Alnus"~ "other Broadleaf",
Genus=="Alnus"~ "other Broadleaf",
Genus=="Prunus"~ "other Broadleaf",
Genus=="Salix"~ "other Broadleaf") )
##proportions
prop_n<-veg %>% group_by(SampleID,Type) %>% dplyr::count()
prop_total<- veg %>% group_by(SampleID) %>% dplyr::count() %>% dplyr::rename(total=n)
prop<- prop_n %>% inner_join(prop_total)%>% mutate(
prop=n/total*100)%>% dplyr::select(-n,-total) %>% pivot_wider(
. , names_from = "Type", values_from = "prop") %>% mutate_if(
is.numeric, ~round(.,digits = 2)) %>% mutate_if(
is.numeric, ~replace(., is.na(.), 0)) %>% dplyr::rename(prop_Conif="Conifer",prop_Broadleaf="Broadleaf")
prop_n<-veg %>% group_by(SampleID,Genus) %>% dplyr::count()
prop_total<- veg %>% group_by(SampleID) %>% dplyr::count() %>% dplyr::rename(total=n)
prop_gen<- prop_n %>% inner_join(prop_total)%>% mutate(
prop=n/total*100)%>% dplyr::select(-n,-total) %>% pivot_wider(
. , names_from = "Genus", values_from = "prop") %>% mutate_if(
is.numeric, ~round(.,digits = 2)) %>% mutate_if(
is.numeric, ~replace(., is.na(.), 0))%>%
rename_with(~str_c("prop_", .), .cols = -SampleID)
# mean data
means<-veg %>% group_by(SampleID) %>% summarise_if(is.numeric, ~mean(., na.rm = TRUE))%>%
rename_with(~str_c("total_mean_", .), .cols = -SampleID)
veg_group<- veg %>% group_by(SampleID,Genus)%>% summarise_if( is.numeric, ~mean(., na.rm = TRUE)) %>% dplyr::select(-Sites) #%>% column_to_rownames(var = "SampleID")
means_genus<-function(y){veg_group %>% dplyr::select(
SampleID, Genus,y) %>% pivot_wider(
. , names_from = "Genus", values_from = y) %>% mutate_if(
is.numeric, ~round(.,digits = 2)) %>% mutate_if(
is.numeric, ~replace(., is.na(.), 0))%>%
rename_with(~str_c(paste0("mean_",y, "_"), .), .cols = -SampleID)}
vect<-c( "Height", "coverage" )
mean.list.genus <- vector("list")
for(i in vect) {
mean.list.genus [[i]] <- means_genus(y = i)
}
mean.df.genus<- mean.list.genus [[1]] %>% inner_join(
mean.list.genus [[2]])
data_prop <- prop %>% inner_join(prop_gen) %>% column_to_rownames(
var = "SampleID")
data_veg_mean<- means %>% inner_join(mean.df.genus) %>% dplyr::select_at(
vars(-contains("sites"))) %>% dplyr::select_at(vars(-contains("volumen")))%>% column_to_rownames(
var = "SampleID")
data_propt<- data_prop %>% log_norm() #%>% as.matrix() %>%scale(scale = T, center = T)
vegeta= merge(data_propt, data_veg_mean, by=0)%>%dplyr::rename(
SampleID="Row.names") %>% column_to_rownames(
var = "SampleID") %>% as.matrix() %>%scale(
scale = T, center = T) %>% as.data.frame() %>% rownames_to_column(
var = "SampleID") %>% dplyr::select(
-prop_Conif, -prop_Quercus,
-mean_Height_Abies, -mean_Height_Arbutus,
-mean_Height_Juniperus,-mean_Height_Pinus,
-mean_Height_Quercus,-mean_Height_Prunus,
-mean_Height_Alnus, -mean_Height_Salix,
-mean_coverage_Prunus, -mean_coverage_Salix,
-mean_coverage_Alnus, -mean_coverage_Abies )
cor2<- vegeta[-1]
cor2<- cor2 %>% as.data.frame( ) %>%
select_all(~str_replace(., "prop_", "")) %>%
select_all(~str_replace(., "mean_", "")) %>%
select_all(~str_replace(., "coverage_", "cov_"))
corss2<- cor(cor2, method = "pearson")
#write_tsv(vegeta,"../Data/vegeta.tsv")#pca vegeta
vegeta_col<- c("SampleID", "Broadleaf", "Abies", "Pinus", "Salix", "Arbutus",
"Alnus", "Juniperus", "Prunus", "total_Height", "total_coverage",
"cov_Pinus", "cov_Arbutus", "cov_Quercus", "cov_Juniperus")
vegeta2<- vegeta
colnames(vegeta2)<-vegeta_col
pca_veg<- prcomp(vegeta2[-1], center = F, scale. = F)
#biplot(pca_env)
metadatas_env<- as.data.frame(pca_veg$x)
rownames(metadatas_env)<- vegeta$SampleID
metadatas_env<-metadatas_env %>% rownames_to_column(var = "SampleID") %>% inner_join(metadata)
y<-ggordiplots::gg_ordiplot(pca_veg, metadatas_env$Sites, hull = FALSE,
spiders = TRUE, ellipse = FALSE, pt.size = 4,
plot =FALSE, label = FALSE)
z <- y$plot
a<-z+geom_label(
data = y$df_mean.ord,
aes(x = x, y = y, label=Group),
label.padding = unit(0.15, "lines"),label.size = 0.4,
)+guides(
color=guide_legend(title="Sites"))+theme_linedraw() +
geom_vline(xintercept = 0, linetype = 2) + #lines-cross
geom_hline(yintercept = 0, linetype = 2) +
theme_linedraw()+
scale_fill_viridis_d(option ="turbo", name="Sites")+#color of points
scale_color_viridis_d(option ="turbo" )+#color of points
theme(axis.text = element_text(colour = "black", size = 12),
axis.title = element_text(colour = "black", size = 12),
legend.text = element_text(size = 10),
legend.title = element_text(size = 12),
legend.position = "right",
legend.box = "vertical",
panel.grid.major = element_blank(),
panel.grid.minor = element_blank())+
ggrepel::geom_label_repel(data=data.frame(pca_veg$rotation) %>% #arrows
rownames_to_column(var = "Feature.ID")%>%
slice(-6) %>%
mutate(a=sqrt(PC1^2+PC2^2)) %>%
mutate(PC1=PC1*8, PC2=PC2*8),
aes(x=PC1, y=PC2, label=Feature.ID ),
segment.colour = NA, col = 'black',
fill= "#EEEEEE",
fontface="bold.italic", size=5) +theme(
legend.position = "right") +
guides(color = guide_legend(nrow =2 , title = "Sites"))+theme(
legend.text = element_text(size = 12), legend.title = element_text(size = 14),
axis.title = element_text(size = 16),
plot.title = element_text(hjust = 1, size = 12))+
guides(color = guide_legend(ncol = 1, title = "Sites"))
alibrary(corrplot)
png(filename = "cor_both.png", width = 830, height = 430, res = 100)
par(mfrow=c(1,2)) # set the plotting area into a 1*2 array
corrplot(corss, method = 'circle', type = 'lower', insig='blank',
addCoef.col ='black', number.cex = 0.6, tl.cex = 0.8,
order = 'AOE',diag=FALSE)
corrplot(corss2, method = 'circle', type = 'lower', insig='blank',
addCoef.col ='black', number.cex = 0.5, tl.cex=0.85,
order = 'AOE', diag=FALSE)
dev.off()## png
## 2
knitr::opts_chunk$set(echo = T, results = "hide")
library(reshape2)
library(tidyverse)
library(picante)
library(Rmisc)
library(readxl)
library(vegan)
library(qiime2R)
source("../Code/functions_betadiv.R")
#Environmental data
metadata_secas<- read_excel("../Data/Metadatos.xlsx", sheet = "secas-marzo")
fq_secas<- read_excel("../Data/fisicoq.xlsx", sheet = "seca")
fq_secas2<- read.csv("../Data/fisicoq-la.csv")
meta_fq_secas<- metadata_secas %>% full_join(fq_secas)
meta_fq_secas_all<- metadata_secas %>% full_join(fq_secas) %>% full_join(fq_secas2, by = "SampleID")
env<-meta_fq_secas_all
metadata<-read_excel("../Data/Metadatos.xlsx") %>% mutate_if(is.numeric, as.factor)
# Vegetation data
veg<- read_tsv("../Data/vegeta.tsv") %>% as.data.frame( ) %>%
select_all(~str_replace(., "prop_", "")) %>%
select_all(~str_replace(., "mean_", "")) %>%
select_all(~str_replace(., "coverage_", "cov_")) %>% mutate(SampleID=case_when(
SampleID=="P6S1T1" ~"P6S2T1",
SampleID=="P6S1T2" ~"P6S2T2",
SampleID=="P6S1T3" ~"P6S2T3",
SampleID=="P6S2T1" ~"P6S1T1",
SampleID=="P6S2T2" ~"P6S1T2",
SampleID=="P6S2T3" ~"P6S1T3",
TRUE~as.character(SampleID))) %>% arrange(SampleID)
# Metagenomic data
table_single<-read.delim("../Data/table_micop_single.txt")
table_paired<-read.delim("../Data/table_micop_paired.txt")
table_kraken<-read.delim("../Data/table_kraken.txt",
# skip = 1,
row.names = 1, check.names = F) %>% dplyr::select_if(
is.numeric)%>% t() %>% as.data.frame() %>% rownames_to_column(var = "id_sequence") %>% separate(
., "id_sequence", c(
"kraken", "fungi",
"id_metagenome", "report", "bracken"),
sep = "_") %>% dplyr::select(
-kraken, -fungi, -report, -bracken) %>% full_join(
metadata) %>% dplyr::select(-id_sequence:-Transecto, -id_metagenome, -Sites, -id_new, -Names, -id_fisicoq) %>% column_to_rownames(var = "SampleID") %>% t() %>% as.data.frame() %>% mutate_all(as.numeric)
table_qiime2<-data.frame(read_qza("../Data/clustered_table_filter.qza")$data,
check.names = F) %>% t() %>% as.data.frame(
) %>% rownames_to_column(
var = "SampleID") %>% separate(
SampleID, c(
"id_metagenome", "R", "unmap", "Paired"),
sep = "_")%>% inner_join(
metadata) %>% dplyr::select(
-id_metagenome:-Paired,
-id_sequence:-id_fisicoq, -Sites,
-Names) %>% column_to_rownames(
var="SampleID") %>% t(
) %>% as.data.frame() %>% mutate_all(as.numeric)
table_qiime2_t<-data.frame(t(table_qiime2), check.names = F)
table_single_t<-data.frame(t(table_single), check.names = F)
table_paired_t<-data.frame(t(table_paired), check.names = F)
table_kraken_t<-data.frame(t(table_kraken), check.names = F)#select variables that did not show collinearity and order data
set.seed(124)
vars<- c("MO", "Ca", "LIMO", "ARCILLA", "WHC", "Fe", "K", "Mg",
"pH", "Cu", "P", "N")
#qiime2
mm1<-table_qiime2_t %>% rownames_to_column(var = "SampleID") %>% inner_join(
env) %>% column_to_rownames(var = "SampleID")
env1=mm1[,vars]
#env1=mm1[,c(3149:3159, 3162, 3165,3167)]
spp1=mm1[,1:3138]
#single
mm2<-table_single_t %>% rownames_to_column(var = "SampleID") %>% inner_join(
env) %>% column_to_rownames(var = "SampleID")
env2=mm2[,vars]
spp2=mm2[,1:210]
#paired
mm3<-table_paired_t %>% rownames_to_column(var = "SampleID") %>% inner_join(
env) %>% column_to_rownames(var = "SampleID")
env3=mm3[,vars]
spp3=mm3[,1:234]
#kraken
mm4<-table_kraken_t %>% rownames_to_column(var = "SampleID") %>% inner_join(
env) %>% column_to_rownames(var = "SampleID")
env4=mm4[,vars]
spp4=mm4[,1:72]
# Hellinger transformation
spp_hell1=decostand(spp1, "hell")
spp_hell2=decostand(spp2, "hell")
spp_hell3=decostand(spp3, "hell")
spp_hell4=decostand(spp4, "hell")
# Transforming environmental data
envscho<-c("MO", "Ca", "Silt", "WHC", "Fe", "K", "Mg", "pH", "Cu", "Clay", "P", "N")
envst1=data.frame(scale(env1, scale=T, center=F)) %>% dplyr::rename(Silt=LIMO, #Humidity=moisture,
Clay=ARCILLA) %>% dplyr::select(all_of(envscho))
envst2=data.frame(scale(env2, scale=T, center=F))%>% dplyr::rename(Silt=LIMO, #Humidity=moisture,
Clay=ARCILLA) %>% dplyr::select(all_of(envscho))
envst3=data.frame(scale(env3, scale=T, center=F))%>% dplyr::rename(Silt=LIMO, #Humidity=moisture,
Clay=ARCILLA) %>% dplyr::select(all_of(envscho))
envst4=data.frame(scale(env4, scale=T, center=F))%>% dplyr::rename(Silt=LIMO, #Humidity=moisture,
Clay=ARCILLA) %>% dplyr::select(all_of(envscho))
# Forward selection procedure
#selecting using cca (no distance)
set.seed(126)
vares_cca1 <- cca(spp_hell1 ~., data=envst1)
envs1<-envfit(vares_cca1 ~ ., data=envst1)$vectors[["pvals"]]%>% as.data.frame() %>% dplyr::select("QIIME2"=".")
vares_cca2 <- cca(spp_hell2 ~., data=envst2)
envs2<-envfit(vares_cca2 ~ ., data=envst2)$vectors[["pvals"]]%>% as.data.frame() %>% dplyr::select("Single Micop"=".")
vares_cca3 <- cca(spp_hell3 ~.,data=envst3)
envs3<-envfit(vares_cca3 ~ ., data=envst3)$vectors[["pvals"]]%>% as.data.frame() %>% dplyr::select("Paired Micop"=".")
vares_cca4 <- cca(spp_hell4 ~.,data=envst4)
envs4<-envfit(vares_cca4 ~ ., data=envst4)$vectors[["pvals"]]%>% as.data.frame() %>% dplyr::select("Kraken2"=".")
envs<- cbind(envs1, envs2, envs3, envs4)
rownames(envs)
envs
#accounting for abundance
cap.env1=capscale(spp_hell1~.,envst1,distance = "bray")
mod0.env1=capscale(spp_hell1~1,envst1,distance = "bray")
step.env1=ordistep(mod0.env1,scope = formula(cap.env1))
cap1<-step.env1$anova %>% mutate(method="QIIME2") #no significants
meta1<- env1 %>% rownames_to_column(var = "SampleID") %>% inner_join(metadata)
cap.env2=capscale(spp_hell2~.,envst2,distance = "bray")
mod0.env2=capscale(spp_hell2~1,envst2,distance = "bray")
step.env2=ordistep(mod0.env2,scope = formula(cap.env2))
cap2<-step.env2$anova %>% mutate(method="Single Micop")
meta2<- env2 %>% rownames_to_column(var = "SampleID") %>% inner_join(metadata)
cap.env3=capscale(spp_hell3~.,envst3,distance = "bray")
mod0.env3=capscale(spp_hell3~1,envst3,distance = "bray")
step.env3=ordistep(mod0.env3,scope = formula(cap.env3))
cap3<-step.env3$anova %>% mutate(method="Paired Micop")
meta3<- env3 %>% rownames_to_column(var = "SampleID") %>% inner_join(metadata)
cap.env4=capscale(spp_hell4~.,envst4,distance = "bray")
mod0.env4=capscale(spp_hell4~1,envst4,distance = "bray")
step.env4=ordistep(mod0.env4,scope = formula(cap.env4))
cap4<-step.env4$anova %>% mutate(method="Kraken2")
meta4<- env4 %>% rownames_to_column(var = "SampleID") %>% inner_join(metadata)
#horn
cap.env1_c=capscale(spp_hell1~.,envst1,distance = "horn")
mod0.env1_c=capscale(spp_hell1~1,envst1,distance = "horn")
step.env1_c=ordistep(mod0.env1_c,scope = formula(cap.env1_c))
cap1_c<-step.env1_c$anova %>% mutate(method="QIIME2")
cap.env2_c=capscale(spp_hell2~.,envst2,distance = "horn")
mod0.env2_c=capscale(spp_hell2~1,envst2,distance = "horn")
step.env2_c=ordistep(mod0.env2_c,scope = formula(cap.env2_c))
cap2_c<-step.env2_c$anova %>% mutate(method="Single Micop")
cap.env3_c=capscale(spp_hell3~.,envst3,distance = "horn")
mod0.env3_c=capscale(spp_hell3~1,envst3,distance = "horn")
step.env3_c=ordistep(mod0.env3_c,scope = formula(cap.env3_c))
#cap3_c<-step.env3_c$anova %>% mutate(method="Paired Micop")
cap.env4_c=capscale(spp_hell4~.,envst4,distance = "horn")
mod0.env4_c=capscale(spp_hell4~1,envst4,distance = "horn")
step.env4_c=ordistep(mod0.env4_c,scope = formula(cap.env4_c))
cap4_c<-step.env4_c$anova %>% mutate(method="Kraken2") #no significantlibrary(ggvegan)
library(ggplot2)
map<- read.csv("../Data/coord.csv") %>% mutate_at(
c(1,2,3,7), as.factor) %>% mutate(SampleID= paste0("P",pol, "S", Sitio,"T", Transecto ))
#a1
fdat <- ggplot2::fortify(cap.env1)
map1<- map[match(rownames(spp_hell1), map$SampleID),]
map1_type<- map1 %>% dplyr::select(Site, Type) %>% group_by(Site, Type) %>% count()
y<-ggordiplots::gg_ordiplot(cap.env1, groups = map1$Site, ellipse = F,
spiders = T, hull = F, plot = F, pt.size = 3.5)
z <- y$plot
a1<-z+theme_linedraw()+
geom_vline(xintercept = 0, linetype = 2) + #lines-cross
geom_hline(yintercept = 0, linetype = 2) +
theme_linedraw()+
scale_color_viridis_d(option ="turbo" )+#color of points +
ggrepel::geom_label_repel(data = fdat %>% filter(
score=="biplot") %>%
mutate(CAP1=CAP1*0.5, CAP2=CAP2*0.5) ,
aes(x=CAP1, y=CAP2, label= label),
color="black", segment.color = NA, size=4.5)+
theme_linedraw() +
theme(axis.text = element_text(colour = "black", size = 5),
axis.title = element_text(colour = "black", size = 10),
legend.text = element_text(size = 10),
legend.title = element_text(size = 10),
legend.position = "right",
legend.box = "vertical",
panel.grid.major = element_blank(),
panel.grid.minor = element_blank())+
geom_vline(xintercept = 0, linetype = 2, color="#88929b") + #lines-cross
geom_hline(yintercept = 0, linetype = 2, color="#88929b") +
# geom_label(
# data = y$df_mean.ord,
# aes(x = x, y = y, label=Group),
# label.padding = unit(0.15, "lines"),label.size = 0.5,
# size=5, check_overlap = TRUE
#)+
guides(
color=guide_legend(title="Sites"))+#ylab("CAP2")+xlab("CAP1")+
theme(axis.text = element_text(size = 12))
#a2
fdat <- ggplot2::fortify(cap.env2)
map2<- map[match(rownames(spp_hell2), map$SampleID),]
map2_type<- map2 %>% dplyr::select(Site, Type) %>% group_by(Site, Type) %>% count()
y<-ggordiplots::gg_ordiplot(cap.env2, groups = map2$Site, ellipse = F,
spiders = T, hull = F, plot = F, pt.size = 3.5)
z <- y$plot
a2<-z+theme_linedraw()+
geom_vline(xintercept = 0, linetype = 2) + #lines-cross
geom_hline(yintercept = 0, linetype = 2) +
theme_linedraw()+
scale_color_viridis_d(option ="turbo" )+#color of points +
ggrepel::geom_label_repel(data = fdat %>% filter(
score=="biplot") %>%
mutate(CAP1=CAP1*0.6, CAP2=CAP2*0.6) ,
aes(x=CAP1, y=CAP2, label= label),
color="black", segment.color = NA, size=4.5)+
theme_linedraw() +
theme(axis.text = element_text(colour = "black", size = 5),
axis.title = element_text(colour = "black", size = 10),
legend.text = element_text(size = 10),
legend.title = element_text(size = 10),
legend.position = "right",
legend.box = "vertical",
panel.grid.major = element_blank(),
panel.grid.minor = element_blank())+
geom_vline(xintercept = 0, linetype = 2, color="#88929b") + #lines-cross
geom_hline(yintercept = 0, linetype = 2, color="#88929b") +
#geom_label(
# data = y$df_mean.ord,
# aes(x = x, y = y, label=Group),
# label.padding = unit(0.15, "lines"),label.size = 0.5,
#size=5, check_overlap = TRUE
#)+
guides(
color=guide_legend(title="Sites"))+#ylab("CAP2")+xlab("CAP1")+
theme(axis.text = element_text(size = 12))
#a3
fdat <- ggplot2::fortify(cap.env3)
map3<- map[match(rownames(spp_hell3), map$SampleID),]
map3_type<- map2 %>% dplyr::select(Site, Type) %>% group_by(Site, Type) %>% count()
y<-ggordiplots::gg_ordiplot(cap.env3, groups = map3$Site, ellipse = F,
spiders = T, hull = F, plot = F, pt.size = 3.5)
z <- y$plot
a3<-z+theme_linedraw()+
geom_vline(xintercept = 0, linetype = 2) + #lines-cross
geom_hline(yintercept = 0, linetype = 2) +
theme_linedraw()+
scale_color_viridis_d(option ="turbo" )+#color of points +
ggrepel::geom_label_repel(data = fdat %>% filter(
score=="biplot") %>%
mutate(CAP1=CAP1*0.9, CAP2=CAP2*0.9) ,
aes(x=CAP1, y=CAP2, label= label),
color="black", segment.color = NA, size=4.5)+
theme_linedraw() +
theme(axis.text = element_text(colour = "black", size = 5),
axis.title = element_text(colour = "black", size = 10),
legend.text = element_text(size = 10),
legend.title = element_text(size = 10),
legend.position = "right",
legend.box = "vertical",
panel.grid.major = element_blank(),
panel.grid.minor = element_blank())+
geom_vline(xintercept = 0, linetype = 2, color="#88929b") + #lines-cross
geom_hline(yintercept = 0, linetype = 2, color="#88929b") +
# geom_label(
# data = y$df_mean.ord,
# aes(x = x, y = y, label=Group),
# label.padding = unit(0.15, "lines"),label.size = 0.5,
# size=5, check_overlap = TRUE
#)+
guides(
color=guide_legend(title="Sites"))+#ylab("CAP2")+xlab("CAP1")+
theme(axis.text = element_text(size = 12))
#a4
fdat <- ggplot2::fortify(cap.env4)
map4<- map[match(rownames(spp_hell4), map$SampleID),]
map4_type<- map4 %>% dplyr::select(Site, Type) %>% group_by(Site, Type) %>% dplyr::count()
y<-ggordiplots::gg_ordiplot(cap.env4, groups = map4$Site, ellipse = F,
spiders = T, hull = F, plot = F, pt.size = 3.5)
z <- y$plot
a4<-z+theme_linedraw()+
geom_vline(xintercept = 0, linetype = 2) + #lines-cross
geom_hline(yintercept = 0, linetype = 2) +
theme_linedraw()+
scale_color_viridis_d(option ="turbo" )+#color of points +
ggrepel::geom_label_repel(data = fdat %>% filter(
score=="biplot") %>%
mutate(CAP1=CAP1*0.2, CAP2=CAP2*.2) ,
aes(x=CAP1, y=CAP2, label= label),
color="black", segment.color = NA, size =4.5)+
theme_linedraw() +
theme(axis.text = element_text(colour = "black", size = 5),
axis.title = element_text(colour = "black", size = 10),
legend.text = element_text(size = 10),
legend.title = element_text(size = 10),
legend.position = "right",
legend.box = "vertical",
panel.grid.major = element_blank(),
panel.grid.minor = element_blank())+
geom_vline(xintercept = 0, linetype = 2, color="#88929b") + #lines-cross
geom_hline(yintercept = 0, linetype = 2, color="#88929b") +
# geom_label(
# data = y$df_mean.ord,
# aes(x = x, y = y, label=Group),
#label.padding = unit(0.15, "lines"),label.size = 0.5,
# size=5, check_overlap = TRUE
#)+
guides(
color=guide_legend(title="Sites"))+#ylab("CAP2")+xlab("CAP1")+
theme(axis.text = element_text(size = 12))
leg<- get_legend(a1)
library(cowplot)
as<-plot_grid(a1+theme(aspect.ratio =6.8/10, legend.position = "none"),
a2+theme(aspect.ratio =6.8/10, legend.position = "none"),
a3+theme(aspect.ratio =6.8/10, legend.position = "none"),
a4+theme(aspect.ratio =6.8/10, legend.position = "none"),
nrow = 2, ncol = 2, align = "v", rel_widths = c(1,1,1,1),
label_size = 15,
labels = c("A) GENEIOUS+UNITE", "B) SINGLE MICOP",
"C) PAIRED MICOP", "D) KRAKEN2"),hjust = 0)
as2<- plot_grid(as,leg,ncol = 2, rel_widths = c(.93,.07), align = "hv")## Warning: Graphs cannot be vertically aligned unless the axis parameter is set.
## Placing graphs unaligned.
## Warning: Graphs cannot be horizontally aligned unless the axis parameter is
## set. Placing graphs unaligned.
library(ggvegan)
map<- read.csv("../Data/coord.csv") %>% mutate_at(
c(1,2,3,7), as.factor) %>% mutate(SampleID= paste0("P",pol, "S", Sitio,"T", Transecto ))
#a1
fdat <- ggplot2::fortify(cap.env1_c)
map1<- map[match(rownames(spp_hell1), map$SampleID),]
map1_type<- map1 %>% dplyr::select(Site, Type) %>% group_by(Site, Type) %>% count()
y<-ggordiplots::gg_ordiplot(cap.env1_c, groups = map1$Site, ellipse = F,
spiders = T, hull = F, plot = F , pt.size = 3.5)
z <- y$plot
a1<-z+theme_linedraw()+
geom_vline(xintercept = 0, linetype = 2) + #lines-cross
geom_hline(yintercept = 0, linetype = 2) +
theme_linedraw()+
scale_color_viridis_d(option ="turbo" )+#color of points +
ggrepel::geom_label_repel(data = fdat %>% filter(
score=="biplot") %>%
mutate(CAP1=CAP1*0.5, CAP2=CAP2*0.5) ,
aes(x=CAP1, y=CAP2, label= label),
color="black", segment.color = NA, size=4.5)+
theme_linedraw() +
theme(axis.text = element_text(colour = "black", size = 5),
axis.title = element_text(colour = "black", size = 10),
legend.text = element_text(size = 10),
legend.title = element_text(size = 10),
legend.position = "right",
legend.box = "vertical",
panel.grid.major = element_blank(),
panel.grid.minor = element_blank())+
geom_vline(xintercept = 0, linetype = 2, color="#88929b") + #lines-cross
geom_hline(yintercept = 0, linetype = 2, color="#88929b") +
# geom_label(
# data = y$df_mean.ord,
# aes(x = x, y = y, label=Group),
#label.padding = unit(0.15, "lines"),label.size = 0.5,
#size=5, check_overlap = TRUE
#)+
guides(
color=guide_legend(title="Sites"))+#ylab("CAP2")+xlab("CAP1")+
theme(axis.text = element_text(size = 12))
#a2
fdat <- ggplot2::fortify(cap.env2_c)
map2<- map[match(rownames(spp_hell2), map$SampleID),]
map2_type<- map2 %>% dplyr::select(Site, Type) %>% group_by(Site, Type) %>% count()
y<-ggordiplots::gg_ordiplot(cap.env2_c, groups = map2$Site, ellipse = F,
spiders = T, hull = F, plot = F, pt.size = 3.5 )
z <- y$plot
a2<-z+theme_linedraw()+
geom_vline(xintercept = 0, linetype = 2) + #lines-cross
geom_hline(yintercept = 0, linetype = 2) +
theme_linedraw()+
scale_color_viridis_d(option ="turbo" )+#color of points +
ggrepel::geom_label_repel(data = fdat %>% filter(
score=="biplot") %>%
mutate(CAP1=CAP1*0.6, CAP2=CAP2*0.6) ,
aes(x=CAP1, y=CAP2, label= label),
color="black", segment.color = NA, size=4.5)+
theme_linedraw() +
theme(axis.text = element_text(colour = "black", size = 5),
axis.title = element_text(colour = "black", size = 10),
legend.text = element_text(size = 10),
legend.title = element_text(size = 10),
legend.position = "right",
legend.box = "vertical",
panel.grid.major = element_blank(),
panel.grid.minor = element_blank())+
geom_vline(xintercept = 0, linetype = 2, color="#88929b") + #lines-cross
geom_hline(yintercept = 0, linetype = 2, color="#88929b") +
# geom_label(
# data = y$df_mean.ord,
# aes(x = x, y = y, label=Group),
# label.padding = unit(0.15, "lines"),label.size = 0.5,
# size=5, check_overlap = TRUE
#)+
guides(
color=guide_legend(title="Sites"))+#ylab("CAP2")+xlab("CAP1")+
theme(axis.text = element_text(size = 12))
#a3
fdat <- ggplot2::fortify(cap.env3_c)
map3<- map[match(rownames(spp_hell3), map$SampleID),]
map3_type<- map2 %>% dplyr::select(Site, Type) %>% group_by(Site, Type) %>% count()
y<-ggordiplots::gg_ordiplot(cap.env3_c, groups = map3$Site, ellipse = F,
spiders = T, hull = F, plot = F , pt.size = 3.5)
z <- y$plot
a3<-z+theme_linedraw()+
geom_vline(xintercept = 0, linetype = 2) + #lines-cross
geom_hline(yintercept = 0, linetype = 2) +
theme_linedraw()+
scale_color_viridis_d(option ="turbo" )+#color of points +
ggrepel::geom_label_repel(data = fdat %>% filter(
score=="biplot") %>%
mutate(CAP1=CAP1*0.9, CAP2=CAP2*0.9) ,
aes(x=CAP1, y=CAP2, label= label),
color="black", segment.color = NA, size=4.5)+
theme_linedraw() +
theme(axis.text = element_text(colour = "black", size = 5),
axis.title = element_text(colour = "black", size = 10),
legend.text = element_text(size = 10),
legend.title = element_text(size = 10),
legend.position = "right",
legend.box = "vertical",
panel.grid.major = element_blank(),
panel.grid.minor = element_blank())+
geom_vline(xintercept = 0, linetype = 2, color="#88929b") + #lines-cross
geom_hline(yintercept = 0, linetype = 2, color="#88929b") +
# geom_label(
# data = y$df_mean.ord,
# aes(x = x, y = y, label=Group),
#label.padding = unit(0.15, "lines"),label.size = 0.5,
#size=5, check_overlap = TRUE
#)+
guides(
color=guide_legend(title="Sites"))+#ylab("CAP2")+xlab("CAP1")+
theme(axis.text = element_text(size = 12))
#a4
fdat <- ggplot2::fortify(cap.env4_c)
map4<- map[match(rownames(spp_hell4), map$SampleID),]
map4_type<- map4 %>% dplyr::select(Site, Type) %>% group_by(Site, Type) %>% dplyr::count()
y<-ggordiplots::gg_ordiplot(cap.env4_c, groups = map4$Site, ellipse = F,
spiders = T, hull = F, plot = F, pt.size = 3.5 )
z <- y$plot
a4<-z+theme_linedraw()+
geom_vline(xintercept = 0, linetype = 2) + #lines-cross
geom_hline(yintercept = 0, linetype = 2) +
theme_linedraw()+
scale_color_viridis_d(option ="turbo" )+#color of points +
ggrepel::geom_label_repel(data = fdat %>% filter(
score=="biplot") %>%
mutate(CAP1=CAP1*0.2, CAP2=CAP2*0.2) ,
aes(x=CAP1, y=CAP2, label= label),
color="black", segment.color = NA, size =4.5)+
theme_linedraw() +
theme(axis.text = element_text(colour = "black", size = 5),
axis.title = element_text(colour = "black", size = 10),
legend.text = element_text(size = 10),
legend.title = element_text(size = 10),
legend.position = "right",
legend.box = "vertical",
panel.grid.major = element_blank(),
panel.grid.minor = element_blank())+
geom_vline(xintercept = 0, linetype = 2, color="#88929b") + #lines-cross
geom_hline(yintercept = 0, linetype = 2, color="#88929b") +
# geom_label(
# data = y$df_mean.ord,
# aes(x = x, y = y, label=Group),
#label.padding = unit(0.15, "lines"),label.size = 0.5,
#size=5, check_overlap = TRUE
#)+
guides(
color=guide_legend(title="Sites"))+#ylab("CAP2")+xlab("CAP1")+
theme(axis.text = element_text(size = 12))
leg=get_legend(a1)
library(cowplot)
as<-plot_grid(a1+theme(aspect.ratio =6.8/10, legend.position = "none"),
a2+theme(aspect.ratio =6.8/10, legend.position = "none"),
a3+theme(aspect.ratio =6.8/10, legend.position = "none"),
a4+theme(aspect.ratio =6.8/10, legend.position = "none"),
nrow = 2, ncol = 2, align = "v", rel_widths = c(1,1,1,1),
label_size = 15,
labels = c("A) GENEIOUS+UNITE", "B) SINGLE MICOP",
"C) PAIRED MICOP", "D) KRAKEN2"),hjust = 0)
as2<- plot_grid(as,leg,ncol = 2, rel_widths = c(.93,.07), align = "hv")## Warning: Graphs cannot be vertically aligned unless the axis parameter is set.
## Placing graphs unaligned.
## Warning: Graphs cannot be horizontally aligned unless the axis parameter is
## set. Placing graphs unaligned.
## Warning: ggrepel: 2 unlabeled data points (too many overlaps). Consider
## increasing max.overlaps
#CCAS
library(ggvegan)
map<- read.csv("../Data/coord.csv") %>% mutate_at(
c(1,2,3,7), as.factor) %>% mutate(SampleID= paste0("P",pol, "S", Sitio,"T", Transecto ))
#a1
fdat <- ggplot2::fortify(vares_cca1)
map1<- map[match(rownames(spp_hell1), map$SampleID),]
map1_type<- map1 %>% dplyr::select(Site, Type) %>% group_by(Site, Type) %>% count()
y<-ggordiplots::gg_ordiplot(vares_cca1, groups = map1$Site, ellipse = F,
spiders = T, hull = F, plot = F, pt.size = 3.5 )
z <- y$plot
a1<-z+theme_linedraw()+
geom_vline(xintercept = 0, linetype = 2) + #lines-cross
geom_hline(yintercept = 0, linetype = 2) +
theme_linedraw()+
scale_color_viridis_d(option ="turbo" )+#color of points +
ggrepel::geom_label_repel(data = fdat %>% filter(
score=="biplot") %>%
mutate(CCA1=CCA1*1.9, CCA2=CCA2*1.9) ,
aes(x=CCA1, y=CCA2, label= label),
color="black", segment.color = NA, size=4.5)+
theme_linedraw() +
theme(axis.text = element_text(colour = "black", size = 5),
axis.title = element_text(colour = "black", size = 10),
legend.text = element_text(size = 10),
legend.title = element_text(size = 10),
legend.position = "right",
legend.box = "vertical",
panel.grid.major = element_blank(),
panel.grid.minor = element_blank())+
geom_vline(xintercept = 0, linetype = 2, color="#88929b") + #lines-cross
geom_hline(yintercept = 0, linetype = 2, color="#88929b") +
# geom_label(
# data = y$df_mean.ord,
# aes(x = x, y = y, label=Group),
# label.padding = unit(0.15, "lines"),label.size = 0.5,
#size=5, check_overlap = TRUE
#)+
guides(
color=guide_legend(title="Sites"))+#ylab("CCA2")+xlab("CCA1")+
theme(axis.text = element_text(size = 12))
#a2
fdat <- ggplot2::fortify(vares_cca2)
map2<- map[match(rownames(spp_hell2), map$SampleID),]
map2_type<- map2 %>% dplyr::select(Site, Type) %>% group_by(Site, Type) %>% count()
y<-ggordiplots::gg_ordiplot(vares_cca2, groups = map2$Site, ellipse = F,
spiders = T, hull = F, plot = F, pt.size = 3.5 )
z <- y$plot
a2<-z+theme_linedraw()+
geom_vline(xintercept = 0, linetype = 2) + #lines-cross
geom_hline(yintercept = 0, linetype = 2) +
theme_linedraw()+
scale_color_viridis_d(option ="turbo" )+#color of points +
ggrepel::geom_label_repel(data = fdat %>% filter(
score=="biplot") %>%
mutate(CCA1=CCA1*0.6, CCA2=CCA2*0.6) ,
aes(x=CCA1, y=CCA2, label= label),
color="black", segment.color = NA, size=4.5)+
theme_linedraw() +
theme(axis.text = element_text(colour = "black", size = 5),
axis.title = element_text(colour = "black", size = 10),
legend.text = element_text(size = 10),
legend.title = element_text(size = 10),
legend.position = "right",
legend.box = "vertical",
panel.grid.major = element_blank(),
panel.grid.minor = element_blank())+
geom_vline(xintercept = 0, linetype = 2, color="#88929b") + #lines-cross
geom_hline(yintercept = 0, linetype = 2, color="#88929b") +
#geom_label(
# data = y$df_mean.ord,
#aes(x = x, y = y, label=Group),
#label.padding = unit(0.15, "lines"),label.size = 0.5,
#size=5, check_overlap = TRUE
#)+
guides(
color=guide_legend(title="Sites"))+#ylab("CCA2")+xlab("CCA1")+
theme(axis.text = element_text(size = 12))
#a3
fdat <- ggplot2::fortify(vares_cca3)
map3<- map[match(rownames(spp_hell3), map$SampleID),]
map3_type<- map2 %>% dplyr::select(Site, Type) %>% group_by(Site, Type) %>% count()
y<-ggordiplots::gg_ordiplot(vares_cca3, groups = map3$Site, ellipse = F,
spiders = T, hull = F, plot = F, pt.size = 3.5 )
z <- y$plot
a3<-z+theme_linedraw()+
geom_vline(xintercept = 0, linetype = 2) + #lines-cross
geom_hline(yintercept = 0, linetype = 2) +
theme_linedraw()+
scale_color_viridis_d(option ="turbo" )+#color of points +
ggrepel::geom_label_repel(data = fdat %>% filter(
score=="biplot") %>%
mutate(CCA1=CCA1*0.9, CCA2=CCA2*0.9) ,
aes(x=CCA1, y=CCA2, label= label),
color="black", segment.color = NA, size=4.5)+
theme_linedraw() +
theme(axis.text = element_text(colour = "black", size = 5),
axis.title = element_text(colour = "black", size = 10),
legend.text = element_text(size = 10),
legend.title = element_text(size = 10),
legend.position = "right",
legend.box = "vertical",
panel.grid.major = element_blank(),
panel.grid.minor = element_blank())+
geom_vline(xintercept = 0, linetype = 2, color="#88929b") + #lines-cross
geom_hline(yintercept = 0, linetype = 2, color="#88929b") +
# geom_label(
# data = y$df_mean.ord,
# aes(x = x, y = y, label=Group),
#label.padding = unit(0.15, "lines"),label.size = 0.5,
#size=5, check_overlap = TRUE
#)+
guides(
color=guide_legend(title="Sites"))+#ylab("CCA2")+xlab("CCA1")+
theme(axis.text = element_text(size = 12))
#a4
fdat <- ggplot2::fortify(vares_cca4)
map4<- map[match(rownames(spp_hell4), map$SampleID),]
map4_type<- map4 %>% dplyr::select(Site, Type) %>% group_by(Site, Type) %>% dplyr::count()
y<-ggordiplots::gg_ordiplot(vares_cca4, groups = map4$Site, ellipse = F,
spiders = T, hull = F, plot = F, pt.size = 3.5 )
z <- y$plot
a4<-z+theme_linedraw()+
geom_vline(xintercept = 0, linetype = 2) + #lines-cross
geom_hline(yintercept = 0, linetype = 2) +
theme_linedraw()+
scale_color_viridis_d(option ="turbo" )+#color of points +
ggrepel::geom_label_repel(data = fdat %>% filter(
score=="biplot") %>%
mutate(CCA1=CCA1*0.1, CCA2=CCA2*0.1) ,
aes(x=CCA1, y=CCA2, label= label),
color="black", segment.color = NA, size =4.5)+
theme_linedraw() +
theme(axis.text = element_text(colour = "black", size = 5),
axis.title = element_text(colour = "black", size = 10),
legend.text = element_text(size = 10),
legend.title = element_text(size = 10),
legend.position = "right",
legend.box = "vertical",
panel.grid.major = element_blank(),
panel.grid.minor = element_blank())+
geom_vline(xintercept = 0, linetype = 2, color="#88929b") + #lines-cross
geom_hline(yintercept = 0, linetype = 2, color="#88929b") +
#geom_label(
# data = y$df_mean.ord,
# aes(x = x, y = y, label=Group),
# label.padding = unit(0.15, "lines"),label.size = 0.5,
#size=5, check_overlap = TRUE
#)+
guides(
color=guide_legend(title="Sites"))+#ylab("CCA2")+xlab("CCA1")+
theme(axis.text = element_text(size = 12))
as<-plot_grid(a1+theme(aspect.ratio =6.8/10, legend.position = "none"),
a2+theme(aspect.ratio =6.8/10, legend.position = "none"),
a3+theme(aspect.ratio =6.8/10, legend.position = "none"),
a4+theme(aspect.ratio =6.8/10, legend.position = "none"),
nrow = 2, ncol = 2, align = "v", rel_widths = c(1,1,1,1),
label_size = 15,
labels = c("A) GENEIOUS+UNITE", "B) SINGLE MICOP",
"C) PAIRED MICOP", "D) KRAKEN2"),hjust = 0)
leg=get_legend(a1)
as2<- plot_grid(as,leg,ncol = 2, rel_widths = c(.93,.07), align = "hv")
as2ggsave("Figure7.cca_ggplot_env_nolabels.pdf",width = 12, height =8.5, dpi = 300, plot = as2, device = "pdf")taxonomy_qiime2<- data.frame(read_qza("../Data/taxonomy_blast_dfc_0.98.qza")$data, check.names = F) %>% dplyr::select(Feature.ID,Taxon)
taxonomy_single_micop<- read.delim("../Data/table_micop_single.txt") %>% rownames_to_column(var = "Feature.ID") %>% dplyr::select(Feature.ID) %>% mutate(Taxon=Feature.ID)
taxonomy_paired_micop<- read.delim("../Data/table_micop_paired.txt") %>% rownames_to_column(var = "Feature.ID") %>% dplyr::select(Feature.ID) %>% mutate(Taxon=Feature.ID)
taxonomy_fungi<- read.delim("../Data/table_fungi_again.txt",
skip = 1, row.names = 1, check.names = F) %>% select_if(is.character) %>% rownames_to_column(
var = "#OTU ID") %>% dplyr::select(Feature.ID = "#OTU ID", Taxon= taxonomy)
map<- read.csv("../Data/coord.csv") %>% mutate_at(
c(1,2,3,7), as.factor) %>% mutate(SampleID= paste0("P",pol, "S", Sitio,"T", Transecto ))#qiime2
mm1= veg %>% inner_join(table_qiime2_t %>%rownames_to_column(var = "SampleID"))
veg1=mm1[1:15] %>% column_to_rownames(var = "SampleID")
spp1=mm1[c(1,16:3153)]%>% column_to_rownames(var = "SampleID")
#single
mm2=veg%>% inner_join(table_single_t %>%rownames_to_column(var = "SampleID") )
veg2=mm2[1:15] %>% column_to_rownames(var = "SampleID")
spp2=mm2[c(1,16:225)]%>% column_to_rownames(var = "SampleID")
#paired
mm3=veg %>% inner_join(table_paired_t %>%rownames_to_column(var = "SampleID") )
veg3=mm3[1:15] %>% column_to_rownames(var = "SampleID")
spp3=mm3[c(1,16:249)]%>% column_to_rownames(var = "SampleID")
#kraken
mm4=veg %>% inner_join(table_kraken_t %>%rownames_to_column(var = "SampleID") )
veg4=mm2[1:15] %>% column_to_rownames(var = "SampleID")
spp4=mm4[c(1,16:87)]%>% column_to_rownames(var = "SampleID")
# Hellinger transformation
spp_hell1=decostand(spp1, "hell")
spp_hell2=decostand(spp2, "hell")
spp_hell3=decostand(spp3, "hell")
spp_hell4=decostand(spp4, "hell")
# Compositional tranformation
#spp_hell1=decostand(otu.single(spp1), "clr", pseudocount=0.5)
#spp_hell2=decostand(otu.single(spp2), "clr", pseudocount=0.5)
#spp_hell3=decostand(otu.single(spp3), "clr", pseudocount=0.5)
#spp_hell4=decostand(otu.single(spp4), "clr", pseudocount=0.5)
# Transforming environmental data
vegt1=data.frame(scale(veg1, scale=T, center=F))
vegt2=data.frame(scale(veg2, scale=T, center=F))
vegt3=data.frame(scale(veg3, scale=T, center=F))
vegt4=data.frame(scale(veg4, scale=T, center=F))
# Forward selection procedure
#accounting for abundance
cap.veg1=capscale(spp_hell1~.,vegt1,distance = "bray")
mod0.veg1=capscale(spp_hell1~1,vegt1,distance = "bray")
step.veg1=ordistep(mod0.veg1,scope = formula(cap.veg1))
cap1v<-step.veg1$anova %>% mutate(method="QIIME2")
meta1<- veg1 %>% rownames_to_column(var = "SampleID") %>% inner_join(metadata)
cap.veg2=capscale(spp_hell2~.,vegt2,distance = "bray")
mod0.veg2=capscale(spp_hell2~1,vegt2,distance = "bray")
step.veg2=ordistep(mod0.veg2,scope = formula(cap.veg2))
cap2v<-step.veg2$anova %>% mutate(method="Single Micop")
meta2<- veg2 %>% rownames_to_column(var = "SampleID") %>% inner_join(metadata)
cap.veg3=capscale(spp_hell3~.,vegt3,distance = "bray")
mod0.veg3=capscale(spp_hell3~1,vegt3,distance = "bray")
step.veg3=ordistep(mod0.veg3,scope = formula(cap.veg3))
cap3v<-step.veg3$anova %>% mutate(method="Paired Micop")
meta3<- veg3 %>% rownames_to_column(var = "SampleID") %>% inner_join(metadata)
cap.veg4=capscale(spp_hell4~.,vegt4,distance = "bray")
mod0.veg4=capscale(spp_hell4~1,vegt4,distance = "bray")
step.veg4=ordistep(mod0.veg4,scope = formula(cap.veg4))
cap4v<-step.veg4$anova %>% mutate(method="Kraken2")
meta4<- veg4 %>% rownames_to_column(var = "SampleID") %>% inner_join(metadata)
#horn
cap.veg1_c=capscale(spp_hell1~.,vegt1,distance = "horn")
mod0.veg1_c=capscale(spp_hell1~1,vegt1,distance = "horn")
step.veg1_c=ordistep(mod0.veg1_c,scope = formula(cap.veg1_c))
cap1_vc<-step.veg1_c$anova %>% mutate(method="QIIME2")
cap.veg2_c=capscale(spp_hell2~.,vegt2,distance = "horn")
mod0.veg2_c=capscale(spp_hell2~1,vegt2,distance = "horn")
step.veg2_c=ordistep(mod0.veg2_c,scope = formula(cap.veg2_c))
cap2_vc<-step.veg2_c$anova %>% mutate(method="Single Micop")
cap.veg3_c=capscale(spp_hell3~.,vegt3,distance = "horn")
mod0.veg3_c=capscale(spp_hell3~1,vegt3,distance = "horn")
step.veg3_c=ordistep(mod0.veg3_c,scope = formula(cap.veg3_c))
cap3_vc<-step.veg3_c$anova %>% mutate(method="Paired Micop")
cap.veg4_c=capscale(spp_hell4~.,vegt4,distance = "horn")
mod0.veg4_c=capscale(spp_hell4~1,vegt4,distance = "horn")
step.veg4_c=ordistep(mod0.veg4_c,scope = formula(cap.veg4))
cap4_vc<-step.veg4_c$anova %>% mutate(method="Kraken2")
#selecting using cca (no distance)
vares_cca1_veg <- cca(spp_hell1 ~., data=vegt1)
vegs1<-envfit(vares_cca1_veg ~., data=vegt1)$vectors[["pvals"]]%>% as.data.frame() %>% dplyr::select("QIIME2"=".")
vares_cca2_veg <- cca(spp_hell2 ~., data=vegt2)
vegs2<-envfit(vares_cca2_veg ~., data=vegt2)$vectors[["pvals"]]%>% as.data.frame() %>% dplyr::select("Single Micop"=".")
vares_cca3_veg <- cca(spp_hell3 ~.,data=vegt3)
vegs3<-envfit(vares_cca3_veg ~., data=vegt3)$vectors[["pvals"]]%>% as.data.frame() %>% dplyr::select("Paired Micop"=".")
vares_cca4_veg <- cca(spp_hell4 ~.,data=vegt4)
vegs4<-envfit(vares_cca4_veg ~., data=vegt4)$vectors[["pvals"]]%>% as.data.frame() %>% dplyr::select("Kraken2"=".")
vegs<- cbind(vegs1, vegs2, vegs3, vegs4)
rownames(vegs)library(ggvegan)
map<- read.csv("../Data/coord.csv") %>% mutate_at(
c(1,2,3,7), as.factor) %>% mutate(SampleID= paste0("P",pol, "S", Sitio,"T", Transecto ))
#a1
fdat <- ggplot2::fortify(cap.veg1)
map1<- map[match(rownames(spp_hell1), map$SampleID),]
map1_type<- map1 %>% dplyr::select(Site, Type) %>% group_by(Site, Type) %>% count()
y<-ggordiplots::gg_ordiplot(cap.veg1, groups = map1$Site, ellipse = F,
spiders = T, hull = F, plot = F, pt.size = 3.5 )
z <- y$plot
a1<-z+theme_linedraw()+
geom_vline(xintercept = 0, linetype = 2) + #lines-cross
geom_hline(yintercept = 0, linetype = 2) +
theme_linedraw()+
scale_color_viridis_d(option ="turbo" )+#color of points +
ggrepel::geom_label_repel(data = fdat %>% filter(
score=="biplot") %>%
mutate(CAP1=CAP1*0.5, CAP2=CAP2*0.5) ,
aes(x=CAP1, y=CAP2, label= label),
color="black", segment.color = NA, size=4, box.padding = 0.1, label.padding = 0.1)+
theme_linedraw() +
theme(axis.text = element_text(colour = "black", size = 5),
axis.title = element_text(colour = "black", size = 10),
legend.text = element_text(size = 10),
legend.title = element_text(size = 10),
legend.position = "right",
legend.box = "vertical",
panel.grid.major = element_blank(),
panel.grid.minor = element_blank())+
geom_vline(xintercept = 0, linetype = 2, color="#88929b") + #lines-cross
geom_hline(yintercept = 0, linetype = 2, color="#88929b") +
# geom_label(
# data = y$df_mean.ord,
# aes(x = x, y = y, label=Group),
# label.padding = unit(0.15, "lines"),label.size = 0.5,
#size=5, check_overlap = TRUE
#)+
guides(
color=guide_legend(title="Sites"))+#ylab("CAP2")+xlab("CAP1")+
theme(axis.text = element_text(size = 12))
#a2
fdat <- ggplot2::fortify(cap.veg2)
map2<- map[match(rownames(spp_hell2), map$SampleID),]
map2_type<- map2 %>% dplyr::select(Site, Type) %>% group_by(Site, Type) %>% count()
y<-ggordiplots::gg_ordiplot(cap.veg2, groups = map2$Site, ellipse = F,
spiders = T, hull = F, plot = F, pt.size = 3.5 )
z <- y$plot
a2<-z+theme_linedraw()+
geom_vline(xintercept = 0, linetype = 2) + #lines-cross
geom_hline(yintercept = 0, linetype = 2) +
theme_linedraw()+
scale_color_viridis_d(option ="turbo" )+#color of points +
ggrepel::geom_label_repel(data = fdat %>% filter(
score=="biplot") %>%
mutate(CAP1=CAP1*0.6, CAP2=CAP2*0.6) ,
aes(x=CAP1, y=CAP2, label= label),
color="black", segment.color = NA, size=4, box.padding = 0.1, label.padding = 0.1)+
theme_linedraw() +
theme(axis.text = element_text(colour = "black", size = 5),
axis.title = element_text(colour = "black", size = 10),
legend.text = element_text(size = 10),
legend.title = element_text(size = 10),
legend.position = "right",
legend.box = "vertical",
panel.grid.major = element_blank(),
panel.grid.minor = element_blank())+
geom_vline(xintercept = 0, linetype = 2, color="#88929b") + #lines-cross
geom_hline(yintercept = 0, linetype = 2, color="#88929b") +
# geom_label(
# data = y$df_mean.ord,
# aes(x = x, y = y, label=Group),
#label.padding = unit(0.15, "lines"),label.size = 0.5,
#size=5, check_overlap = TRUE)+
guides(
color=guide_legend(title="Sites"))+#ylab("CAP2")+xlab("CAP1")+
theme(axis.text = element_text(size = 12))
#a3
fdat <- ggplot2::fortify(cap.veg3)
map3<- map[match(rownames(spp_hell3), map$SampleID),]
map3_type<- map2 %>% dplyr::select(Site, Type) %>% group_by(Site, Type) %>% count()
y<-ggordiplots::gg_ordiplot(cap.veg3, groups = map3$Site, ellipse = F,
spiders = T, hull = F, plot = F, pt.size = 3.5 )
z <- y$plot
a3<-z+theme_linedraw()+
geom_vline(xintercept = 0, linetype = 2) + #lines-cross
geom_hline(yintercept = 0, linetype = 2) +
theme_linedraw()+
scale_color_viridis_d(option ="turbo" )+#color of points +
ggrepel::geom_label_repel(data = fdat %>% filter(
score=="biplot") %>%
mutate(CAP1=CAP1*0.9, CAP2=CAP2*0.9) ,
aes(x=CAP1, y=CAP2, label= label),
color="black", segment.color = NA, size=4, box.padding = 0.1, label.padding = 0.1)+
theme_linedraw() +
theme(axis.text = element_text(colour = "black", size = 5),
axis.title = element_text(colour = "black", size = 10),
legend.text = element_text(size = 10),
legend.title = element_text(size = 10),
legend.position = "right",
legend.box = "vertical",
panel.grid.major = element_blank(),
panel.grid.minor = element_blank())+
geom_vline(xintercept = 0, linetype = 2, color="#88929b") + #lines-cross
geom_hline(yintercept = 0, linetype = 2, color="#88929b") +
# geom_label(
# data = y$df_mean.ord,
# aes(x = x, y = y, label=Group),
#label.padding = unit(0.15, "lines"),label.size = 0.5,
#size=5, check_overlap = TRUE )+
guides(
color=guide_legend(title="Sites"))+#ylab("CAP2")+xlab("CAP1")+
theme(axis.text = element_text(size = 12))
#a4
fdat <- ggplot2::fortify(cap.veg4)
map4<- map[match(rownames(spp_hell4), map$SampleID),]
map4_type<- map4 %>% dplyr::select(Site, Type) %>% group_by(Site, Type) %>% dplyr::count()
y<-ggordiplots::gg_ordiplot(cap.veg4, groups = map4$Site, ellipse = F,
spiders = T, hull = F, plot = F, pt.size = 3.5 )
z <- y$plot
a4<-z+theme_linedraw()+
geom_vline(xintercept = 0, linetype = 2) + #lines-cross
geom_hline(yintercept = 0, linetype = 2) +
theme_linedraw()+
scale_color_viridis_d(option ="turbo" )+#color of points +
ggrepel::geom_label_repel(data = fdat %>% filter(
score=="biplot") %>%
mutate(CAP1=CAP1*0.5, CAP2=CAP2*.5) ,
aes(x=CAP1, y=CAP2, label= label),
color="black", segment.color = NA, size=4, box.padding = 0.1, label.padding = 0.1)+
theme_linedraw() +
theme(axis.text = element_text(colour = "black", size = 5),
axis.title = element_text(colour = "black", size = 10),
legend.text = element_text(size = 10),
legend.title = element_text(size = 10),
legend.position = "right",
legend.box = "vertical",
panel.grid.major = element_blank(),
panel.grid.minor = element_blank())+
geom_vline(xintercept = 0, linetype = 2, color="#88929b") + #lines-cross
geom_hline(yintercept = 0, linetype = 2, color="#88929b") +
# geom_label(
# data = y$df_mean.ord,
# aes(x = x, y = y, label=Group),
#label.padding = unit(0.15, "lines"),label.size = 0.5,
#size=5, check_overlap = TRUE)+
guides(
color=guide_legend(title="Sites"))+#ylab("CAP2")+xlab("CAP1")+
theme(axis.text = element_text(size = 12))
library(cowplot)
as<-plot_grid(a1+theme(aspect.ratio =6.8/10, legend.position = "none"),
a2+theme(aspect.ratio =6.8/10, legend.position = "none"),
a3+theme(aspect.ratio =6.8/10, legend.position = "none"),
a4+theme(aspect.ratio =6.8/10, legend.position = "none"),
nrow = 2, ncol = 2, align = "v", rel_widths = c(1,1,1,1),
label_size = 15,
labels = c("A) GENEIOUS+UNITE", "B) SINGLE MICOP",
"C) PAIRED MICOP", "D) KRAKEN2"),hjust = 0)
leg=get_legend(a1)
as2<- plot_grid(as,leg,ncol = 2, rel_widths = c(.93,.07), align = "hv")## Warning: Graphs cannot be vertically aligned unless the axis parameter is set.
## Placing graphs unaligned.
## Warning: Graphs cannot be horizontally aligned unless the axis parameter is
## set. Placing graphs unaligned.
map<- read.csv("../Data/coord.csv") %>% mutate_at(
c(1,2,3,7), as.factor) %>% mutate(SampleID= paste0("P",pol, "S", Sitio,"T", Transecto ))
#a1
fdat <- ggplot2::fortify(cap.veg1_c)
map1<- map[match(rownames(spp_hell1), map$SampleID),]
map1_type<- map1 %>% dplyr::select(Site, Type) %>% group_by(Site, Type) %>% count()
y<-ggordiplots::gg_ordiplot(cap.veg1_c, groups = map1$Site, ellipse = F,
spiders = T, hull = F, plot = F, pt.size = 3.5 )
z <- y$plot
a1<-z+theme_linedraw()+
geom_vline(xintercept = 0, linetype = 2) + #lines-cross
geom_hline(yintercept = 0, linetype = 2) +
theme_linedraw()+
scale_color_viridis_d(option ="turbo" )+#color of points +
ggrepel::geom_label_repel(data = fdat %>% filter(
score=="biplot") %>%
mutate(CAP1=CAP1*0.5, CAP2=CAP2*0.5) ,
aes(x=CAP1, y=CAP2, label= label),
color="black", segment.color = NA, size=4,box.padding = 0.1, label.padding = 0.1 )+
theme_linedraw() +
theme(axis.text = element_text(colour = "black", size = 5),
axis.title = element_text(colour = "black", size = 10),
legend.text = element_text(size = 10),
legend.title = element_text(size = 10),
legend.position = "right",
legend.box = "vertical",
panel.grid.major = element_blank(),
panel.grid.minor = element_blank())+
geom_vline(xintercept = 0, linetype = 2, color="#88929b") + #lines-cross
geom_hline(yintercept = 0, linetype = 2, color="#88929b") +
# geom_label(
# data = y$df_mean.ord,
# aes(x = x, y = y, label=Group),
#label.padding = unit(0.15, "lines"),label.size = 0.5,
#size=5, check_overlap = TRUE
#)+
guides(
color=guide_legend(title="Sites"))+#ylab("CAP2")+xlab("CAP1")+
theme(axis.text = element_text(size = 12))
#a2
fdat <- ggplot2::fortify(cap.veg2_c)
map2<- map[match(rownames(spp_hell2), map$SampleID),]
map2_type<- map2 %>% dplyr::select(Site, Type) %>% group_by(Site, Type) %>% count()
y<-ggordiplots::gg_ordiplot(cap.veg2_c, groups = map2$Site, ellipse = F,
spiders = T, hull = F, plot = F, pt.size = 3.5 )
z <- y$plot
a2<-z+theme_linedraw()+
geom_vline(xintercept = 0, linetype = 2) + #lines-cross
geom_hline(yintercept = 0, linetype = 2) +
theme_linedraw()+
scale_color_viridis_d(option ="turbo" )+#color of points +
ggrepel::geom_label_repel(data = fdat %>% filter(
score=="biplot") %>%
mutate(CAP1=CAP1*0.6, CAP2=CAP2*0.6) ,
aes(x=CAP1, y=CAP2, label= label),
color="black", segment.color = NA, size=4, box.padding = 0.1, label.padding = 0.1)+
theme_linedraw() +
theme(axis.text = element_text(colour = "black", size = 5),
axis.title = element_text(colour = "black", size = 10),
legend.text = element_text(size = 10),
legend.title = element_text(size = 10),
legend.position = "right",
legend.box = "vertical",
panel.grid.major = element_blank(),
panel.grid.minor = element_blank())+
geom_vline(xintercept = 0, linetype = 2, color="#88929b") + #lines-cross
geom_hline(yintercept = 0, linetype = 2, color="#88929b") +
#geom_label(
# data = y$df_mean.ord,
# aes(x = x, y = y, label=Group),
# label.padding = unit(0.15, "lines"),label.size = 0.5,
#size=5, check_overlap = TRUE
#)+
guides(
color=guide_legend(title="Sites"))+#ylab("CAP2")+xlab("CAP1")+
theme(axis.text = element_text(size = 12))
#a3
fdat <- ggplot2::fortify(cap.veg3_c)
map3<- map[match(rownames(spp_hell3), map$SampleID),]
map3_type<- map2 %>% dplyr::select(Site, Type) %>% group_by(Site, Type) %>% count()
y<-ggordiplots::gg_ordiplot(cap.veg3_c, groups = map3$Site, ellipse = F,
spiders = T, hull = F, plot = F, pt.size = 3.5 )
z <- y$plot
a3<-z+theme_linedraw()+
geom_vline(xintercept = 0, linetype = 2) + #lines-cross
geom_hline(yintercept = 0, linetype = 2) +
theme_linedraw()+
scale_color_viridis_d(option ="turbo" )+#color of points +
ggrepel::geom_label_repel(data = fdat %>% filter(
score=="biplot") %>%
mutate(CAP1=CAP1*0.9, CAP2=CAP2*0.9) ,
aes(x=CAP1, y=CAP2, label= label),
color="black", segment.color = NA, size=4, box.padding = 0.1, label.padding =
0.1)+
theme_linedraw() +
theme(axis.text = element_text(colour = "black", size = 5),
axis.title = element_text(colour = "black", size = 10),
legend.text = element_text(size = 10),
legend.title = element_text(size = 10),
legend.position = "right",
legend.box = "vertical",
panel.grid.major = element_blank(),
panel.grid.minor = element_blank())+
geom_vline(xintercept = 0, linetype = 2, color="#88929b") + #lines-cross
geom_hline(yintercept = 0, linetype = 2, color="#88929b") +
# geom_label(
# data = y$df_mean.ord,
# aes(x = x, y = y, label=Group),
#label.padding = unit(0.15, "lines"),label.size = 0.5,
#size=5, check_overlap = TRUE
#)+
guides(
color=guide_legend(title="Sites"))+#ylab("CAP2")+xlab("CAP1")+
theme(axis.text = element_text(size = 12))
#a4
fdat <- ggplot2::fortify(cap.veg4_c)
map4<- map[match(rownames(spp_hell4), map$SampleID),]
map4_type<- map4 %>% dplyr::select(Site, Type) %>% group_by(Site, Type) %>% dplyr::count()
y<-ggordiplots::gg_ordiplot(cap.veg4_c, groups = map4$Site, ellipse = F,
spiders = T, hull = F, plot = F, pt.size = 3.5 )
z <- y$plot
a4<-z+theme_linedraw()+
geom_vline(xintercept = 0, linetype = 2) + #lines-cross
geom_hline(yintercept = 0, linetype = 2) +
theme_linedraw()+
scale_color_viridis_d(option ="turbo" )+#color of points +
ggrepel::geom_label_repel(data = fdat %>% filter(
score=="biplot") %>%
mutate(CAP1=CAP1*0.5, CAP2=CAP2*0.5) ,
aes(x=CAP1, y=CAP2, label= label),
color="black", segment.color = NA, size =4, box.padding = 0.1, label.padding = 0.1)+
theme_linedraw() +
theme(axis.text = element_text(colour = "black", size = 5),
axis.title = element_text(colour = "black", size = 10),
legend.text = element_text(size = 10),
legend.title = element_text(size = 10),
legend.position = "right",
legend.box = "vertical",
panel.grid.major = element_blank(),
panel.grid.minor = element_blank())+
geom_vline(xintercept = 0, linetype = 2, color="#88929b") + #lines-cross
geom_hline(yintercept = 0, linetype = 2, color="#88929b") +
# geom_label(
# data = y$df_mean.ord,
# aes(x = x, y = y, label=Group),
#label.padding = unit(0.15, "lines"),label.size = 0.5,
#size=5, check_overlap = TRUE
#)+
guides(
color=guide_legend(title="Sites"))+#ylab("CAP2")+xlab("CAP1")+
theme(axis.text = element_text(size = 12))
library(cowplot)
as<-plot_grid(a1+theme(aspect.ratio =6.8/10, legend.position = "none"),
a2+theme(aspect.ratio =6.8/10, legend.position = "none"),
a3+theme(aspect.ratio =6.8/10, legend.position = "none"),
a4+theme(aspect.ratio =6.8/10, legend.position = "none"),
nrow = 2, ncol = 2, align = "v", rel_widths = c(1,1,1,1),
label_size = 15,
labels = c("A) GENEIOUS+UNITE", "B) SINGLE MICOP",
"C) PAIRED MICOP", "D) KRAKEN2"),hjust = 0)
leg=get_legend(a1)
as2<- plot_grid(as,leg,ncol = 2, rel_widths = c(.93,.07), align = "hv")## Warning: Graphs cannot be vertically aligned unless the axis parameter is set.
## Placing graphs unaligned.
## Warning: Graphs cannot be horizontally aligned unless the axis parameter is
## set. Placing graphs unaligned.
#CCAS
library(ggvegan)
map<- read.csv("../Data/coord.csv") %>% mutate_at(
c(1,2,3,7), as.factor) %>% mutate(SampleID= paste0("P",pol, "S", Sitio,"T", Transecto ))
#a1
fdat <- ggplot2::fortify(vares_cca1_veg)
map1<- map[match(rownames(spp_hell1), map$SampleID),]
map1_type<- map1 %>% dplyr::select(Site, Type) %>% group_by(Site, Type) %>% count()
y<-ggordiplots::gg_ordiplot(vares_cca1_veg, groups = map1$Site, ellipse = F,
spiders = T, hull = F, plot = F, pt.size = 3.5 )
z <- y$plot
a1<-z+theme_linedraw()+
geom_vline(xintercept = 0, linetype = 2) + #lines-cross
geom_hline(yintercept = 0, linetype = 2) +
theme_linedraw()+
scale_color_viridis_d(option ="turbo" )+#color of points +
ggrepel::geom_label_repel(data = fdat %>% filter(
score=="biplot") %>%
mutate(CCA1=CCA1*1.9, CCA2=CCA2*1.9) ,
aes(x=CCA1, y=CCA2, label= label),
color="black", segment.color = NA, size=4, box.padding = 0.1, label.padding = 0.1)+
theme_linedraw() +
theme(axis.text = element_text(colour = "black", size = 5),
axis.title = element_text(colour = "black", size = 10),
legend.text = element_text(size = 10),
legend.title = element_text(size = 10),
legend.position = "right",
legend.box = "vertical",
panel.grid.major = element_blank(),
panel.grid.minor = element_blank())+
geom_vline(xintercept = 0, linetype = 2, color="#88929b") + #lines-cross
geom_hline(yintercept = 0, linetype = 2, color="#88929b") +
#geom_label(
# data = y$df_mean.ord,
#aes(x = x, y = y, label=Group),
#label.padding = unit(0.15, "lines"),label.size = 0.5,
#size=5, check_overlap = TRUE
#)+
guides(
color=guide_legend(title="Sites"))+#ylab("CCA2")+xlab("CCA1")+
theme(axis.text = element_text(size = 12))
#a2
fdat <- ggplot2::fortify(vares_cca2_veg)
map2<- map[match(rownames(spp_hell2), map$SampleID),]
map2_type<- map2 %>% dplyr::select(Site, Type) %>% group_by(Site, Type) %>% count()
y<-ggordiplots::gg_ordiplot(vares_cca2_veg, groups = map2$Site, ellipse = F,
spiders = T, hull = F, plot = F, pt.size = 3.5 )
z <- y$plot
a2<-z+theme_linedraw()+
geom_vline(xintercept = 0, linetype = 2) + #lines-cross
geom_hline(yintercept = 0, linetype = 2) +
theme_linedraw()+
scale_color_viridis_d(option ="turbo" )+#color of points +
ggrepel::geom_label_repel(data = fdat %>% filter(
score=="biplot") %>%
mutate(CCA1=CCA1*0.6, CCA2=CCA2*0.6) ,
aes(x=CCA1, y=CCA2, label= label),
color="black", segment.color = NA, size=4, box.padding = 0.1, label.padding = 0.1)+
theme_linedraw() +
theme(axis.text = element_text(colour = "black", size = 5),
axis.title = element_text(colour = "black", size = 10),
legend.text = element_text(size = 10),
legend.title = element_text(size = 10),
legend.position = "right",
legend.box = "vertical",
panel.grid.major = element_blank(),
panel.grid.minor = element_blank())+
geom_vline(xintercept = 0, linetype = 2, color="#88929b") + #lines-cross
geom_hline(yintercept = 0, linetype = 2, color="#88929b") +
#geom_label(
# data = y$df_mean.ord,
#aes(x = x, y = y, label=Group),
#label.padding = unit(0.15, "lines"),label.size = 0.5,
#size=5, check_overlap = TRUE
#)+
guides(
color=guide_legend(title="Sites"))+#ylab("CCA2")+xlab("CCA1")+
theme(axis.text = element_text(size = 12))
#a3
fdat <- ggplot2::fortify(vares_cca3_veg)
map3<- map[match(rownames(spp_hell3), map$SampleID),]
map3_type<- map2 %>% dplyr::select(Site, Type) %>% group_by(Site, Type) %>% count()
y<-ggordiplots::gg_ordiplot(vares_cca3_veg, groups = map3$Site, ellipse = F,
spiders = T, hull = F, plot = F, pt.size = 3.5 )
z <- y$plot
a3<-z+theme_linedraw()+
geom_vline(xintercept = 0, linetype = 2) + #lines-cross
geom_hline(yintercept = 0, linetype = 2) +
theme_linedraw()+
scale_color_viridis_d(option ="turbo" )+#color of points +
ggrepel::geom_label_repel(data = fdat %>% filter(
score=="biplot") %>%
mutate(CCA1=CCA1*0.9, CCA2=CCA2*0.9) ,
aes(x=CCA1, y=CCA2, label= label),
color="black", segment.color = NA, size=4,box.padding = 0.1, label.padding = 0.1)+
theme_linedraw() +
theme(axis.text = element_text(colour = "black", size = 5),
axis.title = element_text(colour = "black", size = 10),
legend.text = element_text(size = 10),
legend.title = element_text(size = 10),
legend.position = "right",
legend.box = "vertical",
panel.grid.major = element_blank(),
panel.grid.minor = element_blank())+
geom_vline(xintercept = 0, linetype = 2, color="#88929b") + #lines-cross
geom_hline(yintercept = 0, linetype = 2, color="#88929b") +
#geom_label(
# data = y$df_mean.ord,
#aes(x = x, y = y, label=Group),
#label.padding = unit(0.15, "lines"),label.size = 0.5,
#size=5, check_overlap = TRUE
#)+
guides(
color=guide_legend(title="Sites"))+#ylab("CCA2")+xlab("CCA1")+
theme(axis.text = element_text(size = 12))
#a4
fdat <- ggplot2::fortify(vares_cca4_veg)
map4<- map[match(rownames(spp_hell4), map$SampleID),]
map4_type<- map4 %>% dplyr::select(Site, Type) %>% group_by(Site, Type) %>% dplyr::count()
y<-ggordiplots::gg_ordiplot(vares_cca4_veg, groups = map4$Site, ellipse = F,
spiders = T, hull = F, plot = F, pt.size = 3.5 )
z <- y$plot
a4<-z+theme_linedraw()+
geom_vline(xintercept = 0, linetype = 2) + #lines-cross
geom_hline(yintercept = 0, linetype = 2) +
theme_linedraw()+
scale_color_viridis_d(option ="turbo" )+#color of points +
ggrepel::geom_label_repel(data = fdat %>% filter(
score=="biplot") %>%
mutate(CCA1=CCA1*0.1, CCA2=CCA2*0.1) ,
aes(x=CCA1, y=CCA2, label= label),
color="black", segment.color = NA, size =4, box.padding = 0.1, label.padding = 0.1)+
theme_linedraw() +
theme(axis.text = element_text(colour = "black", size = 5),
axis.title = element_text(colour = "black", size = 10),
legend.text = element_text(size = 10),
legend.title = element_text(size = 10),
legend.position = "right",
legend.box = "vertical",
panel.grid.major = element_blank(),
panel.grid.minor = element_blank())+
geom_vline(xintercept = 0, linetype = 2, color="#88929b") + #lines-cross
geom_hline(yintercept = 0, linetype = 2, color="#88929b") +
#geom_label(
# data = y$df_mean.ord,
#aes(x = x, y = y, label=Group),
#label.padding = unit(0.15, "lines"),label.size = 0.5,
#size=5, check_overlap = TRUE
#)+
guides(
color=guide_legend(title="Sites"))+#ylab("CCA2")+xlab("CCA1")+
theme(axis.text = element_text(size = 12))
as<-plot_grid(a1+theme(aspect.ratio =6.8/10, legend.position = "none"),
a2+theme(aspect.ratio =6.8/10, legend.position = "none"),
a3+theme(aspect.ratio =6.8/10, legend.position = "none"),
a4+theme(aspect.ratio =6.8/10, legend.position = "none"),
nrow = 2, ncol = 2, align = "v", rel_widths = c(1,1,1,1),
label_size = 15,
labels = c("A) GENEIOUS+UNITE", "B) SINGLE MICOP",
"C) PAIRED MICOP", "D) KRAKEN2"),hjust = 0)
leg=get_legend(a1)
as2<- plot_grid(as,leg,ncol = 2, rel_widths = c(.93,.07), align = "hv")
as2