Query Phylomatic for a phylogenetic tree.
Usage
phylomatic(
taxa,
taxnames = TRUE,
get = "GET",
informat = "newick",
method = "phylomatic",
storedtree = "R20120829",
treeuri = NULL,
taxaformat = "slashpath",
outformat = "newick",
clean = TRUE,
db = "apg",
mssgs = TRUE,
...
)Arguments
- taxa
Phylomatic format input of taxa names.
- taxnames
If
TRUE(default), we get the family names for you to attach to your species names to send to Phylomatic API. IfFALSE, you have to provide the strings in the right format.- get
'GET' (default) or 'POST' format for submission to the website.
- informat
One of newick (default), nexml, or cdaordf. If using a stored tree, informat should always be newick.
- method
One of phylomatic (default) or convert
- storedtree
One of R20120829 (Phylomatic tree R20120829 for plants), smith2011 (Smith 2011, plants), binindaemonds2007 (Bininda-Emonds 2007, mammals), or zanne2014 (Zanne et al. 2014, plants). Default: R20120829
- treeuri
URL for a phylogenetic tree in newick format.
- taxaformat
Only option is slashpath for now. Leave as is.
- outformat
One of newick, nexml, or fyt.
- clean
Return a clean tree or not. Default:
TRUE- db
One of "ncbi", "itis", or "apg". Default: apg
- mssgs
Print messages. Default:
TRUE- ...
curl options passed on to crul::HttpClient
Details
Use the web interface at http://phylodiversity.net/phylomatic/
If you set taxnames = FALSE, you need to pass in a character
vector, with each element like this example:
"asteraceae/taraxacum/taraxacum_officinale", of the form
"family/genus/genus_specfic epithet"
Examples
if (FALSE) { # \dontrun{
# Input taxonomic names
taxa <- c("Poa annua", "Phlox diffusa", "Helianthus annuus")
tree <- phylomatic(taxa=taxa, get = 'POST')
plot(tree, no.margin=TRUE)
# Genus names
taxa <- c("Poa", "Phlox", "Helianthus")
tree <- phylomatic(taxa=taxa, storedtree='R20120829', get='POST')
plot(tree, no.margin=TRUE)
# Lots of names
taxa <- c("Poa annua", "Collomia grandiflora", "Lilium lankongense", "Phlox diffusa",
"Iteadaphne caudata", "Gagea sarmentosa", "Helianthus annuus")
tree <- phylomatic(taxa=taxa, get = 'POST')
plot(tree, no.margin=TRUE)
# Don't clean - clean=TRUE is default
(tree <- phylomatic(taxa=taxa, clean = FALSE))
## with clean=FALSE, you can get non-splitting nodes, which you
## need to collpase before plotting
library('ape')
plot(collapse.singles(tree), no.margin=TRUE)
# Output NeXML format
taxa <- c("Gonocarpus leptothecus", "Gonocarpus leptothecus", "Lilium lankongense")
out <- phylomatic(taxa=taxa, get = 'POST', outformat = "nexml")
cat(out)
# Lots of names, note that when you have enough names (number depends on length of individual
# names, so there's no per se rule), you will get an error when using `get='GET'`,
# when that happens use `get='POST'`
library("taxize")
spp <- names_list("species", 500)
# phylomatic(taxa = spp, get = "GET")
(out <- phylomatic(taxa = spp, get = "POST", db = "itis"))
plot(out)
} # }
