Learn R Programming

FishPhyloMaker

{FishPhyloMaker} is an R package that allows to construct synthesis phylogenies for finned-ray fishes. The package has two main functions, FishTaxaMaker and FishPhyloMaker. The first generate a data frame from fish species names provided by the user, checking the validity of these names and possible synonyms by using the information contained in Fishbase database through the package rfishbase. The output of FishTaxaMaker() function is a list containing the following objects:

  • All_info_fishbase: A data frame containing the taxonomic classification of valid species accordingly to Fishbase;

  • Taxon_data_FishPhyloMaker: A data frame with three columns containing the valid scientific name of the species (s), its family (f) and order (o). This data frame can be used in FishPhyloMaker() to generate the phylogeny;

  • Species_not_in_Fishbase: A character vector containing the names of species that was not found in Fishbase with a valid name data frame object containing three columns with the name of species (s), the Family (f) and the Order (o) of all species provided by the user.

Besides to help checking the validity of the names of species, its synonyms and duplicated species, the data frame returned by FishTaxaMaker() in Taxon_data_FishPhyoMaker are formatted so that it can be directly used in the core function FishPhyloMaker(). This function will use the information of the taxonomic hierarchy contained in the data frame returned from FishTaxaMaker(), joint with the information present in the the fishtree of life project to construct the phylogenetic tree.

Installation

You can install the development version from GitHub with:

devtools::install_github("GabrielNakamura/FishPhyloMaker", ref = "main", build_vignettes = TRUE)

Example

To run an example the user can load a data set present in the package:

library(FishPhyloMaker)
data(neotropical_comm)
data_comm <- neotropical_comm[, -c(1, 2)] # removing latitude and longitude

This data set comprises a community matrix with the occurrences of 59 fish species in headwater streams of Parana and Paraguai River Basins, in Brazil. The coordinates of these streams are presented in the two first columns of this data set.

First the user must obtain the data necessary to enter in FishPhyloMaker using FishTaxaMaker function.

taxon_data <- FishTaxaMaker(data_comm, allow.manual.insert = TRUE)
Characidae
Characiformes
Characidae
Characiformes
Characidae
Characiformes
Loricariidae
Siluriformes
Cichlidae
Cichliformes
Crenuchidae
Characiformes
Gymnotidae
Gymnotiformes
Loricariidae
Siluriformes
Loricariidae
Siluriformes
Loricariidae
Siluriformes
Loricariidae
Siluriformes
Heptapteridae
Siluriformes
Characidae
Characiformes
Loricariidae
Siluriformes
Characidae
Characiformes

FishTaxaMaker finds in Fishbase for the family and the order of species provided in data argument. If any species was not find in Fishbase, the user will be asked to type the Family and the Order of this species manually. This function can also be useful to check possible misspelling errors in the name of species.

Finally run FishPhyloMaker

res_phylo <- FishPhyloMaker(data = taxon_data$Taxon_data_FishPhyloMaker,
                            insert.base.node = TRUE, 
                            return.insertions = TRUE, 
                            progress.bar = TRUE)

The species are inserted in a sequential procedure. Species with any family representatives will be printed in the console jointly with a list of Genus contained of its family contained in the three, so that the user must choose. The user have three options:

  1. Insert near to a specific Genus: the user must type the name of this Genus;
  2. Insert between to Genus: the user must type the names of these two Genus separated by a white space;
  3. Insert at the node that correspond to the Family of the species being inserted: the user must type the name of the Family.

The output has two objects, a phylogenetic tree that can be directly plot with the following code:

plot(res_phylo$Phylogeny, cex = 0.7)

And a data frame indicating at which level the species was inserted (one of the six categories detailed above).

res_phylo$Insertions_data

For more details and updates see FishPhyloMaker web page

Copy Link

Version

Install

install.packages('FishPhyloMaker')

Monthly Downloads

327

Version

0.2.0

License

MIT + file LICENSE

Maintainer

Gabriel Nakamura

Last Published

September 15th, 2021

Functions in FishPhyloMaker (0.2.0)

filter_rank

Function to download species from fishtreeoflife
whichFishAdd

Function to inform which species must be added to the mega-tree phylogeny in the insertion process.
treedata_modif

Internal function to show the number of species from species pool that lacks in phylogeny
PD_defict

Title Calculate the amount of phylogenetic deficit in assemblages
FishPhyloMaker

Obtaining fish phylogeny according to a local pool of species
print_cat

Internal function - auxiliary to interactive procedure
taxon_data_PhyloMaker

Data frame with species names needed to assemble the phylogenetic tree
neotropical_comm

Abundance of stream fish species in Parana and Paraguay streams
spp_afrotropic

List of fish species with occurrence in Afrotropical ecoregion
print_cat2

Internal function
print_cat_family

Internal function to help in interactive process
FishTaxaMaker

Generate a list of species Auxiliary function to obtain taxonomic classification and check the names of species present in species pool