Introduction and initialization

This is an R Markdown file containing code to parse the results of a dada2 analysis into phyloseq for further analysis. It is separated into chunks that may be run independently by pressing the play button. You will need 3 files in the same location in order to run this pipeline successfully:

Recommended use: Set the individual chunks until you are content with the ouput, then knit the whole document into a PDF/html, so you have a full record of a successful run.

Optional custom Taxonomy file

A custom taxonomy file may be provided instead of using the taxonomy output from dada2. This may be used to supply taxonomy derived e.g. from BLAST searches of the ASVs. Custom taxonomy files must be tab-delimited text with as many rows as the original, colum headers (for all columns except for the first column). For example:

Kingdom Phylum Class Order Family Genus Species
ESV1 Kingdomx Phylumx Classx Orderx Familyx Genusx Speciesx
ESV2 Kingdomy Phylumy Classy Ordery Familyy Genusy Speciesy
ESV3 Kingdomz Phylumz Classz Orderz Familyz Genusz Speciesz
… ESVn Kingdomy Phylumy Classy Ordery Familyy Genusy Speciesy

Friendly warning: Parsing the results of a BLAST search into this format may require some effort.

Descriptor table

‘descriptors.txt’ should be a tab-delimited .txt table describing the samples. It must have the same length and order as the samples in seqtab_nochim.rds. To check the order and length of samples in seqtab_nochim.rds and generate a template to fill out, you may run the chunk below with “optional_sample_check” set to “TRUE”.

Any number of descriptors is possible. The sample names may be retained as one descriptor, but this is not necessary, as they will be added during parsing. For example, if there are 4 samples (order: s1, s2, s3, s4), the txt file could look as follows:

Subject Species Time
Kar1 A.thaliana 24hpi
Kar1 A.thaliana 72hpi
Mec2 S.tuberosum 24hpi
Mec3 S.tuberosum 24hpi

Finally, the file should end with an empty line, since it may throw an error otherwise. However, this is usually not a serious problem.

If you choose to use the blank file, you MUST retain the original order of the samples!

Setup

This chunk also loads required packages and defines the location of the input files. It requires the correct path as input, and allows setting the pruning of control samples and choosing generation of a phylogenetic tree. Beware: The generation of a phylogenetic tree may take several days for >1000 sequences, it is therefore recommended to only use this feature for the final analysis or small sample sets. This scricpt assumes the packages Biostrings, dada2, DECIPHER, ggplot2, ggsci, phangorn, phyloseq and stringr to be installed.

# CHANGE ME to the directory that contains 'seqtab_nochim.rds'
path = "FITS1_DADA2_results_260821/"

# CHANGE ME to TRUE to list all samples and generate an empty metadata file 
optional_sample_check = TRUE

# CHANGE ME to TRUE to update cuphyr
update_cuphyr = TRUE

# Initiate by loading packages and setting knit options
################# NO CHANGES NECESSARY BELOW #################
knitr::opts_chunk$set(echo = TRUE)
knitr::opts_chunk$set(root.dir = paste0(path))
knitr::opts_chunk$set(message = FALSE)
knitr::opts_chunk$set(warning = FALSE)

if (update_cuphyr) {
  devtools::install_github("simeross/cuphyr")
}

# Sequence and microbiome specific libraries
library(dada2)
library(Biostrings)
library(DECIPHER)
library(cuphyr)
# The export of phyloseq objects to a BIOM format and the generation of fancier 
# ordination plots require the phyloseq-extended package. The first command 
# installs the package that is currently on the dev brach of the author's 
# repository, the second command sources some extra functions, including the 
# better ordination plot implementation.
remotes::install_github("mahendra-mariadassou/phyloseq-extended", ref = "dev")
source("https://raw.githubusercontent.com/mahendra-mariadassou/phyloseq-extended/master/load-extra-functions.R" )

library(phyloseq)
#library(SIAMCAT)

# Phylogeny libraries
library(phangorn)
library(ape)

# Plotting and figure export
library(gridExtra)
library(viridis)
library(ggpubr)

# Tidyverse
library(tidyverse)
library(stringr)

# Various packages for specific analysis
library(readxl)
library(openxlsx)
library(ggpmisc)
library(betareg)
library(BBmisc)
library(aod)
library(betareg)
#install.packages('MicrobiomeStat')
library(MicrobiomeStat)


# Checks whether output path exists and creates it if not. Throws warning if 
# directory exists.
outp <- paste0(path,"/analysis_output")
dir.create(file.path(outp))

if (optional_sample_check) {
  seqtabcheck <- readRDS(paste0(path,"/seqtab_nochim.rds")) 
  samps <- rownames(seqtabcheck)
  lensamps <- length(samps)
  blankcol <- vector(mode = "character", length = lensamps)
  blanktable <- data.frame(SampleIDs = samps, ExampleProperty1 = blankcol, 
                           ExampleProperty2 = blankcol, 
                           ExampleProperty3 = blankcol)
  write.table(blanktable, file = paste0(path, "/descriptors_blank.txt"), 
              sep = "\t", row.names = F)
  cat("'seqtab_nochim.rds' contains samples in the following order:\n", 
      samps, "\nThe number of samples in the file is:", lensamps, sep = "\n")
  rm(optional_sample_check, seqtabcheck, samps, 
     lensamps, blankcol, blanktable, update_cuphyr)
  }else{rm(optional_sample_check, update_cuphyr)}
## 'seqtab_nochim.rds' contains samples in the following order:
## 
## 1-its1
## 10-its1
## 11-its1
## 12-its1
## 13-its1
## 14-its1
## 15-its1
## 16-its1
## 17-its1
## 18-its1
## 2-its1
## 3-its1
## 4-its1
## 5-its1
## 6-its1
## 7-its1
## 8-its1
## 9-its1
## NegativK-4-its1
## PositivK-1-its1
## PositivK-2-its1
## PositivK-3-its1
## PositivK-4-its1
## Vann1-its1
## Vann2-its1
## 
## The number of samples in the file is:
## 25

Parameters

This chunk allows the adjustment of several parameters, such as setting the pruning of control samples based on keywords, requiring that a phylogenetic tree be provided or generated, defining a minimum ASV count and providing an alternative taxonomy.

# Dedicated environment containing all global analysis settings for better
# overview and collected export of settings
parameters <- new.env()

# CHANGE ME to 'TRUE' to remove control samples from the analysis or 'FALSE' to
# analyse all samples.
parameters$prune_controls = "TRUE"
# CHANGE ME to a list of unique identifiers that only occur in the names of
# samples you do NOT want to analyse. Common examples are provided.
parameters$controls = c("Pos", "H2O", "Neg", "Kontr", "Contr", "POSK")

# CHANGE ME to 'TRUE' to remove certain taxonomic groups from the analysis by
# name. This is useful to exclude non-target organisms or noise from organelles
# such as Chloroplasts and Mitochondria. It is recommended to first look at all
# data before using this setting.
parameters$prune_noise_taxgroups = "FALSE"
# CHANGE ME to define the taxonomic groups to be removed as noise.
parameters$noise_taxgroups = c("Chloroplast", "Mitochondria")

# CHANGE ME to a number of ASV counts [~reads] that analyzed samples should
# minimally have. Samples with lower ASV counts than 'minread' will be pruned.
# Set to 0 to not prune any samples.
parameters$minASVcount = 3000

# CHANGE ME to 'TRUE', if you want to provide a custom taxonomy table instead
# of using the default dada2 output ('taxa.rds').
parameters$customTax = "TRUE"
# CHANGE ME to the location of the custom taxonomy file. This only matters if
# parameters$customTax='TRUE', otherwise it will be ignored.
parameters$taxfile = "FITS1_DADA2_results_260821/custom_BLAST_taxonomy_nt.txt"

# CHANGE ME to 'TRUE' to generate a phylogenetic tree. This process takes a
# long time depending on the number of sequences (up to days for thousands).
# If a tree is provided as 'phylotree.rds' in 'path', then it will be used
# regardless of the value of 'parameters$maketree'
parameters$maketree = "FALSE"

# CHANGE ME to 'TRUE' to root the used phylogenetic tree (if one exists) on the
# leaf with the longest branch (outgroup). This makes analyses that rely on the
# phylogenetic tree reproducible instead of picking a random leaf as root when
# calculating UNIFRAC distances. Implementation based on
# http://john-quensen.com/r/unifrac-and-tree-roots/ and answers in
# https://github.com/joey711/phyloseq/issues/597
parameters$roottree = "TRUE"

## CHANGE ME to 'TRUE' to export all generated phyloseq objects as .biom
## objects
parameters$biom_export = "FALSE"

Parsing input data

This chunk loads the input data into a usable format.This chunk does not require any user inputs. If no phylogenetic tree with the name ‘phylotree.rds’ was provided and ‘parameters$maketree=“TRUE”’, it will be calculated here. The phylogenetic tree is necessary for certain plots that incorporate ‘true’ taxonomic relationships beyond the annotations, such as PCoA.

############### NO NEED FOR CHANGES BELOW ############### Make dedicated
############### environments to contain temporary values and manage other
############### objects
tmp <- new.env()
plots <- new.env()
set <- new.env()

# Read in variables
tmp$seqtabp <- readRDS(paste0(path, "/seqtab_nochim.rds"))
if (parameters$customTax == "TRUE") {
    tmp$taxap <- read.delim(parameters$taxfile, header = TRUE, sep = "\t")
    rownames(tmp$taxap) <- colnames(tmp$seqtabp)
    tmp$taxap <- as.matrix(tmp$taxap)
} else {
    tmp$taxap <- readRDS(paste0(path, "/taxa.rds"))
}
tmp$samp_table <- read.delim(paste0(path, "/descriptors.txt"), header = TRUE, sep = "\t")
tmp$samp_list <- rownames(tmp$seqtabp)

