The function igraph_to_phylo
takes a taxon graph (see
get_taxon_graph
) and attempts to convert that to a
a phylo
object from ape.
This will fail if the graph is not simple (no loops or multiple edges)
or is not connected (has isolated taxa). Neither of these conditions
should happen in datasets but they do.
igraph_to_phylo(g)
get_phylogeny(record)
A taxon graph returned by get_taxon_graph
A single dataset record id
An phylo
object.
The phylogeny is assigned with equal branch lengths and so displays
showing the taxonomic hierarchy of taxa. Note that the phylogeny will
contain singleton nodes if an internal taxon has a single descendant -
see the example below showing internal node labels. The
ape
functions
has.singles
and
collapse.singles
can be used to detect and remove
these if required.
The function get_phylogeny
is simply a wrapper that calls
get_taxon_graph
and then igraph_to_phylo
.
get_phylogeny
: Get a phylogeny for a dataset
set_example_safe_dir()
#> Loading and caching index
#> Validating directory
beetle_graph <- get_taxon_graph(1400562)
beetle_phylo <- igraph_to_phylo(beetle_graph)
ape::plot.phylo(beetle_phylo, show.node.label = TRUE)
# Or wrapped into a single function
beetle_phylo <- get_phylogeny(1400562)
ape::plot.phylo(beetle_phylo, show.node.label = TRUE)
unset_example_safe_dir()
#> Loading and caching index
#> Validating directory