Phylogenetic Biodiversity Query Tools
phylodiv
: Phylogenetic Biodiversity Query Tools
Development version from GitHub
if (!require("remotes")) install.packages("remotes")
remotes::install_github("ropensci/phylodiv")
BiocManager::install("ggtree")
library('phylodiv')
# given a tree
tree
# read the tree
pd_read()
# collect all higher taxonomic information from those names
pd_taxa()
# compose a phylogeny based query
pd_query()
# send the query to a biodiversity backend, e.g., GBIF
pd_biodiv()
# visualize results
pd_viz()
library(ape)
heli <- c("Helianthus agrestis", "Helianthus angustifolius", "Helianthus annuus",
"Helianthus deserticola", "Helianthus divaricatus", "Helianthus eggertii",
"Helianthus gracilentus", "Helianthus hirsutus", "Helianthus inexpectatus",
"Helianthus laciniatus", "Helianthus maximiliani",
"Helianthus nuttallii", "Helianthus occidentalis", "Helianthus paradoxus",
"Helianthus pauciflorus", "Helianthus petiolaris", "Helianthus porteri",
"Helianthus verticillatus", "Helianthus winteri")
tree <- rcoal(length(heli))
(tree$tip.label <- heli)
#> [1] "Helianthus agrestis" "Helianthus angustifolius"
#> [3] "Helianthus annuus" "Helianthus deserticola"
#> [5] "Helianthus divaricatus" "Helianthus eggertii"
#> [7] "Helianthus gracilentus" "Helianthus hirsutus"
#> [9] "Helianthus inexpectatus" "Helianthus laciniatus"
#> [11] "Helianthus maximiliani" "Helianthus nuttallii"
#> [13] "Helianthus occidentalis" "Helianthus paradoxus"
#> [15] "Helianthus pauciflorus" "Helianthus petiolaris"
#> [17] "Helianthus porteri" "Helianthus verticillatus"
#> [19] "Helianthus winteri"
(res <- pd_read(tree))
#> <PhyloDiv>
#> trees: 1
The PhyloDiv object
class(res)
#> [1] "PhyloDiv" "R6"
names(res)
#> [1] ".__enclos_env__" "data" "query"
#> [4] "trees" "clone" "to_json"
#> [7] "to_list" "fetch_hierarchies" "add_tree"
#> [10] "initialize" "print"
(res <- pd_taxa(res))
#> <PhyloDiv>
#> trees: 1
res$trees
#> [[1]]
#> <PhyloDivOne>
#> tips: 19
#> nodes: 18
#> hierarchies: TRUE
res <- pd_query(res, c("Helianthus agrestis", "Helianthus angustifolius", "Helianthus petiolaris"))
res$query
#> [1] "Helianthus agrestis" "Helianthus angustifolius"
#> [3] "Helianthus petiolaris"
(res <- pd_biodiv(res, type = 'facet', by = "country"))
#> <PhyloDiv>
#> trees: 1
pd_vis(res, type = "facet")
pd_meta() # print to cosole
pd_meta(file = (file <- tempfile())) # save to file
jsonlite::fromJSON(file)
general questions
pd_read:
pd_taxa:
pd_query:
pd_biodiv options include (assuming using GBIF):
rgbif::occ_data()
), slowish; need caching mechanismrgbif::occ_data()
, but just get counts), fast; probably no need for caching mechanismrgbif::occ_download()
), slowish, but only option to “get all the data”; need caching mechanismpd_vis options include:
phylodiv
in R doing citation(package = 'phylodiv')