-
Notifications
You must be signed in to change notification settings - Fork 8
Description
Hello,
I have run FUNGuild on a taxonomy table extracted from a phyloseq object, using the following code:
Taxa_processed <- as.data.frame(tax_table(ps_final))
original_rownames <- rownames(Taxa_processed)
Taxa_processed <- Taxa_processed %>%
mutate(Taxonomy = paste0(Kingdom, ";", Phylum, ";", Class, ";", Order, ";",
Family, ";", Genus, ";", Species))
fung <- get_funguild_db()
Funguildresults <- FUNGuildR::funguild_assign(Taxa_processed, db = fung)
The output looked fine, and I have been working with the resulting data. However, I recently happened to notice that Elaphomyces had been classified as a pure saprotroph. I was surprised by this as I thought Elaphomyces was an unambiguously ectomycorrhizal genus, so I searched it directly on the FUNGuild website (http://www.funguild.org/query.php?qText=&qDB=funguild_db&qField=taxon) and sure enough, on there it came up as Ectomycorrhizal.
The citation for Elaphomyces given in the FUNGuildR results also differed from that given by the website. In R, the citation was:
Sterkenburg E, et al. 2015. New Phytologist 207:1145-1158 ((https://doi.org/10.1111/nph.13426))
I had a quick look at this paper and did not find any reference to Elaphomyces. Interestingly, when I filtered my FUNGuildR classified data-frame to include only taxa with this citation, almost all of the taxa returned were classified as pure saprotrophs -- I tried searching a few of these directly on the FUNGuild website as I had done with Elaphomyces, and sure enough, the website gave different trophic modes to those which FUNGuildR had returned for these taxa.
(Of course, I cannot be sure whether or not there are also other misassigned taxa without the Sterkenburg citation).
I think it must be an issue with my code or input data, because I looked up Elaphomyces directly in "fung" after running get_funguild_db and it is correctly classified as ectomycorrhizal there. I am, however, mystified by this and would appreciate any help.
Things I have tried, which did not fix the issue:
- Re-installing FUNGuildR
- Using "get_funguild_db" (initially I was assigning them directly, without first caching the database)
- Using the add_funguild_info() function from MiscMetabar (instead of manually extracting the taxonomy table, running FUNGuild, and returning the taxonomy table to phyloseq)
- Running FUNGuildR on a "test" dataframe with only a few fungal species, including Elaphomyces, taxonomy carefully copied from the UNITE database. Elaphomyces was still misclassified as a saprotroph.
Here are some examples from my taxonomy column, in case I have a mistake there which could be causing the problems:
From misassigned taxa:
k__Fungi;p__Ascomycota;c__Eurotiomycetes;o__Eurotiales;f__Elaphomycetaceae;g__Elaphomyces;s__muricatus
k__Fungi;p__Ascomycota;c__Sordariomycetes;o__Hypocreales;f__Hypocreaceae;g__Sepedonium;NA
From correctly classified taxa:
k__Fungi;p__Basidiomycota;c__Agaricomycetes;o__Agaricales;f__Hydnangiaceae;g__Laccaria;NA
k__Fungi;p__Basidiomycota;c__Agaricomycetes;o__Agaricales;f__Inocybaceae;g__Inocybe;s__napipes
If it was just Elaphomyces affected then I could manually fix it, but there are clearly other incorrectly assigned taxa too (I caught a few and don't know how many more exist) so now I do not trust my data...
Thank you :)
UPDATE: I have found a solution, but only by exporting my dataframe of taxa, classifying it with FUNGuild in Python, and then reimporting the FUNGuild-assigned version back into R. This way, Elaphomyces and the other taxa that were misassigned by FUNGuildR get the correct guild assignment. I used the same dataframes for each. Does this suggest that FUNGuildR is malfunctioning somehow, or was I just doing something wrong?