# Check if descriptors has the same samples as seqtabp
if (length(tmp$samp_table[, 1]) != length(tmp$samp_list)) {
    stop("There are ", length(tmp$samp_table[, 1]), " samples in 'descriptors.txt', but ",
        length(tmp$samp_list), " samples in 'seqtab_nochim.rds'. Please make sure that the correct samples 
    are contained in descriptors.txt.
       
    You may use 'optional_sample_check <- TRUE' in the first chunk to generate an 
    empty template for 'descriptors.txt'")
} else if (!identical(tmp$samp_table[, 1], tmp$samp_list)) {
    warning("Warning: The samples in 'descriptors.txt' do not have the same names 
          or order as the samples in 'seqtab_nochim.rds'. This may be fine if 
          abbreviated names were used or the sample names are not contained in 
          the first column of 'descriptors.txt'. Double-checking never hurts!")
}


# generate phylogenetic tree of ASVs only if there is no file called
# 'phylotree.rds' in the working directory and 'parameters$maketree' is 'TRUE'
if (!file.exists(paste0(path, "/phylotree.rds"))) {
    if (parameters$maketree == "TRUE") {
        tmp$ASVs <- getSequences(tmp$seqtabp)
        names(tmp$ASVs) <- tmp$ASVs
        tmp$ASV_align <- AlignSeqs(DNAStringSet(tmp$ASVs), anchor = NA)
        tmp$ASV_phang <- phyDat(as(tmp$ASV_align, "matrix"), type = "DNA")
        tmp$dm <- dist.ml(tmp$ASV_phang)
        tmp$treeNJ <- NJ(tmp$dm)
        tmp$fit <- pml(tmp$treeNJ, data = tmp$ASV_phang)
        tmp$fitGTR <- update(tmp$fit, k = 4, inv = 0.2)
        tmp$fitGTR <- optim.pml(tmp$fitGTR, model = "GTR", optInv = TRUE, optGamma = TRUE,
            rearrangement = "stochastic", control = pml.control(trace = 0))
        saveRDS(tmp$fitGTR, file = paste0(path, "/phylotree.rds"))
    }
}

## parse into phyloseq object
row.names(tmp$samp_table) <- tmp$samp_list
if (file.exists(paste0(path, "/phylotree.rds"))) {
    tmp$treep <- readRDS(paste0(path, "/phylotree.rds"))
    p <- phyloseq(otu_table(tmp$seqtabp, taxa_are_rows = FALSE), sample_data(tmp$samp_table),
        tax_table(tmp$taxap), phy_tree(tmp$treep$tree))
} else {
    p <- phyloseq(otu_table(tmp$seqtabp, taxa_are_rows = FALSE), sample_data(tmp$samp_table),
        tax_table(tmp$taxap))
}

## Adding nucleotide info and giving sequences ASV## identifiers
tmp$ASV_sequences <- Biostrings::DNAStringSet(taxa_names(p))
taxa_names(p) <- paste0("ASV", seq(ntaxa(p)))
names(tmp$ASV_sequences) <- taxa_names(p)
p <- merge_phyloseq(p, tmp$ASV_sequences)

## optional pruning
if (parameters$prune_controls == "TRUE") {
    if (!is.null(parameters$controls)) {
        tmp$samp_clean <- tmp$samp_list[!tmp$samp_list %in% grep(paste0(parameters$controls,
            collapse = "|"), tmp$samp_list, value = T)]
        tmp$contr_pruned <- setdiff(tmp$samp_list, tmp$samp_clean)
        ps <- prune_samples(tmp$samp_clean, p)
        # Physeq object for Just controls
        ps.contr <- prune_samples(tmp$contr_pruned, p)
        ps.contr <- prune_taxa(taxa_sums(ps.contr) > 0, ps.contr)
        ps.transcontr <- transform_sample_counts(ps.contr, function(ASV) ASV/sum(ASV))

        message(cat("\n", "Number of control samples that were pruned and will not be analysed:\n",
            length(tmp$samp_list) - length(tmp$samp_clean), "\n", "The following controls were pruned:\n",
            tmp$contr_pruned, "The controls are contained in a separate phyloseq object: ps.contr",
            "\n", sep = "\n"))
    } else {
        warning(cat("\n\nparameters$prune_controls is TRUE but 'parameters$controls' is empty. 
    No samples were pruned.\n\n"))
    }
} else {
    ps <- p
}
## 
## 
## Number of control samples that were pruned and will not be analysed:
## 
## 5
## 
## 
## The following controls were pruned:
## 
## NegativK-4-its1
## PositivK-1-its1
## PositivK-2-its1
## PositivK-3-its1
## PositivK-4-its1
## The controls are contained in a separate phyloseq object: ps.contr
# Prune ASVs defined as noise
if (parameters$prune_noise_taxgroups == "TRUE") {
    tmp$ps_taxlvls <- colnames(tax_table(ps))
    tmp$noise_ASVs <- character(0)
    for (lvl in tmp$ps_taxlvls) {
        tmp$noise_ASVs <- c(tmp$noise_ASVs, cuphyr::list_subset_ASVs(physeq = ps,
            subv = parameters$noise_taxgroups, taxlvlsub = lvl))
    }
    tmp$noise_ASVs <- unique(tmp$noise_ASVs)
    tmp$no_noise_ASVs <- colnames(otu_table(ps))
    tmp$no_noise_ASVs <- setdiff(tmp$no_noise_ASVs, tmp$noise_ASVs)
    if (length(tmp$noise_ASVs) > 0) {
        ps <- prune_taxa(tmp$no_noise_ASVs, ps)
        tmp$no_noise_ps <- ps
        cat(length(tmp$noise_ASVs), "ASVs were pruned because they belonged to the following 
        taxonomic groups:\n")
        cat(parameters$noise_taxgroups, "\n", sep = "\n")
    } else {
        cat("No ASVs were recognized as belonging to the following taxonomic groups 
        defined as noise:\n")
        cat(parameters$noise_taxgroups, "\n", sep = "\n")
    }
}

# Prune samples with fewer than reads than minASVcount
if (parameters$minASVcount > 0) {
    tmp$samp_pruned <- names(which(sample_sums(ps) < parameters$minASVcount))
    ps <- prune_samples(sample_sums(ps) >= parameters$minASVcount, ps)
    if (length(tmp$samp_pruned) > 0) {
        cat("The following samples were pruned because ASV counts were lower than",
            parameters$minASVcount, ":\n")
        cat(tmp$samp_pruned, "\n", sep = "\n")
    }
}
## The following samples were pruned because ASV counts were lower than 3000 :
## Vann1-its1
## Vann2-its1
# Remove 0 count ASVs (e.g. control ASVs that remain) from the base object
ps <- prune_taxa(taxa_sums(ps) > 0, ps)

# Get a tbl of the base object for easier access in some phyloseq-independent
# analyses. Takes some seconds, potentially up to minutes.
ps_tbl <- as_tibble(psmelt(ps))

# Transformed per sample (per-sample relative abundance)
ps.trans <- transform_sample_counts(ps, function(ASV) ASV/sum(ASV))

# Read NDVI values as numeric
sample_data(ps)[["ndvi"]] <- as.numeric(sample_data(ps)[["ndvi"]])
sample_data(ps.trans)[["ndvi"]] <- as.numeric(sample_data(ps.trans)[["ndvi"]])


# Get a tbl of the base object for easier access in some phyloseq-independent
# analyses. Takes some seconds, potentially up to minutes.
ps_tbl <- as_tibble(psmelt(ps))
ps_trans_tbl <- as_tibble(psmelt(ps.trans))

# Condensing to Abundance per Genus and Sample
genus_abundance_tbl_per_sample <- ps_trans_tbl %>%
    group_by(Genus, Sample) %>%
    mutate(Genus_Sample_Abundance = sum(Abundance)) %>%
    select(Genus, Sample, ndvi, Genus_Sample_Abundance, Alias) %>%
    unique()


if (parameters$roottree == "TRUE" && parameters$maketree == "TRUE") {
    phyloseq::phy_tree(ps) <- cuphyr::root_tree_in_outgroup(physeq = ps)
}

if (parameters$biom_export == "TRUE") {
    suppressWarnings(phyloseq.extended::write_phyloseq(p, biom_file = paste0(path,
        "all_samples.biom"), biom_format = "standard"))
    suppressWarnings(phyloseq.extended::write_phyloseq(ps, biom_file = file.path(path,
        "samples_without_controls.biom"), biom_format = "standard"))
    suppressWarnings(phyloseq.extended::write_phyloseq(ps.trans, biom_file = file.path(path,
        "samples_without_controls_rel_abundance.biom"), biom_format = "standard"))
    suppressWarnings(phyloseq.extended::write_phyloseq(ps.contr, biom_file = file.path(path,
        "just_controls.biom"), biom_format = "standard"))
}

ps
## phyloseq-class experiment-level object
## otu_table()   OTU Table:         [ 1013 taxa and 18 samples ]
## sample_data() Sample Data:       [ 18 samples by 19 sample variables ]
## tax_table()   Taxonomy Table:    [ 1013 taxa by 7 taxonomic ranks ]
## refseq()      DNAStringSet:      [ 1013 reference sequences ]

Output

The chunks below will produce various plots and other output. Each chunk is headed by a description of the output and may contain some parameters to adjust the output.

Plot looks

This chunk sets the background structure and color palette. Viridis was chosen because it is optimized for grey-scale printing and various types of color blindness and More info on the Viridis palette can be found on the Viridis info page. It also establishes save_plot as a shorter variant of ggsave with customized date-time structure to save plots with the same name mulitple times instead of overwriting them (overwriting can be triggered with overwrite=TRUE).

##### Optional settings (sensible defaults) #####
# Can be changed to adjust the output format for all plots. Default "pdf", 
# possible "eps"/"ps", "tex" (pictex), "jpeg", "tiff", "png", "bmp" and "svg"
parameters$output_format = "pdf"

# Can be changed to preferred ggplot2 theme. Recommended: "theme_bw()".
theme_set(theme_bw())

############### NO NEED FOR CHANGES BELOW ###############

my_scale_col <- scale_color_viridis(discrete = TRUE)
my_scale_fill <- scale_fill_viridis(discrete = TRUE)

# Custom, more narrow color ranges based on viridis
# Base order to have adjacent colors be distinct from each other
tmp$sort_colors <- c(rbind(c(1:5), c(6:10), c(11:15), c(16:20)))

# Customized vectors
tmp$n_col <- 20
tmp$viridis_greens <- viridis(tmp$n_col,  option = "D", begin = 0.85, 
                              end = 0.7)[tmp$sort_colors]
tmp$viridis_reds <- viridis(tmp$n_col,  option = "B", begin = 0.7, 
                            end = 0.5)[tmp$sort_colors]
tmp$viridis_blues <- viridis(tmp$n_col,  option = "D", begin = 0.2, 
                             end = 0.4)[tmp$sort_colors]
tmp$viridis_yellows <- viridis(tmp$n_col,  option = "D", begin = 1, 
                               end = 0.9)[tmp$sort_colors]
tmp$viridis_dark <- viridis(tmp$n_col,  option = "A", begin = 0, 
                            end = 0.1)[tmp$sort_colors]
tmp$viridis_light <- viridis(tmp$n_col,  option = "A", begin = 1, 
                             end = 0.9)[tmp$sort_colors]
# Collected list that is available in the global environment
sub_viridis <- list(tmp$viridis_greens, tmp$viridis_blues, tmp$viridis_yellows, 
                    tmp$viridis_light, tmp$viridis_reds, tmp$viridis_dark)
names(sub_viridis) <- c("greens", "blues", "yellows", "lights", "reds", "darks")

tmp$out <- paste0(".", parameters$output_format)

#################### Function ############################

# Generic save function for plots that checks whether file exists and if so, 
# creates a new one with d/m/y+time info to avoid overwriting. Overwriting can 
# be triggered with overwrite = TRUE. Width, height and resolution are taken 
# from parameters in the 'set' environment or set to 20x20 cm with 300dpi.
save_plot <- function(
  pl, filetype = ".pdf", plot_name = "my_plot", overwrite=FALSE){
  wp <- if (!is.null(set$wp)) set$wp else 20
  hp <- if (!is.null(set$hp)) set$hp else 20
  res <- if (!is.null(set$res)) set$res else 300
  name <- paste0("/", plot_name,filetype)
  if (file.exists(paste0(outp, name)) & !overwrite) {
  name <- paste0("/", plot_name, "_", 
                 format(Sys.time(), "%d-%m-%y_%H%M%S"),filetype)}
  ggsave(file.path(outp, name), pl, 
         width = wp, height = hp, unit = "cm", dpi = res)
}

################################################

Total ASV counts ranked

This chunk plots the absolute abundance of all samples (including controls) and all samples without controls and other trimmed samples.

# CHANGE ME to the sample group for color coding. Accepted values are the column 
# headers in the descriptor file.
set$color_by = "prat_mol_asv"

##### Optional settings (sensible defaults) #####

# Can be changed to change the width (in cm) of the saved plot.
set$wp = 17
# Can be changed to change the height (in cm) of the saved plot.
set$hp = 20  
# Can be changed to change the resolution (in dpi) of the saved plot.
set$res = 300

############### NO NEED FOR CHANGES BELOW ###############
# Rank samples
set$ranked <- cuphyr::make_ranked_sums(p, myset = tmp$subset_id)
set$ranked_ps <- cuphyr::make_ranked_sums(ps, myset = tmp$subset_id)
set$ymax <- max(set$ranked$Abundance)
set$ymax <- set$ymax + round(set$ymax/10)
set$xmax <- nrow(set$ranked) + 1
set$title2 <- "Samples (without controls)"

# Stabilize colors
set$color_vars <- set$ranked[,set$color_by]  %>% 
  unlist() %>% as.character() %>% unique()
set$color_vars <- sort(set$color_vars)
set$color_varsPalette <- viridis(length(set$color_vars))
names(set$color_varsPalette) <- set$color_vars
set$my_scale_fill <- scale_fill_manual(values = set$color_varsPalette)

# plot
plots$overview_all <- ggplot(data = set$ranked, aes(x = Rank, y = Abundance)) + 
  aes_string(fill = set$color_by) + 
  geom_col() + set$my_scale_fill + ggtitle("All samples") + ylim(0, set$ymax) + 
  xlim(0,set$xmax) + ylab("ASV counts ('reads')")

if (length(tmp$noise_ASVs) > 0) {
  set$ranked_nonoise <- cuphyr::make_ranked_sums(
    tmp$no_noise_ps, myset = tmp$subset_id)
  plots$overview_noise <- ggplot(
    data = set$ranked_nonoise, aes(x = Rank, y = Abundance)) + 
  aes_string(fill = set$color_by) + 
  geom_col() + set$my_scale_fill + 
    ggtitle("Samples (without controls), noise ASVs removed") + 
    ylim(0, set$ymax) + 
    xlim(0,set$xmax) + ylab("ASV counts ('reads')")
}

if (parameters$minASVcount > 0) {
plots$overview_all <- plots$overview_all + 
  geom_hline(yintercept = parameters$minASVcount, linetype = "dashed") + 
    ggtitle("All samples (ASV count cutoff indicated)")
set$title2 <- "Samples (without controls and low count samps)"
}

plots$overview_ps <- ggplot(data = set$ranked_ps, aes(x = Rank, y = Abundance)) + 
  aes_string(fill = set$color_by) + 
  geom_col() + set$my_scale_fill + ggtitle(set$title2) + ylim(0, set$ymax) + 
  xlim(0,set$xmax) + ylab("ASV counts ('reads')")
plots$combo_overview <- ggarrange(
  plots$overview_all, plots$overview_ps, nrow = 2, align = "v", 
  common.legend = TRUE, legend = "right")

if (parameters$minASVcount > 0) {
plots$combo_overview <- ggarrange(
  plots$overview_all, plots$overview_noise, plots$overview_ps,
  nrow = 3, align = "v", 
  common.legend = TRUE, legend = "right")
}

#Save plots
save_plot(plots$combo_overview, plot_name = "Overview_all_and_pruned", 
          filetype = tmp$out)

#Clean up plot parameters
rm(list = ls(set), envir = set)

#Print plots
plots$combo_overview

Controls

This chunk generates an overview over the controls (positive AND negative)

# CHANGE ME to the desired sample categories on the x-axis. In this case it 
# should be the Sample names.
set$x_axis_value = "SampleIDs"

# CHANGE ME to the taxonomic level for color coding. Use "OTU" for ASVs, 
# "Genus", "Species" or "OTU" recommended to compare pos. controls.
set$color_by_taxlvl = "Species"

# CHANGE ME to the taxonomic level for labeling the tree tips (if phylogenetic 
# tree is available). Use "OTU" for ASVs.
set$label_by_taxlvl = "OTU"

# CHANGE ME to a sample category to shape the tree tip labels by (if 
# phylogenetic tree is available).
set$label_shape_by = "Symptom"

##### Optional settings (sensible defaults) #####

# Can be changed to generate a tree for just the control sequences IF no 
# phylogenetic tree for all seuquences is provided. This may slow down this 
# chunk when running it for the first time
set$control_tree = TRUE

# Can be changed to change the width (in cm) of the saved plot.
set$wp = 17
# Can be changed to change the height (in cm) of the saved plot.
set$hp = 20  
# Can be changed to change the resolution (in dpi) of the saved plot.
set$res = 300

############### NO NEED FOR CHANGES BELOW ###############
if (set$control_tree & class(try(phy_tree(ps.transcontr), 
                                 silent = TRUE)) == "try-error") {
  # generate phylogenetic tree of ASVs only if there is no file called 
  # 'phylotree.rds' in the working directory and 'parameters$maketree' is "TRUE"
  if (!file.exists(paste0(path, "/controls_phylotree.rds"))) {
    set$ASVs <- phyloseq::refseq(ps.transcontr)
    set$ASV_align <- AlignSeqs(set$ASVs, anchor = NA)
    set$ASV_phang <- phyDat(as(set$ASV_align, "matrix"), type = "DNA")
    set$dm <- dist.ml(set$ASV_phang)
    set$treeNJ <- NJ(set$dm)
    set$fit <- pml(set$treeNJ, data = set$ASV_phang)
    set$fitGTR <- update(set$fit, k = 4, inv = 0.2)
    set$fitGTR <- optim.pml(set$fitGTR, model = "GTR", 
                            optInv = TRUE, optGamma = TRUE,
                            rearrangement = "stochastic", 
                            control = pml.control(trace = 0))
    saveRDS(set$fitGTR, file = paste0(path, "/controls_phylotree.rds"))}
  set$fitGTR <- readRDS(paste0(path, "/controls_phylotree.rds"))
  phyloseq::phy_tree(ps.transcontr) <- set$fitGTR$tree
}

plots$topnpplot <- plot_bar(ps.contr, x = set$x_axis_value, 
                            fill = set$color_by_taxlvl) + my_scale_fill + 
  theme(axis.title.x = element_blank(), legend.position = "none", 
        legend.key.size = unit(3, "mm")) + 
  ylab("ASV counts") + guides(col = guide_legend(ncol = 3))

plots$topntplot <- plot_bar(ps.transcontr, x = set$x_axis_value, 
                            fill = set$color_by_taxlvl) + my_scale_fill + 
  theme(axis.title.x = element_blank(), legend.position = "none", 
        legend.key.size = unit(3, "mm")) + 
  ylab("Relative abundance") + guides(col = guide_legend(ncol = 3))

plots$combo_contr <- ggarrange(plots$topnpplot, plots$topntplot, ncol = 2, 
                               labels = c("A", "B"), align = "hv", 
                               common.legend = TRUE, legend = "right")

if (class(try(phy_tree(ps.transcontr), silent = TRUE)) != "try-error") {
plots$tre <- plot_tree(
          ps.transcontr, ladderize = "left", label.tips = set$label_by_taxlvl, 
          color = "abundance", text.size = 2.5, shape = set$label_shape_by) + 
          scale_color_viridis_c(aesthetics = c("color","fill")) + 
          theme(legend.position = "left", panel.border = element_blank())
plots$combo_contr <- ggarrange(plots$tre, ggarrange(plots$topnpplot, 
                                                    plots$topntplot, ncol = 2, 
                               labels = c("B", "C"), align = "hv", 
                               common.legend = TRUE, legend = "right"), 
                               nrow = 2, legend = "right", labels = c("A")) 
}

# save
save_plot(plots$combo_contr, plot_name = "Controls", filetype = tmp$out)

plots$combo_contr

Get a list of Top N taxa at a given level

This chunk lists the top n most abundant taxonomic terms at a given level. Change the function parameters to the desired values. For more info, check help page of the function with ?cuphyr::abundant_tax_physeq(). Change ‘ignore_na’ to include/exclude NA values at the given level.

#The character vector can later be accessed by calling 'tmp$tops'
tmp$tops <- cuphyr::abundant_tax_physeq(physeq = ps, 
                            lvl = "Genus",
                            top = 10,
                            output_format = "tops",
                            ignore_na = TRUE,
                            silent = FALSE)
## 
## The top 10 most abundant annotated groups at the taxonomic level 'Genus' are:
## Mrakia
## Mortierella
## Sistotrema
## Candida
## Solicoccozyma
## Juxtiphoma
## Saitozyma
## Sporidiobolus
## Tausonia
## Naganishia

ASVs belonging to phylum

This chunk gives an overview of the number of ASVs belonging to which Phylum

fits1_list <- cuphyr::list_subset_ASVs(subv = c("Fungi"), taxlvlsub = "Kingdom")
cuphyr::summarise_physeq(physeq = ps, 
                          ASV_sublist = fits1_list, 
                          sublist_id = "Fungi", samp_names = FALSE)
## There are 1013 ASVs in the phyloseq object 'ps'.
## Of this, 982 belong to the provided subset (Fungi), representing 98.17 percent of abundance per sample on average.
fits1_list <- cuphyr::list_subset_ASVs(subv = c("Fungi"), taxlvlsub = "Kingdom")
cuphyr::summarise_physeq(physeq = ps, 
                          ASV_sublist = fits1_list, 
                          sublist_id = "Fungi", samp_names = FALSE)
## There are 1013 ASVs in the phyloseq object 'ps'.
## Of this, 982 belong to the provided subset (Fungi), representing 98.17 percent of abundance per sample on average.
ps_trans_tbl %>% select(OTU, Phylum) %>% unique() %>% group_by(Phylum) %>% summarise(length(OTU)) 
## # A tibble: 17 × 2
##    Phylum                 `length(OTU)`
##    <chr>                          <int>
##  1 'uncultured eukaryote'             2
##  2 'uncultured fungus'              223
##  3 Apicomplexa                        1
##  4 Arthropoda                        13
##  5 Ascomycota                       337
##  6 Basidiomycota                    244
##  7 Chlorophyta                        2
##  8 Ciliophora                         1
##  9 Mollusca                           2
## 10 Mucoromycota                     114
## 11 Nematoda                           1
## 12 Olpidiomycota                      9
## 13 Platyhelminthes                    1
## 14 Rhodophyta                         1
## 15 Streptophyta                       4
## 16 Zoopagomycota                      2
## 17 <NA>                              56
# Total ASV counts

ps_tbl %>% select(OTU, Abundance) %>% summarise(total_sum = sum(Abundance))
## # A tibble: 1 × 1
##   total_sum
##       <int>
## 1   1246983
# Total ASV counts per phylum

ps_tbl %>% select(OTU, Kingdom, Abundance) %>% group_by(Kingdom) %>% summarise(Abundance_sum = sum(Abundance))
## # A tibble: 4 × 2
##   Kingdom       Abundance_sum
##   <chr>                 <int>
## 1 Fungi               1219571
## 2 Metazoa               27068
## 3 Viridiplantae           211
## 4 <NA>                    133
# Percentage of ASV counts belonging to Fungi

its1_percentage = 1219571/1246983 # ASV counts Fungi / Total ASV counts
its1_percentage
## [1] 0.9780173

Customized Top N Genus Bar plot

This chunk plots abundance of the Top n ASVs or taxa at a given level as a bar plot, giving an insight into the presence of the n ASV and most common taxa for the primary and secondary parameters. The default for n is set at 20, a larger n may lead to delay/skipping of the plot in standard out, but it should be saved as a PDF regardless for ASVs. For taxa, a large n may lead to unreadable plots. The chunk does not require any input, but it is possible to adjust the default ‘n’, and to change width, height and resolution of the PDF-output if necessary.

# CHANGE ME to the desired sample categories on the x-axis. 
# Accepted values are the column headers in the descriptor file.
set$x_axis_value = "ndvi"

# CHANGE ME to the taxonomic level of interest (color coding). Accepted values 
# are the column headers in your descriptor file.
set$taxlvl = "Genus"

# CHANGE ME to change the number of Top n taxa to be plotted at 
# taxlvl.
set$top_n = 10

# Can be changed to include (FALSE) or exclude (TRUE) NA values in the barplot
set$ignore_na = FALSE

# CHANGE ME to an entry at the chosen taxonomic level you want to highlight. 
# Comment out to not highlight anything.
#set$highlight = "Meloidogyne"

##### Optional settings (sensible defaults) #####

# Can be changed to change the width (in cm) of the saved plot.
set$wp = 20
# Can be changed to change the height (in cm) of the saved plot.
set$hp = 13
# Can be changed to change the resolution (in dpi) of the saved plot.
set$res = 300

# Can be changed to change the y-axis label
set$y_axis_label = "Relative abundance"

# Can be changed to change the x-axis label
set$x_axis_label = "Sample"

############### NO NEED FOR CHANGES BELOW ###############
# Estimate Alpha-diversity (Shannon)
set$alpha_div_ps_trans <- estimate_richness(ps.trans, measures = "Shannon") %>%
  as_tibble(rownames = "Sample") 
  #rename("Shannon" = Simpson)

# Make physeq objects of top n taxa and top n ASVs
set$ps.topnTax <- cuphyr::abundant_tax_physeq(ps.trans, lvl = set$taxlvl, 
                                              top = set$top_n, 
                                              ignore_na = set$ignore_na)

# Plot
set$my_scale_fill <- my_scale_fill


set$topntax_tbl <- psmelt(set$ps.topnTax) %>% 
                    as_tibble() %>%
                    left_join(set$alpha_div_ps_trans, by = "Sample") %>% 
                    select(Genus, Alias, ndvi, Abundance, Shannon) %>%
                    filter(Abundance > 0) %>%
                    group_by(Genus, Alias, ndvi, Shannon) %>%
                    summarise(Abundance = sum(Abundance)) %>%
                    arrange(ndvi) %>%
                    mutate(ndvi_rank = c(1:length(ndvi))) 
                    

plots$topn_tax_custom <- ggplot(set$topntax_tbl, aes(
  x = fct_reorder(Alias, ndvi),
                           y = Abundance,
                           fill = Genus)) + 
                           #title = paste0("Top ", set$top_n, " ", set$taxlvl))) +
  geom_col(color = "black") +
  set$my_scale_fill + 
  ylab(set$y_axis_label) +
  xlab(set$x_axis_label) +
  theme(strip.background = element_blank(),
        legend.position = "bottom")

plots$ndvi_dot_plot <- ggplot(set$topntax_tbl, aes(fct_reorder(Alias, ndvi),
                           y = ndvi)) +
                             geom_point() +
    theme(strip.background = element_blank(),
        axis.title.x=element_blank()) +
  ylab("NDVI")

plots$shannon_dot_plot <- ggplot(set$topntax_tbl, 
                                 aes(fct_reorder(Alias, ndvi),
                           y = Shannon)) +
                             geom_point() +
    theme(strip.background = element_blank(),
        axis.title.x=element_blank()) +
  ylab("Shannon")



plots$combo_topn_custom <- ggarrange(plots$ndvi_dot_plot,
                                     plots$shannon_dot_plot,
                                     plots$topn_tax_custom,
                                     nrow = 3,
                                     heights = c(1, 1, 3),
                                     align = "v")

save_plot(plots$combo_topn_custom, plot_name = paste0("Customized_NDVI_Shannon_plot"), 
          filetype = tmp$out)

plots$combo_topn_custom

NDVI+Shannon regression

topntax_data <- set$topntax_tbl %>%
  mutate(Taxa = 'fits1') %>%
  ungroup() %>%
  select(Alias, ndvi, Shannon, Taxa) %>%
  distinct()

write.csv(topntax_data, file = "../topntax_all_taxa/topntax_data_fits1.csv")

NDVI regression

# Create properly formatted tibble with columns Sample, ndvi_01 (ndvi translated to (0, 1) interval) and one column for each genus
# containing the sample abundances for that genus.
ldf <- data.frame(genus_abundance_tbl_per_sample %>% pivot_wider(id_cols = c('Sample', 'ndvi'), names_from = 'Genus', values_from = 'Genus_Sample_Abundance'))
ldf_genus_data <- data.frame(ldf) %>% select(!c('Sample', 'ndvi'))
colnames(ldf_genus_data) <- gsub(' ', '.', colnames(ldf_genus_data))
ldf <- cbind.data.frame(
Sample = ldf$Sample,
ndvi_01 = (ldf$ndvi + 1) / 2.0
)
ldf <- tibble(cbind(ldf, ldf_genus_data))

n_samples_by_genus <- data.frame(ldf_genus_data > 0) %>% mutate_if(is.logical, as.numeric) %>% colSums() %>% sort(decreasing = TRUE)
keep_n <- 100 # Maximum number of genuses to include in the analysis
top_n_occurence_genuses <- names(n_samples_by_genus[1:keep_n])
top_n_occurence_genuses <- top_n_occurence_genuses[!is.na(top_n_occurence_genuses)]

l_genus_ldf <- ldf %>% select(all_of(top_n_occurence_genuses))
l_genus_ldf_transposed <- data.frame(t(l_genus_ldf))
l_meta_ldf <- ldf %>% select('ndvi_01')

l_model <- linda(
l_genus_ldf_transposed,
l_meta_ldf,
formula = '~ ndvi_01',
feature.dat.type = 'proportion',
is.winsor = FALSE,
alpha = 0.05
)
## 0  features are filtered!
## The filtered data has  18  samples and  100  features will be tested!
## Fit linear models ...
## Completed.
# Print model info
l_model
## $variables
## [1] "ndvi_01"
## 
## $bias
## [1] -0.1560564
## 
## $output
## $output$ndvi_01
##                          baseMean log2FoldChange      lfcSE         stat
## Mrakia               340184.59007   -0.204087169 0.15117277 -1.350026034
## Candida               44204.60411    0.313554734 0.33157232  0.945660163
## Sistotrema            74105.32511    0.110212031 0.29324305  0.375838517
## Bactrocera             7806.33499    0.679090318 0.43293090  1.568588222
## Mortierella          192461.65172   -0.043290897 0.10349192 -0.418302196
## Sporidiobolus         14874.06202    1.578834180 0.32349836  4.880501396
## Juxtiphoma            39774.07212    0.014101235 0.13977953  0.100881977
## Tausonia              26322.26036   -0.093883636 0.20364465 -0.461016964
## Naganishia            25647.20607    0.369171189 0.18162449  2.032606935
## Saitozyma             34589.98512    0.236064479 0.07448041  3.169484105
## Botrytis              14364.12697    0.695648156 0.31302174  2.222363697
## Solicoccozyma         46636.49367    0.013954771 0.06928624  0.201407523
## Holtermanniella       12365.63902    0.157407640 0.17455343  0.901773426
## Tetracladium          14309.09600   -0.769677521 0.19939424 -3.860079020
## Ascobolus              4672.21703   -0.242018800 0.22181684 -1.091074945
## Trichosporiella       10518.07870   -0.441756988 0.18542568 -2.382393812
## Dendryphion            3285.61699   -0.518529490 0.20130949 -2.575782666
## Papiliotrema          10698.66436    0.140491327 0.15715957  0.893940617
## Incrupila              6995.67328   -0.411028144 0.13784184 -2.981882344
## Paraphoma              1637.31059   -0.561378782 0.46430853 -1.209064120
## Paraphaeosphaeria      6106.05411   -0.155745024 0.16111694 -0.966658302
## Didymella              1307.00291   -0.260531888 0.35851067 -0.726706098
## Haplosporangium        4078.80668    0.150041293 0.15062673  0.996113350
## X.uncultured.fungus.  16818.86991    0.103333263 0.14308774  0.722167139
## Burgoa                 1522.54815    0.637244740 0.33030186  1.929279894
## Pseudoanguillospora    1166.01391   -0.132895032 0.31691179 -0.419343919
## Apiotrichum            1184.39462    0.735278334 0.33262155  2.210555332
## Exophiala              3276.55056   -0.113893840 0.11244333 -1.012899900
## NA.                    5499.72627   -0.266086115 0.17017266 -1.563624351
## Aaosphaeria            2209.49427    0.001404389 0.23712799  0.005922492
## Pleotrichocladium      1228.03054   -0.246732117 0.24353919 -1.013110509
## Polyphilus             1015.79623    0.122375715 0.19369307  0.631802245
## Vishniacozyma           766.26376    0.859195545 0.25898552  3.317542830
## Anungitopsis            700.15888   -0.141167271 0.13627747 -1.035881236
## Cystobasidium           423.89482    0.014674994 0.35558944  0.041269489
## Herpotrichia           1784.66557    0.343009347 0.56174244  0.610616760
## Dioszegia               776.03696    1.412501022 0.50024785  2.823602412
## Boreoplaca             1100.10727    1.625276241 0.31549585  5.151497958
## Epicoccum              1171.99679    1.037309278 0.40750798  2.545494361
## Minimedusa             3376.06624    0.266690354 0.25753461  1.035551498
## Pseudeurotium          1512.71376    0.391183616 0.32992436  1.185676676
## Gorgomyces              426.09565   -0.988371202 0.35509022 -2.783436882
## Neoascochyta            377.90003    0.546276025 0.37093243  1.472710321
## Rhizophagus            1106.70653    0.298554887 0.30439906  0.980800960
## Umbelopsis             1187.02092    0.043999878 0.26503403  0.166015955
## Verrucula               374.76993    0.421711104 0.11501219  3.666664436
## Cystofilobasidium      3038.89858    1.990167444 0.55363080  3.594755632
## Olpidium               1036.85803   -1.214407794 0.55815189 -2.175765808
## Barnettozyma            591.32654    0.375901602 0.50843364  0.739332678
## Lambertella             988.62434   -0.390124959 0.20065390 -1.944267992
## Yunzhangia              345.19851    0.356066407 0.35140288  1.013271159
## Pseudogymnoascus        248.04469   -0.119729939 0.33608735 -0.356246488
## Crocicreas              186.96982   -0.209384360 0.46692977 -0.448427947
## Bullera                 534.75171    1.417392235 0.45393514  3.122455446
## Waitea                  144.14805    0.005147444 0.45269064  0.011370777
## Cladophialophora        286.52298   -0.036082125 0.40761705 -0.088519667
## Cadophora               523.10058   -0.882878199 0.20416232 -4.324393531
## Hamamotoa               200.47423    0.033836839 0.45217192  0.074831801
## Stromatinia             162.45048    0.482428813 0.35097822  1.374526362
## Galactomyces            142.75030    0.424632322 0.38808822  1.094164425
## Itersonilia             355.85415    1.626555802 0.35562550  4.573788403
## Knufia                  289.11314    0.012580795 0.39208622  0.032086809
## Cutaneotrichosporon     146.60817    0.036707892 0.52795779  0.069528081
## Cladosporium            204.06860    0.836685957 0.33513887  2.496535102
## Chromosera               79.95274   -0.529805523 0.37203130 -1.424088590
## Rhodotorula             265.30898    1.169297348 0.41330993  2.829105369
## Atractiella             127.43030   -0.041339967 0.45658407 -0.090541852
## Funneliformis           173.97744    1.004949930 0.41280887  2.434419397
## Alternaria              114.82214   -0.327229518 0.31510939 -1.038463236
## Trichosporon            597.64206    0.557732733 0.38101737  1.463798714
## Rhizoctonia             214.33709    0.747246164 0.61251324  1.219967362
## Setophoma                77.48646   -1.196881984 0.36665321 -3.264343371
## Monodictys               83.97420   -0.630170569 0.37448172 -1.682780565
## Cantharellula           197.81389   -0.699373413 0.30905178 -2.262965160
## Paraglomus              117.01600    1.410850242 0.65735957  2.146238221
## Coprinellus              92.70154   -0.996851740 0.45364323 -2.197435488
## Pseudosigmoidea         100.80873   -0.105332522 0.32489559 -0.324204222
## Ganoderma                40.23399   -0.108813056 0.35932951 -0.302822485
## Cryptotrichosporon       86.47389   -1.239531075 0.41707480 -2.971963476
## Sporobolomyces          433.97502    0.868493893 0.32540557  2.668958322
## Filobasidium            162.05987    0.345731693 0.44425968  0.778219825
## Hyaloscypha              59.69257   -1.698611980 0.36960975 -4.595690393
## Laetinaevia             215.56526    0.048539437 0.30093676  0.161294477
## Paraboeremia            181.82217    0.012563635 0.30707594  0.040913772
## Lachnellula              72.61733    0.220247703 0.53297331  0.413243401
## Crassostrea             111.26717    0.909067503 0.32733500  2.777177817
## Hannaella                88.81468   -0.230277245 0.20822486 -1.105906599
## Pichia                  159.95283    0.547036400 0.32341908  1.691416609
## Fusarium                120.37675    0.363078794 0.34250016  1.060083583
## Slooffia                 46.28587    0.942862502 0.39337700  2.396841949
## Degelia                  42.33919   -0.913593597 0.28366338 -3.220696249
## Varicosporium            47.19529    0.103580146 0.30483430  0.339791638
## Aotearoamyces            25.47022    0.608030309 0.28996993  2.096873653
## Boeremia                 94.21359    1.045401610 0.55802848  1.873383965
## Sampaiozyma              80.61828    0.397577050 0.47806504  0.831637989
## Coniochaeta              57.76716   -0.177008246 0.40718654 -0.434710453
## Claroideoglomus          93.40685    0.588468302 0.25426341  2.314404195
## Entoloma                 66.92444   -0.160796858 0.26299201 -0.611413463
## Archaeospora             46.88894    0.312411209 0.38832908  0.804501203
## Pulvinula                46.31055   -0.014919876 0.28655940 -0.052065562
##                            pvalue       padj reject df
## Mrakia               1.957979e-01 0.41659120  FALSE 16
## Candida              3.583854e-01 0.55997716  FALSE 16
## Sistotrema           7.119734e-01 0.86826029  FALSE 16
## Bactrocera           1.363066e-01 0.32730173  FALSE 16
## Mortierella          6.812867e-01 0.84557241  FALSE 16
## Sporidiobolus        1.666677e-04 0.00780430   TRUE 16
## Juxtiphoma           9.208975e-01 0.99469356  FALSE 16
## Tausonia             6.509912e-01 0.84557241  FALSE 16
## Naganishia           5.903332e-02 0.16866664  FALSE 16
## Saitozyma            5.946949e-03 0.04955791   TRUE 16
## Botrytis             4.102506e-02 0.13890315  FALSE 16
## Solicoccozyma        8.429182e-01 0.96887148  FALSE 16
## Holtermanniella      3.805520e-01 0.58273252  FALSE 16
## Tetracladium         1.385568e-03 0.02309280   TRUE 16
## Ascobolus            2.913986e-01 0.54363551  FALSE 16
## Trichosporiella      2.994949e-02 0.11519036  FALSE 16
## Dendryphion          2.031486e-02 0.09673741  FALSE 16
## Papiliotrema         3.846035e-01 0.58273252  FALSE 16
## Incrupila            8.805964e-03 0.05993242  FALSE 16
## Paraphoma            2.442023e-01 0.49837201  FALSE 16
## Paraphaeosphaeria    3.481002e-01 0.55253995  FALSE 16
## Didymella            4.779042e-01 0.66751979  FALSE 16
## Haplosporangium      3.340222e-01 0.54757732  FALSE 16
## X.uncultured.fungus. 4.806143e-01 0.66751979  FALSE 16
## Burgoa               7.162601e-02 0.19358380  FALSE 16
## Pseudoanguillospora  6.805409e-01 0.84557241  FALSE 16
## Apiotrichum          4.197762e-02 0.13890315  FALSE 16
## Exophiala            3.261813e-01 0.54363551  FALSE 16
## NA.                  1.374667e-01 0.32730173  FALSE 16
## Aaosphaeria          9.953478e-01 0.99534778  FALSE 16
## Pleotrichocladium    3.260838e-01 0.54363551  FALSE 16
## Polyphilus           5.364397e-01 0.73337271  FALSE 16
## Vishniacozyma        4.355308e-03 0.04839231   TRUE 16
## Anungitopsis         3.156609e-01 0.54363551  FALSE 16
## Cystobasidium        9.675917e-01 0.99469356  FALSE 16
## Herpotrichia         5.500295e-01 0.73337271  FALSE 16
## Dioszegia            1.223066e-02 0.07084152  FALSE 16
## Boreoplaca           9.653983e-05 0.00780430   TRUE 16
## Epicoccum            2.159908e-02 0.09817763  FALSE 16
## Minimedusa           3.158101e-01 0.54363551  FALSE 16
## Pseudeurotium        2.530607e-01 0.50612141  FALSE 16
## Gorgomyces           1.328745e-02 0.07084152  FALSE 16
## Neoascochyta         1.602279e-01 0.36958745  FALSE 16
## Rhizophagus          3.412898e-01 0.55046743  FALSE 16
## Umbelopsis           8.702241e-01 0.98188829  FALSE 16
## Verrucula            2.084051e-03 0.02977215   TRUE 16
## Cystofilobasidium    2.425943e-03 0.03032428   TRUE 16
## Olpidium             4.490436e-02 0.14032611  FALSE 16
## Barnettozyma         4.704137e-01 0.66751979  FALSE 16
## Lambertella          6.966079e-02 0.19350221  FALSE 16
## Yunzhangia           3.260094e-01 0.54363551  FALSE 16
## Pseudogymnoascus     7.263101e-01 0.87507238  FALSE 16
## Crocicreas           6.598576e-01 0.84557241  FALSE 16
## Bullera              6.563640e-03 0.05048954  FALSE 16
## Waitea               9.910682e-01 0.99534778  FALSE 16
## Cladophialophora     9.305622e-01 0.99469356  FALSE 16
## Cadophora            5.233783e-04 0.01046757   TRUE 16
## Hamamotoa            9.412762e-01 0.99469356  FALSE 16
## Stromatinia          1.882254e-01 0.40918566  FALSE 16
## Galactomyces         2.900821e-01 0.54363551  FALSE 16
## Itersonilia          3.121720e-04 0.00780430   TRUE 16
## Knufia               9.747997e-01 0.99469356  FALSE 16
## Cutaneotrichosporon  9.454308e-01 0.99469356  FALSE 16
## Cladosporium         2.383980e-02 0.10365132  FALSE 16
## Chromosera           1.736316e-01 0.38584796  FALSE 16
## Rhodotorula          1.209238e-02 0.07084152  FALSE 16
## Atractiella          9.289804e-01 0.99469356  FALSE 16
## Funneliformis        2.700101e-02 0.11250421  FALSE 16
## Alternaria           3.144943e-01 0.54363551  FALSE 16
## Trichosporon         1.626185e-01 0.36958745  FALSE 16
## Rhizoctonia          2.401549e-01 0.49837201  FALSE 16
## Setophoma            4.871706e-03 0.04854770   TRUE 16
## Monodictys           1.118259e-01 0.27956467  FALSE 16
## Cantharellula        3.790077e-02 0.13535990  FALSE 16
## Paraglomus           4.753503e-02 0.14404555  FALSE 16
## Coprinellus          4.305998e-02 0.13890315  FALSE 16
## Pseudosigmoidea      7.499831e-01 0.88233311  FALSE 16
## Ganoderma            7.659267e-01 0.89061246  FALSE 16
## Cryptotrichosporon   8.989864e-03 0.05993242  FALSE 16
## Sporobolomyces       1.680599e-02 0.08402996  FALSE 16
## Filobasidium         4.477957e-01 0.64897927  FALSE 16
## Hyaloscypha          2.983997e-04 0.00780430   TRUE 16
## Laetinaevia          8.738806e-01 0.98188829  FALSE 16
## Paraboeremia         9.678708e-01 0.99469356  FALSE 16
## Lachnellula          6.849136e-01 0.84557241  FALSE 16
## Crassostrea          1.345989e-02 0.07084152  FALSE 16
## Hannaella            2.851188e-01 0.54363551  FALSE 16
## Pichia               1.101390e-01 0.27956467  FALSE 16
## Fusarium             3.048479e-01 0.54363551  FALSE 16
## Slooffia             2.910159e-02 0.11519036  FALSE 16
## Degelia              5.340247e-03 0.04854770   TRUE 16
## Varicosporium        7.384331e-01 0.87908697  FALSE 16
## Aotearoamyces        5.225156e-02 0.15368105  FALSE 16
## Boeremia             7.940044e-02 0.20894852  FALSE 16
## Sampaiozyma          4.178527e-01 0.62366068  FALSE 16
## Coniochaeta          6.695787e-01 0.84557241  FALSE 16
## Claroideoglomus      3.426050e-02 0.12689075  FALSE 16
## Entoloma             5.495151e-01 0.73337271  FALSE 16
## Archaeospora         4.328997e-01 0.63661713  FALSE 16
## Pulvinula            9.591210e-01 0.99469356  FALSE 16
## 
## 
## $covariance
## NULL
## 
## $feature.dat.use
##                                 1            2            3            4
## Mrakia               4.863046e-01 4.417461e-01 4.333489e-01 3.948711e-01
## Candida              3.535210e-02 2.892206e-02 1.839322e-02 2.370730e-02
## Sistotrema           5.102202e-02 1.738643e-02 6.272360e-02 6.080056e-02
## Bactrocera           1.674407e-03 9.803210e-03 1.736921e-03 3.136881e-03
## Mortierella          1.907876e-01 1.282301e-01 1.200938e-01 2.170519e-01
## Sporidiobolus        1.579629e-03 2.184715e-02 4.225644e-03 1.257643e-03
## Juxtiphoma           1.747070e-02 3.965891e-02 5.552963e-02 2.769707e-02
## Tausonia             1.766025e-02 3.539529e-02 4.097319e-02 2.068607e-02
## Naganishia           1.307933e-02 2.994906e-02 1.884689e-02 1.877792e-02
## Saitozyma            1.980855e-02 2.314387e-02 2.386322e-02 1.711552e-02
## Botrytis             2.748555e-03 1.705447e-02 3.694198e-03 4.784827e-03
## Solicoccozyma        3.383566e-02 3.713809e-02 3.962514e-02 3.798951e-02
## Holtermanniella      9.920071e-03 1.375561e-02 9.501218e-03 7.314570e-03
## Tetracladium         2.293621e-02 6.857060e-03 2.897029e-02 3.389855e-02
## Ascobolus            3.759517e-03 2.904655e-03 9.138280e-03 6.100293e-03
## Trichosporiella      1.295296e-02 6.857060e-03 1.893763e-02 1.520737e-02
## Dendryphion          2.590592e-03 1.794662e-03 6.053300e-03 3.845209e-03
## Papiliotrema         8.214071e-03 1.143189e-02 8.166122e-03 9.381731e-03
## Incrupila            7.361072e-03 2.759422e-03 5.807020e-03 1.464360e-02
## Paraphoma            2.274666e-03 1.141114e-04 1.970239e-03 5.652168e-03
## Paraphaeosphaeria    2.527407e-03 4.886044e-03 8.904962e-03 7.329026e-03
## Didymella            6.634442e-04 1.192983e-03 1.944315e-03 2.240629e-03
## Haplosporangium      1.421666e-03 2.738674e-03 4.523772e-03 4.669182e-03
## X.uncultured.fungus. 1.105740e-02 1.253151e-02 1.198994e-02 1.512063e-02
## Burgoa               7.898146e-04 5.083146e-04 9.591953e-04 4.914928e-04
## Pseudoanguillospora  6.318516e-04 3.008392e-04 2.359102e-03 1.301010e-03
## Apiotrichum          4.107036e-04 2.686806e-03 1.425831e-04 3.903031e-04
## Exophiala            1.895555e-03 1.670176e-03 4.964484e-03 4.336702e-03
## NA.                  9.540960e-03 2.136996e-03 7.466169e-03 2.124984e-03
## Aaosphaeria          2.274666e-03 4.564457e-04 1.024006e-03 2.009338e-03
## Pleotrichocladium    4.107036e-04 9.855078e-04 2.786851e-03 1.272099e-03
## Polyphilus           4.107036e-04 6.120522e-04 1.348058e-03 3.613918e-04
## Vishniacozyma        9.477775e-05 1.628681e-03 3.759009e-04 2.457464e-04
## Anungitopsis         3.475184e-04 2.282229e-04 9.980816e-04 8.962516e-04
## Cystobasidium        9.477775e-04 7.365374e-04 2.722041e-04 1.734681e-04
## Herpotrichia         3.791110e-04 2.450284e-02 3.759009e-04 1.893693e-03
## Dioszegia            2.168351e-05 6.535473e-04 2.009125e-03 4.336702e-05
## Boreoplaca           5.782269e-05 6.016785e-04 7.518017e-04 1.156454e-04
## Epicoccum            7.459569e-05 8.796954e-03 5.314461e-04 2.023794e-04
## Minimedusa           4.644110e-03 2.686806e-03 2.203557e-03 1.069720e-03
## Pseudeurotium        1.579629e-03 5.913047e-04 6.351428e-04 1.156454e-03
## Gorgomyces           1.611222e-03 2.697179e-04 5.055219e-04 2.255085e-03
## Neoascochyta         6.002591e-04 2.800917e-04 3.759009e-04 5.782269e-05
## Rhizophagus          9.883376e-05 1.078872e-03 1.114740e-03 2.023794e-03
## Umbelopsis           1.705999e-03 6.742948e-04 5.703323e-04 8.817960e-04
## Verrucula            8.394614e-05 2.489704e-04 1.814694e-04 3.613918e-04
## Cystofilobasidium    1.579629e-04 3.459651e-02 1.685073e-04 7.898146e-05
## Olpidium             3.190851e-03 4.564457e-04 1.186032e-02 2.934501e-03
## Barnettozyma         3.791110e-04 6.639211e-04 4.605748e-05 4.605748e-05
## Lambertella          1.042555e-03 5.809309e-04 1.568414e-03 1.445567e-03
## Yunzhangia           8.529997e-04 3.215868e-04 1.425831e-04 4.858352e-05
## Pseudogymnoascus     4.738887e-04 2.074753e-04 2.592420e-04 3.469361e-04
## Crocicreas           2.843332e-04 9.336390e-05 4.277493e-04 3.758475e-04
## Bullera              3.971721e-05 8.506489e-04 1.296210e-04 1.416656e-03
## Waitea               2.211481e-04 4.149507e-05 1.944315e-04 7.227836e-05
## Cladophialophora     3.791110e-04 1.244852e-04 2.203557e-04 7.806063e-04
## Cadophora            1.137333e-03 1.214168e-04 1.101778e-03 1.792503e-03
## Hamamotoa            1.895555e-04 4.356982e-04 1.036968e-03 8.673403e-05
## Stromatinia          2.527407e-04 1.348590e-04 3.306550e-05 3.306550e-05
## Galactomyces         2.593442e-05 5.186883e-05 9.073469e-05 8.673403e-05
## Itersonilia          4.536735e-05 4.149507e-04 9.073469e-05 4.536735e-05
## Knufia               4.422961e-04 1.556065e-04 5.962565e-04 5.203575e-05
## Cutaneotrichosporon  2.527407e-04 6.327998e-04 1.685073e-04 1.445567e-04
## Cladosporium         4.354967e-05 3.527081e-04 1.166589e-04 4.354967e-05
## Chromosera           1.579629e-04 3.112130e-05 9.073469e-05 2.891134e-04
## Rhodotorula          5.398169e-05 2.074753e-04 5.398169e-05 5.398169e-05
## Atractiella          3.159258e-04 7.261637e-05 2.699084e-05 2.699084e-05
## Funneliformis        3.112130e-05 6.224260e-05 3.112130e-05 3.112130e-05
## Alternaria           3.260681e-05 3.260681e-05 1.296210e-04 1.734681e-04
## Trichosporon         3.159258e-04 9.855078e-04 1.579629e-04 1.579629e-04
## Rhizoctonia          3.349590e-05 1.452327e-04 9.462332e-04 3.469361e-04
## Setophoma            1.263703e-04 4.149507e-05 1.036968e-04 2.081617e-03
## Monodictys           2.312700e-05 1.659803e-04 3.110904e-04 2.168351e-04
## Cantharellula        1.200518e-03 6.029262e-05 4.018251e-04 1.011897e-03
## Paraglomus           1.156350e-05 1.156350e-05 1.156350e-05 1.156454e-04
## Coprinellus          2.211481e-04 1.491914e-05 1.491914e-05 1.734681e-04
## Pseudosigmoidea      3.294459e-05 1.659803e-04 3.294459e-05 3.469361e-04
## Ganoderma            1.037377e-05 2.074753e-05 3.888630e-05 1.037377e-05
## Cryptotrichosporon   4.107036e-04 2.282229e-04 1.166589e-04 3.469361e-04
## Sporobolomyces       1.381724e-04 6.950424e-04 1.381724e-04 1.381724e-04
## Filobasidium         9.477775e-05 4.149507e-04 4.475741e-05 4.475741e-05
## Hyaloscypha          1.895555e-04 1.156350e-05 4.018251e-04 1.301010e-04
## Laetinaevia          8.038954e-05 4.253244e-04 4.277493e-04 3.180248e-04
## Paraboeremia         2.843332e-04 6.588917e-05 6.588917e-05 4.336702e-04
## Lachnellula          4.107036e-04 1.445567e-05 9.073469e-05 2.891134e-05
## Crassostrea          3.349590e-05 3.349590e-05 3.349590e-05 3.349590e-05
## Hannaella            3.732829e-05 3.732829e-05 9.073469e-05 1.734681e-04
## Pichia               5.796765e-05 9.232652e-04 1.814694e-04 5.796765e-05
## Fusarium             4.477345e-05 2.904655e-04 1.425831e-04 8.384290e-04
## Slooffia             1.296210e-05 1.296210e-05 2.592420e-05 1.296210e-05
## Degelia              1.263703e-04 8.299013e-05 5.184840e-05 1.734681e-04
## Varicosporium        1.811489e-05 1.037377e-04 1.555452e-04 1.734681e-04
## Aotearoamyces        9.949655e-06 3.112130e-05 7.777259e-05 9.949655e-06
## Boeremia             2.159268e-05 3.215868e-04 2.159268e-05 2.159268e-05
## Sampaiozyma          2.487414e-05 8.299013e-05 2.487414e-05 7.661506e-04
## Coniochaeta          1.989931e-05 1.141114e-04 6.481049e-05 3.758475e-04
## Claroideoglomus      4.149507e-05 8.299013e-05 4.149507e-05 4.149507e-05
## Entoloma             1.579629e-04 2.978791e-05 2.978791e-05 2.978791e-05
## Archaeospora         1.678923e-05 1.678923e-05 7.777259e-05 1.678923e-05
## Pulvinula            2.009754e-05 2.009754e-05 7.777259e-05 2.009754e-05
##                                 5            6            7            8
## Mrakia               3.878983e-01 3.420844e-01 3.388772e-01 3.387759e-01
## Candida              4.793325e-02 2.142744e-02 4.334255e-02 2.659605e-02
## Sistotrema           4.343373e-02 1.455636e-02 7.296035e-02 1.490535e-02
## Bactrocera           3.508949e-03 6.116451e-03 3.264392e-03 9.909920e-03
## Mortierella          1.758168e-01 2.692628e-01 1.668176e-01 1.421501e-01
## Sporidiobolus        2.367281e-03 1.153785e-02 1.501144e-03 2.911690e-02
## Juxtiphoma           3.384708e-02 3.171419e-02 5.089592e-02 6.247760e-02
## Tausonia             2.778617e-02 2.615379e-02 2.725886e-02 6.761179e-02
## Naganishia           2.300124e-02 2.889427e-02 1.348647e-02 2.238694e-02
## Saitozyma            3.042208e-02 3.417666e-02 3.628955e-02 2.543970e-02
## Botrytis             3.139586e-03 3.713559e-03 1.048418e-02 2.607569e-02
## Solicoccozyma        4.479366e-02 5.179125e-02 4.870377e-02 4.841638e-02
## Holtermanniella      1.061079e-02 1.342442e-02 1.103222e-02 2.843465e-02
## Tetracladium         2.810517e-02 1.263007e-02 2.073008e-02 1.696366e-02
## Ascobolus            2.719855e-03 2.859639e-03 6.195196e-03 1.084656e-02
## Trichosporiella      1.259192e-02 9.810152e-03 1.748952e-02 1.408434e-02
## Dendryphion          4.566670e-03 3.097943e-03 5.551849e-03 2.867748e-03
## Papiliotrema         1.235687e-02 1.062435e-02 7.434236e-03 6.498688e-03
## Incrupila            1.170209e-02 5.361824e-03 8.625620e-03 2.358954e-03
## Paraphoma            3.223532e-03 9.929303e-05 1.667937e-03 6.417743e-03
## Paraphaeosphaeria    8.931869e-03 7.685281e-03 1.122284e-02 6.718394e-03
## Didymella            9.234075e-04 3.455398e-03 9.769348e-04 4.417257e-03
## Haplosporangium      2.904536e-03 9.849869e-03 5.623332e-03 4.995432e-03
## X.uncultured.fungus. 1.764548e-02 1.622448e-02 1.596454e-02 7.516276e-03
## Burgoa               6.547799e-04 9.730717e-04 5.718643e-04 3.700320e-04
## Pseudoanguillospora  4.700984e-04 8.142029e-04 5.742470e-03 1.537946e-03
## Apiotrichum          1.208824e-03 5.480975e-03 4.527259e-04 6.568069e-03
## Exophiala            2.417649e-03 3.296529e-03 3.312047e-03 2.081430e-03
## NA.                  5.439710e-03 4.150449e-03 8.434998e-03 3.191526e-03
## Aaosphaeria          1.947550e-03 2.164588e-03 2.883149e-03 4.394130e-04
## Pleotrichocladium    1.410295e-03 2.164588e-03 3.121426e-03 1.237295e-03
## Polyphilus           1.242403e-03 3.971721e-04 9.769348e-04 4.162860e-04
## Vishniacozyma        3.022061e-04 6.354754e-04 9.054518e-04 1.491692e-03
## Anungitopsis         5.372553e-04 5.361824e-04 1.096073e-03 4.047225e-04
## Cystobasidium        5.708338e-04 7.149098e-04 4.527259e-04 6.128656e-04
## Herpotrichia         2.182600e-03 9.015807e-03 9.245139e-03 1.965795e-04
## Dioszegia            5.708338e-04 5.957582e-05 1.191384e-04 1.680177e-02
## Boreoplaca           1.175246e-04 1.310668e-03 2.382768e-04 3.815955e-04
## Epicoccum            4.029415e-04 5.361824e-04 9.769348e-04 2.012049e-03
## Minimedusa           1.309560e-03 2.601477e-03 2.430423e-03 1.167914e-03
## Pseudeurotium        1.393506e-03 1.072365e-03 4.765536e-04 3.700320e-04
## Gorgomyces           3.928679e-03 2.978791e-04 9.531071e-05 2.890875e-04
## Neoascochyta         4.868876e-04 4.964652e-04 2.891134e-05 3.815955e-04
## Rhizophagus          9.234075e-04 1.548971e-03 2.096836e-03 6.475561e-04
## Umbelopsis           1.208824e-03 2.065295e-03 1.286695e-03 1.381724e-04
## Verrucula            1.678923e-04 3.971721e-04 4.527259e-04 3.122145e-04
## Cystofilobasidium    1.024143e-02 8.856939e-03 7.898146e-05 1.055748e-02
## Olpidium             5.204661e-04 8.737787e-04 1.119901e-03 3.353415e-04
## Barnettozyma         4.751352e-03 5.758996e-04 1.382005e-03 1.271985e-04
## Lambertella          1.091300e-03 1.886568e-03 1.596454e-03 1.260422e-03
## Yunzhangia           1.007354e-04 4.567480e-04 4.050705e-04 2.197065e-04
## Pseudogymnoascus     3.861522e-04 5.560410e-04 2.859321e-04 2.312700e-04
## Crocicreas           3.861522e-04 3.177377e-04 3.335875e-04 1.156350e-04
## Bullera              3.971721e-05 7.943443e-05 3.971721e-05 1.364493e-03
## Waitea               8.394614e-05 2.074753e-05 1.191384e-04 1.156350e-04
## Cladophialophora     6.883583e-04 4.567480e-04 3.469050e-05 6.938101e-05
## Cadophora            7.051476e-04 3.177377e-04 6.195196e-04 2.428335e-04
## Hamamotoa            3.294459e-05 3.375963e-04 2.096836e-03 6.591196e-04
## Stromatinia          3.306550e-05 8.737787e-04 7.148303e-05 1.503255e-04
## Galactomyces         2.182600e-04 5.361824e-04 5.003812e-04 3.931590e-04
## Itersonilia          4.536735e-05 4.536735e-05 4.536735e-05 9.597706e-04
## Knufia               3.693630e-04 5.203575e-05 7.624857e-04 1.040715e-04
## Cutaneotrichosporon  1.678923e-04 4.567480e-04 1.667937e-04 3.469050e-05
## Cladosporium         1.007354e-04 2.581619e-04 4.354967e-05 6.591196e-04
## Chromosera           2.854169e-04 1.191516e-04 1.556065e-05 1.556065e-05
## Rhodotorula          5.398169e-05 2.978791e-04 5.398169e-05 1.387620e-04
## Atractiella          2.699084e-05 1.588689e-04 3.478841e-03 2.197065e-04
## Funneliformis        3.112130e-05 9.929303e-05 4.050705e-04 1.040715e-04
## Alternaria           2.014707e-04 3.260681e-05 1.429661e-04 4.162860e-04
## Trichosporon         1.579629e-04 8.142029e-04 8.673275e-03 1.942668e-03
## Rhizoctonia          3.349590e-05 3.349590e-05 2.621045e-04 9.250801e-05
## Setophoma            7.219368e-04 2.074753e-05 4.765536e-05 2.074753e-05
## Monodictys           1.175246e-04 2.312700e-05 1.191384e-04 4.625400e-05
## Cantharellula        1.343138e-04 3.177377e-04 3.812429e-04 1.271985e-04
## Paraglomus           1.156350e-05 1.156350e-05 1.191384e-04 2.312700e-05
## Coprinellus          3.357846e-04 3.574549e-04 1.906214e-04 8.094451e-05
## Pseudosigmoidea      3.022061e-04 3.294459e-05 3.294459e-05 1.850160e-04
## Ganoderma            1.511031e-04 9.929303e-05 1.191384e-04 9.250801e-05
## Cryptotrichosporon   2.048286e-03 3.971721e-05 1.429661e-04 3.700320e-04
## Sporobolomyces       1.381724e-04 1.381724e-04 1.381724e-04 4.741035e-04
## Filobasidium         4.475741e-05 2.184447e-04 8.101411e-04 1.376057e-03
## Hyaloscypha          7.387260e-04 7.943443e-05 1.191384e-04 2.312700e-05
## Laetinaevia          1.678923e-04 4.964652e-04 8.038954e-05 7.631911e-04
## Paraboeremia         6.588917e-05 6.588917e-05 6.588917e-05 6.588917e-05
## Lachnellula          1.445567e-05 1.191516e-04 1.445567e-05 1.445567e-05
## Crassostrea          3.349590e-05 1.588689e-04 7.148303e-05 3.349590e-05
## Hannaella            1.175246e-04 7.943443e-05 2.144491e-04 2.081430e-04
## Pichia               5.796765e-05 5.796765e-05 5.796765e-05 5.796765e-05
## Fusarium             4.477345e-05 2.184447e-04 4.477345e-05 6.591196e-04
## Slooffia             1.296210e-05 2.780205e-04 1.296210e-05 1.296210e-05
## Degelia              1.678923e-04 1.492448e-05 1.906214e-04 3.469050e-05
## Varicosporium        1.811489e-05 1.811489e-05 1.811489e-05 9.250801e-05
## Aotearoamyces        9.949655e-06 9.949655e-06 9.949655e-06 3.469050e-05
## Boeremia             2.159268e-05 2.159268e-05 2.159268e-05 3.353415e-04
## Sampaiozyma          2.487414e-05 2.487414e-05 1.906214e-04 2.543970e-04
## Coniochaeta          2.518384e-04 3.177377e-04 1.989931e-05 1.271985e-04
## Claroideoglomus      4.149507e-05 4.149507e-05 4.149507e-05 1.387620e-04
## Entoloma             2.978791e-05 5.957582e-05 2.144491e-04 2.978791e-05
## Archaeospora         3.357846e-05 1.678923e-05 9.531071e-05 1.678923e-05
## Pulvinula            2.009754e-05 1.985861e-04 1.667937e-04 2.009754e-05
##                                 9           10           11           12
## Mrakia               2.348949e-01 3.194431e-01 2.877716e-01 2.602708e-01
## Candida              3.379126e-01 1.420964e-02 7.338417e-02 1.522200e-02
## Sistotrema           1.086512e-01 1.037229e-01 5.190868e-02 4.971905e-02
## Bactrocera           1.251894e-03 1.928628e-03 4.012587e-02 2.371960e-02
## Mortierella          7.853990e-02 2.051563e-01 1.469291e-01 1.632507e-01
## Sporidiobolus        1.103644e-02 4.852678e-03 3.312049e-02 1.508382e-02
## Juxtiphoma           2.658628e-02 4.308929e-02 2.161330e-02 8.235077e-02
## Tausonia             1.083877e-02 1.873880e-02 2.680417e-02 4.789978e-02
## Naganishia           2.141398e-02 1.067589e-02 6.304837e-02 1.027082e-02
## Saitozyma            2.642156e-02 3.215210e-02 2.995085e-02 2.001197e-02
## Botrytis             7.840812e-03 5.366564e-02 7.556617e-03 7.039886e-02
## Solicoccozyma        2.302827e-02 3.870944e-02 3.539437e-02 4.069178e-02
## Holtermanniella      8.400870e-03 4.790464e-03 1.796132e-02 8.935151e-03
## Tetracladium         3.525071e-03 2.627912e-02 6.017732e-03 3.369105e-02
## Ascobolus            3.525071e-03 4.093669e-03 4.639625e-03 1.667281e-02
## Trichosporiella      6.358305e-03 9.817340e-03 5.282742e-03 1.358696e-02
## Dendryphion          7.577255e-04 2.724965e-03 1.837475e-03 1.360999e-02
## Papiliotrema         1.311195e-02 6.320924e-03 2.133768e-02 4.053058e-03
## Incrupila            3.162680e-03 9.244973e-03 2.664339e-03 6.655306e-03
## Paraphoma            1.647229e-04 3.658172e-03 5.971795e-04 2.003500e-03
## Paraphaeosphaeria    2.734401e-03 5.313060e-03 3.238550e-03 5.296610e-03
## Didymella            3.294459e-04 1.567788e-03 7.809270e-04 1.215917e-02
## Haplosporangium      3.096791e-03 4.193211e-03 2.825118e-03 3.799742e-03
## X.uncultured.fungus. 1.202477e-02 1.011597e-02 1.146125e-02 1.066231e-02
## Burgoa               8.071424e-03 2.550766e-03 1.584822e-03 7.599484e-04
## Pseudoanguillospora  3.953350e-03 8.958790e-04 2.526529e-04 1.612012e-03
## Apiotrichum          9.224484e-04 4.354967e-04 2.159033e-03 1.427782e-03
## Exophiala            2.009620e-03 3.160462e-03 1.309201e-03 5.273581e-03
## NA.                  5.831192e-03 2.376568e-03 2.204970e-03 8.566691e-03
## Aaosphaeria          2.372010e-03 2.961378e-03 1.791538e-03 9.211496e-04
## Pleotrichocladium    3.953350e-04 1.605116e-03 3.904635e-04 2.740420e-03
## Polyphilus           9.553930e-04 1.368704e-03 5.282742e-04 9.902358e-04
## Vishniacozyma        4.282796e-04 2.115270e-04 4.111351e-03 7.138909e-04
## Anungitopsis         3.623905e-04 8.834362e-04 5.053057e-04 1.082351e-03
## Cystobasidium        3.953350e-04 7.465658e-05 1.171391e-03 1.151437e-04
## Herpotrichia         3.689794e-03 4.106112e-04 1.527401e-02 9.441783e-04
## Dioszegia            6.588917e-04 5.848099e-04 2.848087e-03 5.526898e-04
## Boreoplaca           1.680174e-03 2.264583e-03 4.685562e-03 5.987472e-04
## Epicoccum            2.306121e-04 4.417181e-03 3.606045e-03 1.842299e-03
## Minimedusa           4.216907e-03 4.504280e-03 5.348599e-04 3.270081e-03
## Pseudeurotium        1.548396e-03 2.077941e-03 1.745602e-03 1.850160e-04
## Gorgomyces           3.349590e-05 8.087796e-04 4.364004e-04 3.914886e-04
## Neoascochyta         6.588917e-04 2.364125e-04 7.349901e-04 1.381724e-04
## Rhizophagus          1.976675e-04 3.857257e-03 5.282742e-04 7.369197e-04
## Umbelopsis           1.054227e-03 1.717101e-03 1.148422e-03 2.763449e-04
## Verrucula            2.306121e-04 4.603822e-04 3.215582e-04 4.375461e-04
## Cystofilobasidium    1.910786e-03 8.709934e-04 3.256925e-02 4.836035e-04
## Olpidium             4.593688e-05 8.585507e-04 9.187377e-05 1.476142e-02
## Barnettozyma         6.259472e-04 2.861836e-04 2.733245e-03 9.211496e-05
## Lambertella          3.953350e-04 1.070078e-03 4.823373e-04 1.473839e-03
## Yunzhangia           1.087171e-03 3.732829e-04 2.296844e-04 4.375461e-04
## Pseudogymnoascus     3.306550e-05 4.354967e-04 2.756213e-04 3.306550e-05
## Crocicreas           6.259472e-04 2.488553e-05 1.244276e-05 1.244276e-05
## Bullera              4.612242e-04 5.350388e-04 5.121962e-03 5.987472e-04
## Waitea               1.976675e-04 2.074753e-05 6.890532e-05 2.302874e-04
## Cladophialophora     1.647229e-04 8.834362e-04 8.498323e-04 3.469050e-05
## Cadophora            1.214168e-04 7.714513e-04 1.214168e-04 1.519897e-03
## Hamamotoa            6.588917e-05 3.294459e-05 2.526529e-04 1.612012e-04
## Stromatinia          1.647229e-04 2.861836e-04 1.837475e-04 5.296610e-04
## Galactomyces         8.565593e-04 8.709934e-05 9.187377e-05 2.593442e-05
## Itersonilia          9.224484e-04 7.465658e-04 7.349901e-04 1.842299e-04
## Knufia               5.203575e-05 1.032749e-03 4.134319e-04 5.203575e-05
## Cutaneotrichosporon  4.282796e-04 1.734525e-05 3.904635e-04 1.734525e-05
## Cladosporium         4.282796e-04 8.709934e-05 2.756213e-04 2.763449e-04
## Chromosera           6.588917e-05 8.709934e-05 1.378106e-04 4.605748e-05
## Rhodotorula          4.612242e-04 3.608401e-04 6.201479e-04 2.993736e-04
## Atractiella          2.699084e-05 1.368704e-04 9.187377e-05 3.454311e-04
## Funneliformis        3.112130e-05 4.106112e-04 9.417061e-04 1.612012e-04
## Alternaria           3.260681e-05 9.954211e-05 3.260681e-05 6.217760e-04
## Trichosporon         6.918363e-04 5.101533e-04 1.194359e-03 1.579629e-04
## Rhizoctonia          3.349590e-05 1.356261e-03 3.349590e-05 3.349590e-05
## Setophoma            2.074753e-05 1.244276e-04 2.074753e-05 4.605748e-05
## Monodictys           6.588917e-05 6.221382e-05 2.312700e-05 1.635041e-03
## Cantharellula        6.029262e-05 2.364125e-04 6.029262e-05 6.029262e-05
## Paraglomus           4.282796e-04 1.318933e-03 3.904635e-04 1.156350e-05
## Coprinellus          1.491914e-05 5.599243e-04 1.491914e-05 7.829772e-04
## Pseudosigmoidea      6.588917e-05 1.866414e-04 1.148422e-04 2.533161e-04
## Ganoderma            1.037377e-05 3.732829e-05 1.037377e-05 6.908622e-05
## Cryptotrichosporon   1.985861e-05 1.617559e-04 1.985861e-05 4.605748e-05
## Sporobolomyces       1.381724e-04 1.381724e-04 1.584822e-03 2.763449e-04
## Filobasidium         1.647229e-04 4.475741e-05 2.756213e-04 7.829772e-04
## Hyaloscypha          1.156350e-05 1.156350e-05 1.156350e-05 2.993736e-04
## Laetinaevia          8.038954e-05 2.239697e-04 1.607791e-04 6.908622e-04
## Paraboeremia         1.317783e-04 5.599243e-04 2.067160e-04 2.533161e-04
## Lachnellula          1.647229e-04 1.445567e-05 3.215582e-04 1.445567e-05
## Crassostrea          2.965013e-04 1.617559e-04 3.349590e-05 3.349590e-05
## Hannaella            3.732829e-05 7.465658e-05 3.732829e-05 1.151437e-04
## Pichia               5.796765e-05 4.852678e-04 4.593688e-04 3.914886e-04
## Fusarium             4.477345e-05 1.368704e-04 4.477345e-05 4.477345e-05
## Slooffia             6.588917e-05 4.977105e-05 1.296210e-05 1.296210e-05
## Degelia              1.492448e-05 1.492448e-05 1.492448e-05 1.492448e-05
## Varicosporium        1.811489e-05 7.465658e-05 1.811489e-05 6.908622e-05
## Aotearoamyces        6.588917e-05 3.732829e-05 6.890532e-05 9.949655e-06
## Boeremia             2.159268e-05 5.300617e-03 1.561854e-03 2.302874e-04
## Sampaiozyma          2.487414e-05 9.954211e-05 7.579586e-04 2.487414e-05
## Coniochaeta          1.989931e-05 1.989931e-05 1.989931e-05 1.989931e-05
## Claroideoglomus      4.149507e-05 1.741987e-04 4.149507e-05 1.151437e-04
## Entoloma             2.978791e-05 7.465658e-05 2.978791e-05 6.908622e-05
## Archaeospora         9.883376e-05 1.678923e-05 1.148422e-04 1.678923e-05
## Pulvinula            2.009754e-05 8.709934e-05 2.009754e-05 9.211496e-05
##                                13           14           15           16
## Mrakia               2.197703e-01 1.847039e-01 2.393617e-01 2.380455e-01
## Candida              1.929306e-02 2.627716e-01 3.700627e-02 1.496428e-02
## Sistotrema           2.575358e-01 9.886585e-02 4.268718e-02 8.602471e-02
## Bactrocera           1.390568e-02 6.745363e-03 6.739375e-03 1.727260e-01
## Mortierella          1.984151e-01 8.134114e-02 1.768048e-01 1.229180e-01
## Sporidiobolus        3.749568e-02 4.708528e-02 5.094056e-02 1.085607e-01
## Juxtiphoma           1.825661e-02 2.218695e-02 3.506351e-02 1.724275e-02
## Tausonia             1.141173e-02 1.213504e-02 3.632295e-02 1.597915e-02
## Naganishia           1.482337e-02 3.746321e-02 3.774318e-02 3.936083e-02
## Saitozyma            2.937684e-02 3.085011e-02 3.731443e-02 2.474479e-02
## Botrytis             2.154949e-02 1.196971e-02 3.872126e-02 1.643683e-02
## Solicoccozyma        3.461306e-02 2.529511e-02 6.423174e-02 3.105287e-02
## Holtermanniella      3.843496e-03 8.464769e-03 2.486736e-02 9.302927e-03
## Tetracladium         8.809812e-03 2.579109e-03 1.548850e-02 5.442461e-03
## Ascobolus            1.425117e-03 1.950865e-03 4.716223e-03 1.452650e-03
## Trichosporiella      6.693729e-03 2.182323e-03 2.053969e-02 3.989812e-03
## Dendryphion          2.418380e-03 1.190358e-03 6.511603e-03 7.661234e-04
## Papiliotrema         4.912334e-03 8.167179e-03 1.677475e-02 7.661234e-03
## Incrupila            7.762567e-03 5.521939e-03 7.248513e-03 4.736036e-03
## Paraphoma            2.925808e-03 1.183745e-02 3.751541e-04 1.273556e-03
## Paraphaeosphaeria    4.156590e-03 1.388751e-03 7.114529e-03 3.362983e-03
## Didymella            8.852997e-04 3.306550e-04 5.091377e-04 5.273317e-04
## Haplosporangium      1.522284e-03 3.174288e-03 3.724744e-03 2.477464e-03
## X.uncultured.fungus. 1.510408e-02 3.356149e-02 1.006217e-02 9.402424e-03
## Burgoa               3.228105e-03 3.835598e-03 3.215606e-04 1.771039e-03
## Pseudoanguillospora  8.529107e-04 9.588996e-04 1.152259e-03 1.989931e-04
## Apiotrichum          3.454828e-04 1.818603e-03 1.768584e-03 2.885400e-04
## Exophiala            2.170064e-03 2.512978e-03 2.947639e-03 2.069528e-03
## NA.                  3.422439e-03 6.315511e-03 5.613913e-03 5.213619e-03
## Aaosphaeria          3.238901e-03 2.116192e-03 1.728388e-03 1.601894e-03
## Pleotrichocladium    4.534462e-04 7.935721e-04 2.438502e-03 3.183890e-04
## Polyphilus           2.483158e-03 7.935721e-04 1.594405e-03 6.765765e-04
## Vishniacozyma        8.313180e-04 1.289555e-03 7.503082e-04 1.741190e-03
## Anungitopsis         9.284851e-04 4.298515e-04 5.225360e-04 5.472310e-04
## Cystobasidium        3.238901e-05 2.645240e-04 1.339836e-03 1.492448e-04
## Herpotrichia         9.828976e-05 3.504943e-03 1.085267e-03 3.880365e-04
## Dioszegia            2.699084e-04 2.215389e-03 2.036551e-03 3.681372e-03
## Boreoplaca           2.774659e-03 1.917799e-03 7.235114e-04 3.024695e-03
## Epicoccum            8.421144e-04 9.588996e-04 3.496972e-03 1.492448e-03
## Minimedusa           6.726119e-03 4.926760e-03 3.148615e-03 4.855432e-03
## Pseudeurotium        4.016238e-03 1.124227e-03 9.646819e-04 1.601894e-03
## Gorgomyces           4.858352e-04 1.322620e-04 6.699180e-05 1.492448e-04
## Neoascochyta         2.807048e-04 3.240419e-03 3.215606e-04 1.492448e-04
## Rhizophagus          2.018915e-03 2.645240e-04 1.219251e-03 7.860227e-04
## Umbelopsis           6.585766e-04 1.025031e-03 1.045072e-03 1.164110e-03
## Verrucula            4.318535e-04 3.306550e-04 3.081623e-04 3.581876e-04
## Cystofilobasidium    1.271809e-02 1.223424e-02 2.827054e-03 5.810598e-03
## Olpidium             3.562792e-04 1.653275e-04 1.574307e-02 4.593688e-05
## Barnettozyma         3.994645e-04 5.852594e-03 3.081623e-04 1.691441e-04
## Lambertella          5.182242e-04 1.976675e-04 1.393429e-03 1.976675e-04
## Yunzhangia           9.716704e-05 9.588996e-04 2.277721e-04 4.858352e-05
## Pseudogymnoascus     2.159268e-04 6.613101e-05 1.071869e-04 1.790938e-04
## Crocicreas           1.187597e-04 6.282446e-04 2.143738e-04 1.293455e-04
## Bullera              1.079634e-03 1.190358e-03 1.822177e-03 2.397867e-03
## Waitea               1.079634e-04 3.604140e-03 2.074753e-05 1.591945e-04
## Cladophialophora     3.454828e-04 3.469050e-05 2.679672e-04 5.969793e-04
## Cadophora            5.506132e-04 1.214168e-04 3.617557e-04 3.681372e-04
## Hamamotoa            1.079634e-04 3.294459e-05 5.225360e-04 8.954689e-05
## Stromatinia          4.102608e-04 6.613101e-05 1.741787e-04 3.306550e-05
## Galactomyces         2.593442e-05 2.645240e-04 1.875770e-04 2.593442e-05
## Itersonilia          1.295561e-04 1.256489e-03 7.637065e-04 3.124192e-03
## Knufia               3.346865e-04 5.951790e-04 5.203575e-05 3.880365e-04
## Cutaneotrichosporon  1.734525e-05 7.605066e-04 3.751541e-04 1.734525e-05
## Cladosporium         4.354967e-05 4.354967e-05 4.019508e-04 1.144210e-03
## Chromosera           1.556065e-05 1.556065e-05 1.556065e-05 1.094462e-04
## Rhodotorula          1.079634e-04 2.645240e-03 6.203441e-03 3.283386e-04
## Atractiella          5.398169e-05 3.306550e-04 2.699084e-05 2.699084e-05
## Funneliformis        4.210572e-04 1.388751e-03 3.112130e-05 1.989931e-04
## Alternaria           1.511487e-04 3.260681e-05 1.607803e-04 2.188924e-04
## Trichosporon         1.579629e-04 1.579629e-04 8.173000e-04 1.579629e-04
## Rhizoctonia          4.318535e-04 1.613597e-02 6.699180e-05 3.349590e-05
## Setophoma            2.074753e-05 2.074753e-05 5.359344e-05 2.188924e-04
## Monodictys           2.312700e-05 2.312700e-05 2.312700e-05 2.312700e-05
## Cantharellula        6.029262e-05 6.029262e-05 1.205852e-04 6.029262e-05
## Paraglomus           6.693729e-04 1.554079e-03 1.156350e-05 2.387917e-04
## Coprinellus          1.491914e-05 1.491914e-05 2.813656e-04 1.491914e-05
## Pseudosigmoidea      1.727414e-04 3.294459e-05 3.294459e-05 6.964758e-05
## Ganoderma            6.477803e-05 1.037377e-05 1.071869e-04 1.037377e-05
## Cryptotrichosporon   1.985861e-05 1.985861e-05 1.985861e-05 1.985861e-05
## Sporobolomyces       1.813785e-03 4.298515e-04 1.902567e-03 2.019780e-03
## Filobasidium         4.475741e-05 4.475741e-05 4.475741e-05 4.875331e-04
## Hyaloscypha          3.238901e-05 1.156350e-05 7.503082e-04 1.156350e-05
## Laetinaevia          8.038954e-05 8.038954e-05 2.545688e-04 8.038954e-05
## Paraboeremia         5.290206e-04 6.588917e-05 6.588917e-05 1.591945e-04
## Lachnellula          2.807048e-04 1.445567e-05 4.823410e-04 1.445567e-05
## Crassostrea          3.454828e-04 4.629170e-04 6.699180e-05 2.686407e-04
## Hannaella            3.732829e-05 3.732829e-05 1.607803e-04 3.732829e-05
## Pichia               2.699084e-04 3.306550e-04 5.796765e-05 5.796765e-05
## Fusarium             4.477345e-05 4.477345e-05 1.607803e-04 8.954689e-05
## Slooffia             1.296210e-05 3.306550e-04 1.741787e-04 1.492448e-04
## Degelia              1.492448e-05 1.492448e-05 6.699180e-05 2.984896e-05
## Varicosporium        1.811489e-05 1.811489e-05 1.811489e-05 5.969793e-05
## Aotearoamyces        9.949655e-06 9.949655e-06 9.949655e-06 1.989931e-05
## Boeremia             4.318535e-05 2.159268e-05 2.143738e-04 2.159268e-05
## Sampaiozyma          2.487414e-05 7.935721e-04 2.487414e-05 4.974827e-05
## Coniochaeta          1.989931e-05 1.989931e-05 1.989931e-05 3.979862e-05
## Claroideoglomus      1.403524e-04 1.983930e-04 4.149507e-05 3.382883e-04
## Entoloma             2.978791e-05 2.978791e-05 2.679672e-04 2.978791e-05
## Archaeospora         2.483158e-04 1.678923e-05 1.678923e-05 1.691441e-04
## Pulvinula            2.009754e-05 2.009754e-05 4.019508e-05 4.974827e-05
##                                17           18
## Mrakia               1.761057e-01 1.168765e-01
## Candida              3.755579e-02 5.599650e-02
## Sistotrema           1.718886e-01 1.681387e-01
## Bactrocera           2.325952e-03 1.287024e-02
## Mortierella          2.290809e-01 2.376519e-01
## Sporidiobolus        3.520086e-02 2.538243e-02
## Juxtiphoma           2.935337e-02 4.684609e-02
## Tausonia             8.615443e-03 1.155736e-02
## Naganishia           1.268767e-02 2.152334e-02
## Saitozyma            4.953336e-02 5.331105e-02
## Botrytis             3.433134e-02 8.185634e-03
## Solicoccozyma        4.683062e-02 4.034135e-02
## Holtermanniella      1.078923e-02 8.275149e-03
## Tetracladium         5.970668e-03 6.146685e-03
## Ascobolus            1.630340e-03 4.107736e-03
## Trichosporiella      5.130137e-03 4.664717e-03
## Dendryphion          1.318764e-03 3.361779e-03
## Papiliotrema         7.231465e-03 1.112968e-02
## Incrupila            8.383572e-03 4.595095e-03
## Paraphoma            2.847661e-03 8.553639e-04
## Paraphaeosphaeria    6.753232e-03 5.778680e-03
## Didymella            1.521651e-03 1.790297e-04
## Haplosporangium      2.195525e-03 4.356388e-03
## X.uncultured.fungus. 1.793374e-02 4.230073e-02
## Burgoa               3.746160e-03 4.654771e-03
## Pseudoanguillospora  1.796997e-03 6.663882e-04
## Apiotrichum          7.173497e-04 2.456685e-03
## Exophiala            3.941800e-03 3.540809e-03
## NA.                  4.463509e-03 5.868194e-03
## Aaosphaeria          5.731552e-03 4.406119e-03
## Pleotrichocladium    9.419744e-04 5.370890e-04
## Polyphilus           1.072402e-03 1.392453e-03
## Vishniacozyma        4.275114e-04 5.669273e-04
## Anungitopsis         6.086604e-04 5.967655e-04
## Cystobasidium        6.086604e-04 5.072507e-04
## Herpotrichia         5.217089e-04 3.471186e-03
## Dioszegia            9.709582e-04 1.889758e-03
## Boreoplaca           4.528723e-03 9.399057e-03
## Epicoccum            5.492435e-03 1.491914e-04
## Minimedusa           4.543215e-03 6.007440e-03
## Pseudeurotium        6.492377e-03 8.135903e-03
## Gorgomyces           1.014434e-03 1.790297e-04
## Neoascochyta         1.811489e-04 8.155796e-04
## Rhizophagus          1.202829e-03 2.924151e-03
## Umbelopsis           2.195525e-03 3.312049e-03
## Verrucula            5.144629e-04 5.470351e-04
## Cystofilobasidium    6.992348e-03 7.628653e-03
## Olpidium             6.347458e-03 6.166577e-04
## Barnettozyma         1.659324e-03 1.342722e-03
## Lambertella          6.376442e-04 1.064232e-03
## Yunzhangia           3.767898e-04 1.581429e-03
## Pseudogymnoascus     7.970552e-05 1.412345e-03
## Crocicreas           5.796765e-05 5.370890e-04
## Bullera              8.695148e-05 1.312884e-03
## Waitea               2.970842e-04 3.779515e-04
## Cladophialophora     2.608544e-04 5.171968e-04
## Cadophora            7.028578e-04 3.481132e-04
## Hamamotoa            3.294459e-05 1.989218e-04
## Stromatinia          2.753464e-04 1.094070e-04
## Galactomyces         1.304272e-04 1.292992e-04
## Itersonilia          7.970552e-04 1.680890e-03
## Knufia               7.390876e-04 7.161186e-04
## Cutaneotrichosporon  3.043302e-04 1.734525e-05
## Cladosporium         2.246247e-04 4.674663e-04
## Chromosera           9.419744e-05 4.774124e-04
## Rhodotorula          5.398169e-05 4.475741e-04
## Atractiella          1.811489e-04 2.088679e-04
## Funneliformis        7.390876e-04 6.763343e-04
## Alternaria           6.521361e-05 6.962265e-05
## Trichosporon         1.376732e-03 7.658491e-04
## Rhizoctonia          1.086894e-03 9.747170e-04
## Setophoma            9.419744e-05 2.074753e-05
## Monodictys           1.014434e-04 9.946092e-05
## Cantharellula        1.739030e-04 5.967655e-04
## Paraglomus           3.637470e-03 3.878976e-04
## Coprinellus          2.391166e-04 2.983828e-05
## Pseudosigmoidea      7.970552e-05 3.294459e-05
## Ganoderma            1.037377e-05 9.946092e-05
## Cryptotrichosporon   1.985861e-05 1.985861e-05
## Sporobolomyces       4.564953e-04 4.575202e-04
## Filobasidium         4.475741e-05 8.951483e-05
## Hyaloscypha          1.156350e-05 1.156350e-05
## Laetinaevia          8.038954e-05 8.038954e-05
## Paraboeremia         4.057736e-04 3.282210e-04
## Lachnellula          4.275114e-04 1.690836e-04
## Crassostrea          3.478059e-04 3.182749e-04
## Hannaella            3.732829e-05 1.392453e-04
## Pichia               1.159353e-04 1.690836e-04
## Fusarium             4.477345e-05 1.591375e-04
## Slooffia             1.666570e-04 1.094070e-04
## Degelia              1.492448e-05 1.492448e-05
## Varicosporium        3.622978e-05 8.951483e-05
## Aotearoamyces        2.173787e-05 1.392453e-04
## Boeremia             2.159268e-05 3.282210e-04
## Sampaiozyma          2.487414e-05 2.487414e-05
## Coniochaeta          1.883949e-04 1.989931e-05
## Claroideoglomus      4.149507e-05 3.580593e-04
## Entoloma             1.594110e-04 1.193531e-04
## Archaeospora         1.678923e-05 2.287601e-04
## Pulvinula            8.695148e-05 2.009754e-05
## 
## $meta.dat.use
##       ndvi_01
## 1  -1.9625407
## 2   0.9980715
## 3  -0.7571646
## 4  -1.1410253
## 5  -1.9896865
## 6   0.6228720
## 7  -0.8421145
## 8   0.9838132
## 9   0.6887884
## 10  0.5747102
## 11  0.5945529
## 12 -1.0529250
## 13  0.6121273
## 14  0.8302155
## 15  0.3130208
## 16  0.5095020
## 17  0.3558477
## 18  0.6619353
## 
## $wald
## $wald$beta
##                 Mrakia   Candida  Sistotrema Bactrocera Mortierella
## (Intercept)  8.8942074 5.9501581  6.69553872  3.4486788   8.0724606
## ndvi_01     -0.3601436 0.1574983 -0.04584439  0.5230339  -0.1993473
##             Sporidiobolus Juxtiphoma   Tausonia Naganishia  Saitozyma  Botrytis
## (Intercept)      4.378760  5.7977898  5.2022449  5.1647632 5.59631589 4.3284318
## ndvi_01          1.422778 -0.1419552 -0.2499401  0.2131148 0.08000806 0.5395917
##             Solicoccozyma Holtermanniella Tetracladium  Ascobolus
## (Intercept)     6.0274208     4.112298297    4.3228940  2.7081407
## ndvi_01        -0.1421016     0.001351223   -0.9257339 -0.3980752
##             Trichosporiella Dendryphion Papiliotrema  Incrupila  Paraphoma
## (Intercept)       3.8788327   2.2001977   3.90339220  3.2904963  1.1953614
## ndvi_01          -0.5978134  -0.6745859  -0.01556509 -0.5670846 -0.7174352
##             Paraphaeosphaeria  Didymella Haplosporangium X.uncultured.fungus.
## (Intercept)         3.0942738  0.8702958     2.512180538           4.55604227
## ndvi_01            -0.3118014 -0.4165883    -0.006015125          -0.05272315
##                Burgoa Pseudoanguillospora Apiotrichum  Exophiala        NA.
## (Intercept) 1.0905213           0.7056184   0.7281833  2.1962112  2.9433932
## ndvi_01     0.4811883          -0.2889514   0.5792219 -0.2699503 -0.4221425
##             Aaosphaeria Pleotrichocladium Polyphilus Vishniacozyma Anungitopsis
## (Intercept)    1.627750         0.7803799  0.5066444    0.09994638  -0.03021235
## ndvi_01       -0.154652        -0.4027885 -0.0336807    0.70313913  -0.29722369
##             Cystobasidium Herpotrichia Dioszegia Boreoplaca Epicoccum
## (Intercept)    -0.7541884    1.3196872 0.1182307  0.6216776 0.7130020
## ndvi_01        -0.1413814    0.1869529 1.2564446  1.4692198 0.8812529
##             Minimedusa Pseudeurotium Gorgomyces Neoascochyta Rhizophagus
## (Intercept)  2.2393766     1.0811724 -0.7467174   -0.9198901   0.6303061
## ndvi_01      0.1106339     0.2351272 -1.1444276    0.3902196   0.1424985
##             Umbelopsis  Verrucula Cystofilobasidium   Olpidium Barnettozyma
## (Intercept)  0.7313788 -0.9318895          2.087582  0.5362518   -0.2739397
## ndvi_01     -0.1120565  0.2656547          1.834111 -1.3704642    0.2198452
##             Lambertella Yunzhangia Pseudogymnoascus Crocicreas    Bullera
## (Intercept)   0.4675277  -1.050468       -1.5272946 -1.9350892 -0.4190255
## ndvi_01      -0.5461814   0.200010       -0.2757864 -0.3654408  1.2613358
##                Waitea Cladophialophora  Cadophora  Hamamotoa Stromatinia
## (Intercept) -2.310343       -1.3192438 -0.4508063 -1.8344779  -2.1378947
## ndvi_01     -0.150909       -0.1921385 -1.0389346 -0.1222196   0.3263724
##             Galactomyces Itersonilia     Knufia Cutaneotrichosporon
## (Intercept)   -2.3244010   -1.006609 -1.3062605          -2.2859292
## ndvi_01        0.2685759    1.470499 -0.1434756          -0.1193485
##             Cladosporium Chromosera Rhodotorula Atractiella Funneliformis
## (Intercept)   -1.8088405 -3.1606752   -1.430221  -2.4881863    -2.0389944
## ndvi_01        0.6806295 -0.6858619    1.013241  -0.1973964     0.8488935
##             Alternaria Trichosporon Rhizoctonia Setophoma Monodictys
## (Intercept) -2.6384939   -0.2586130  -1.7380132 -3.205879  -3.089877
## ndvi_01     -0.4832859    0.4016763   0.5911897 -1.352938  -0.786227
##             Cantharellula Paraglomus Coprinellus Pseudosigmoidea  Ganoderma
## (Intercept)    -1.8537510  -2.611189   -2.947229      -2.8262741 -4.1514081
## ndvi_01        -0.8554298   1.254794   -1.152908      -0.2613889 -0.2648695
##             Cryptotrichosporon Sporobolomyces Filobasidium Hyaloscypha
## (Intercept)          -3.047558     -0.7202827   -2.1413678   -3.582271
## ndvi_01              -1.395587      0.7124375    0.1896753   -1.854668
##             Laetinaevia Paraboeremia Lachnellula Crassostrea  Hannaella
## (Intercept)   -1.729770   -1.9753666 -3.29950881  -2.6838667 -3.0090247
## ndvi_01       -0.107517   -0.1434928  0.06419128   0.7530111 -0.3863337
##                Pichia   Fusarium   Slooffia   Degelia Varicosporium
## (Intercept) -2.160248 -2.5703379 -3.9492510 -4.077829   -3.92117996
## ndvi_01      0.390980  0.2070224  0.7868061 -1.069650   -0.05247627
##             Aotearoamyces   Boeremia Sampaiozyma Coniochaeta Claroideoglomus
## (Intercept)    -4.8110111 -2.9238876  -3.1487158  -3.6295732      -2.9362944
## ndvi_01         0.4519739  0.8893452   0.2415206  -0.3330647       0.4324119
##               Entoloma Archaeospora  Pulvinula
## (Intercept) -3.4172896   -3.9305752 -3.9484818
## ndvi_01     -0.3168533    0.1563548 -0.1709763
## 
## $wald$sig
##               Mrakia              Candida           Sistotrema 
##            0.6233013            1.3671077            1.2090721 
##           Bactrocera          Mortierella        Sporidiobolus 
##            1.7850198            0.4267081            1.3338179 
##           Juxtiphoma             Tausonia           Naganishia 
##            0.5763258            0.8396484            0.7488569 
##            Saitozyma             Botrytis        Solicoccozyma 
##            0.3070906            1.2906217            0.2856745 
##      Holtermanniella         Tetracladium            Ascobolus 
##            0.7197022            0.8221235            0.9145743 
##      Trichosporiella          Dendryphion         Papiliotrema 
##            0.7645297            0.8300203            0.6479855 
##            Incrupila            Paraphoma    Paraphaeosphaeria 
##            0.5683365            1.9143931            0.6643021 
##            Didymella      Haplosporangium X.uncultured.fungus. 
##            1.4781773            0.6210499            0.5899659 
##               Burgoa  Pseudoanguillospora          Apiotrichum 
##            1.3618695            1.3066608            1.3714338 
##            Exophiala                  NA.          Aaosphaeria 
##            0.4636157            0.7016399            0.9777038 
##    Pleotrichocladium           Polyphilus        Vishniacozyma 
##            1.0041378            0.7986170            1.0678246 
##         Anungitopsis        Cystobasidium         Herpotrichia 
##            0.5618864            1.4661328            2.3161234 
##            Dioszegia           Boreoplaca            Epicoccum 
##            2.0625747            1.3008227            1.6801985 
##           Minimedusa        Pseudeurotium           Gorgomyces 
##            1.0618424            1.3603130            1.4640745 
##         Neoascochyta          Rhizophagus           Umbelopsis 
##            1.5293936            1.2550695            1.0927633 
##            Verrucula    Cystofilobasidium             Olpidium 
##            0.4742074            2.2826783            2.3013192 
##         Barnettozyma          Lambertella           Yunzhangia 
##            2.0963256            0.8273172            1.4488712 
##     Pseudogymnoascus           Crocicreas              Bullera 
##            1.3857237            1.9252008            1.8716225 
##               Waitea     Cladophialophora            Cadophora 
##            1.8664913            1.6806481            0.8417828 
##            Hamamotoa          Stromatinia         Galactomyces 
##            1.8643526            1.4471203            1.6001287 
##          Itersonilia               Knufia  Cutaneotrichosporon 
##            1.4662815            1.6166129            2.1768257 
##         Cladosporium           Chromosera          Rhodotorula 
##            1.3818130            1.5339243            1.7041205 
##          Atractiella        Funneliformis           Alternaria 
##            1.8825444            1.7020546            1.2992293 
##         Trichosporon          Rhizoctonia            Setophoma 
##            1.5709749            2.5254568            1.5117499 
##           Monodictys        Cantharellula           Paraglomus 
##            1.5440277            1.2742531            2.7103630 
##          Coprinellus      Pseudosigmoidea            Ganoderma 
##            1.8704190            1.3395788            1.4815535 
##   Cryptotrichosporon       Sporobolomyces         Filobasidium 
##            1.7196435            1.3416815            1.8317296 
##          Hyaloscypha          Laetinaevia         Paraboeremia 
##            1.5239400            1.2407940            1.2661065 
##          Lachnellula          Crassostrea            Hannaella 
##            2.1975052            1.3496368            0.8585331 
##               Pichia             Fusarium             Slooffia 
##            1.3334910            1.4121643            1.6219349 
##              Degelia        Varicosporium        Aotearoamyces 
##            1.1695741            1.2568640            1.1955767 
##             Boeremia          Sampaiozyma          Coniochaeta 
##            2.3008104            1.9711127            1.6788731 
##      Claroideoglomus             Entoloma         Archaeospora 
##            1.0483549            1.0843439            1.6011218 
##            Pulvinula 
##            1.1815147 
## 
## $wald$X
##    (Intercept)    ndvi_01
## 1            1 -1.9625407
## 2            1  0.9980715
## 3            1 -0.7571646
## 4            1 -1.1410253
## 5            1 -1.9896865
## 6            1  0.6228720
## 7            1 -0.8421145
## 8            1  0.9838132
## 9            1  0.6887884
## 10           1  0.5747102
## 11           1  0.5945529
## 12           1 -1.0529250
## 13           1  0.6121273
## 14           1  0.8302155
## 15           1  0.3130208
## 16           1  0.5095020
## 17           1  0.3558477
## 18           1  0.6619353
## attr(,"assign")
## [1] 0 1
## 
## $wald$bias
## [1] -2.2308186 -0.1560564
# Show effect size and significance plots
linda.plot(
l_model,
variables.plot = c('ndvi_01'),
alpha = 0.05,
lfc.cut = 1,
legend = TRUE
)
## $plot.lfc
## $plot.lfc[[1]]

## 
## 
## $plot.volcano
## $plot.volcano[[1]]

l_model_df <- as.data.frame(l_model$output)

write.xlsx(l_model_df, file = "supplementary_table_ndvi_regression_fits1.xlsx", rowNames = TRUE, colnames = TRUE)
Credit

This script is based on ideas and code from the dada2 Tutorial by Benjamin Callahan, the publication “Bioconductor Workflow for Microbiome Data Analysis: from raw reads to community analyses” by Callahan et al. (2016) and various pages of the official phyloseq website by Paul J. McMurdie.

sessionInfo()
## R version 4.4.2 (2024-10-31)
## Platform: x86_64-pc-linux-gnu
## Running under: Ubuntu 22.04.5 LTS
## 
## Matrix products: default
## BLAS:   /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.10.0 
## LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.10.0
## 
## locale:
##  [1] LC_CTYPE=C.UTF-8       LC_NUMERIC=C           LC_TIME=C.UTF-8       
##  [4] LC_COLLATE=C.UTF-8     LC_MONETARY=C.UTF-8    LC_MESSAGES=C.UTF-8   
##  [7] LC_PAPER=C.UTF-8       LC_NAME=C              LC_ADDRESS=C          
## [10] LC_TELEPHONE=C         LC_MEASUREMENT=C.UTF-8 LC_IDENTIFICATION=C   
## 
## time zone: Europe/Oslo
## tzcode source: system (glibc)
## 
## attached base packages:
## [1] parallel  stats4    stats     graphics  grDevices utils     datasets 
## [8] methods   base     
## 
## other attached packages:
##  [1] MicrobiomeStat_1.2  aod_1.3.3           BBmisc_1.13        
##  [4] betareg_3.2-1       ggpmisc_0.6.1       ggpp_0.5.8-1       
##  [7] openxlsx_4.2.7.1    readxl_1.4.3        lubridate_1.9.4    
## [10] forcats_1.0.0       stringr_1.5.1       dplyr_1.1.4        
## [13] purrr_1.0.2         readr_2.1.5         tidyr_1.3.1        
## [16] tibble_3.2.1        tidyverse_2.0.0     ggpubr_0.6.0       
## [19] viridis_0.6.5       viridisLite_0.4.2   phangorn_2.12.1    
## [22] biomformat_1.34.0   vegan_2.6-8         lattice_0.22-6     
## [25] permute_0.9-7       scales_1.3.0        gridExtra_2.3      
## [28] ape_5.8-1           reshape2_1.4.4      phyloseq_1.50.0    
## [31] ggplot2_3.5.1       cuphyr_0.3          DECIPHER_3.2.0     
## [34] Biostrings_2.74.0   GenomeInfoDb_1.42.1 XVector_0.46.0     
## [37] IRanges_2.40.0      S4Vectors_0.44.0    BiocGenerics_0.52.0
## [40] dada2_1.34.0        Rcpp_1.0.13-1      
## 
## loaded via a namespace (and not attached):
##   [1] fs_1.6.5                    matrixStats_1.4.1          
##   [3] bitops_1.0-9                devtools_2.4.5             
##   [5] httr_1.4.7                  RColorBrewer_1.1-3         
##   [7] numDeriv_2016.8-1.1         profvis_0.4.0              
##   [9] tools_4.4.2                 backports_1.5.0            
##  [11] utf8_1.2.4                  R6_2.5.1                   
##  [13] mgcv_1.9-1                  rhdf5filters_1.18.0        
##  [15] urlchecker_1.0.1            withr_3.0.2                
##  [17] quantreg_5.99.1             cli_3.6.3                  
##  [19] Biobase_2.66.0              textshaping_0.4.1          
##  [21] formatR_1.14                sandwich_3.1-1             
##  [23] labeling_0.4.3              sass_0.4.9                 
##  [25] Rsamtools_2.22.0            systemfonts_1.1.0          
##  [27] sessioninfo_1.2.2           rstudioapi_0.17.1          
##  [29] generics_0.1.3              hwriter_1.3.2.1            
##  [31] car_3.1-3                   zip_2.3.1                  
##  [33] Matrix_1.7-1                interp_1.1-6               
##  [35] abind_1.4-8                 lifecycle_1.0.4            
##  [37] yaml_2.3.10                 carData_3.0-5              
##  [39] SummarizedExperiment_1.36.0 rhdf5_2.50.0               
##  [41] SparseArray_1.6.0           grid_4.4.2                 
##  [43] promises_1.3.2              crayon_1.5.3               
##  [45] pwalign_1.2.0               miniUI_0.1.1.1             
##  [47] cowplot_1.1.3               pillar_1.10.0              
##  [49] knitr_1.49                  GenomicRanges_1.58.0       
##  [51] statip_0.2.3                boot_1.3-31                
##  [53] codetools_0.2-20            fastmatch_1.1-4            
##  [55] glue_1.8.0                  ShortRead_1.64.0           
##  [57] data.table_1.16.4           remotes_2.5.0              
##  [59] vctrs_0.6.5                 png_0.1-8                  
##  [61] cellranger_1.1.0            gtable_0.3.6               
##  [63] cachem_1.1.0                xfun_0.49                  
##  [65] S4Arrays_1.6.0              mime_0.12                  
##  [67] modeest_2.4.0               survival_3.8-3             
##  [69] timeDate_4041.110           iterators_1.0.14           
##  [71] statmod_1.5.0               ellipsis_0.3.2             
##  [73] nlme_3.1-166                usethis_3.1.0              
##  [75] fBasics_4041.97             bslib_0.8.0                
##  [77] rpart_4.1.23                colorspace_2.1-1           
##  [79] DBI_1.2.3                   nnet_7.3-19                
##  [81] ade4_1.7-22                 tidyselect_1.2.1           
##  [83] timeSeries_4041.111         compiler_4.4.2             
##  [85] curl_6.0.1                  SparseM_1.84-2             
##  [87] DelayedArray_0.32.0         checkmate_2.3.2            
##  [89] lmtest_0.9-40               quadprog_1.5-8             
##  [91] spatial_7.3-17              digest_0.6.37              
##  [93] minqa_1.2.8                 rmarkdown_2.29             
##  [95] htmltools_0.5.8.1           pkgconfig_2.0.3            
##  [97] jpeg_0.1-10                 lme4_1.1-35.5              
##  [99] MatrixGenerics_1.18.0       stabledist_0.7-2           
## [101] fastmap_1.2.0               rlang_1.1.4                
## [103] htmlwidgets_1.6.4           UCSC.utils_1.2.0           
## [105] shiny_1.10.0                farver_2.1.2               
## [107] jquerylib_0.1.4             zoo_1.8-12                 
## [109] jsonlite_1.8.9              BiocParallel_1.40.0        
## [111] magrittr_2.0.3              polynom_1.4-1              
## [113] modeltools_0.2-23           Formula_1.2-5              
## [115] GenomeInfoDbData_1.2.13     Rhdf5lib_1.28.0            
## [117] munsell_0.5.1               stringi_1.8.4              
## [119] stable_1.1.6                zlibbioc_1.52.0            
## [121] MASS_7.3-61                 plyr_1.8.9                 
## [123] pkgbuild_1.4.5              flexmix_2.3-19             
## [125] ggrepel_0.9.6               deldir_2.0-4               
## [127] splines_4.4.2               multtest_2.62.0            
## [129] hms_1.1.3                   igraph_2.1.2               
## [131] ggsignif_0.6.4              rmutil_1.1.10              
## [133] pkgload_1.4.0               evaluate_1.0.1             
## [135] latticeExtra_0.6-30         RcppParallel_5.1.9         
## [137] nloptr_2.1.1                tzdb_0.4.0                 
## [139] foreach_1.5.2               httpuv_1.6.15              
## [141] MatrixModels_0.5-3          clue_0.3-66                
## [143] broom_1.0.7                 xtable_1.8-4               
## [145] rstatix_0.7.2               later_1.4.1                
## [147] ragg_1.3.3                  lmerTest_3.1-3             
## [149] memoise_2.0.1               GenomicAlignments_1.42.0   
## [151] cluster_2.1.8               timechange_0.3.0