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.