In this article we will show how we can map the insertions
made in phylogenetic tree through the procedure realized in
FishPhyloMaker
function. Mapping the insertions is of
special importance since allow to understand how the gaps in
phylogenetic knowledge is distributed in the phylogenetic tree. For
example, we can understand if the Characidae family present more
phylogenetic gaps than Loricariidae family.
This can be done by using the information contained in the output of
FishPhyloMaker
function when we set the argument
return.insertions = TRUE
. This returns a data frame
containing the categories of insertion for each species, these
categories are:
To obtain this data frame we need first to run
FishPhyloMaker
setting the argument
return.insertions = TRUE
. We will use data of fish
occurrence in the Neotropical region present in
{FishPhyloMaker}
package.
We need to format this data using function
FishTaxaMaker
With taxon_data we can run FishPhyloMaker
to obtain the
phylogeny and the data frame with all the insertions made by each
species
phylo_fish_Afrotropics <- FishPhyloMaker(data = taxon_data$Taxon_data_FishPhyloMaker,
return.insertions = TRUE,
insert.base.node = TRUE,
progress.bar = TRUE)
The data frame can be extracted and the categories of insertion can
be plotted in the phylogenetic tree by using the information on
phylo_fish_SAmerica$Insertions
library(phytools)
library(ggtree)
library(ggplot2)
insertions_org <- phylo_fish_Afrotropics$Insertions_data[match(tree$tip.label, phylo_fish_Afrotropics$Insertions_data$s), ]
p.base <- ggtree(tree, layout = "circular", size = .3) %<+% insertions_org +
geom_treescale(x = 0, width = 20, linesize = .5, color = "blue",
fontsize = 0) + # plot the scale bar
annotate("text", x = 4, y = 500, label = "20 myr", size = 1.5) # an attempt for add a scale bar
p.full <- p.base +
geom_tippoint(aes(color = insertions),
size = .5, alpha = .8) +
theme(legend.position = "bottom") +
guides(color = guide_legend(override.aes = list(size = 2))) +
scale_color_viridis_d(name = NULL, na.translate = F,
labels = c("Congeneric F", "Congeneric", "Family", "Order", "Present"))
In Figure 1 we can see all the insertions made in the insertion process.