Learn R Programming

⚠️There's a newer version (3.1.1) of this package.Take me there.

An R interface to Open Tree API

rotl is an R package to interact with the Open Tree of Life data APIs. It was initially developed as part of the NESCENT/OpenTree/Arbor hackathon.

Client libraries to interact with the Open Tree of Life API also exists for Python and Ruby.

Installation

The current stable version is available from CRAN, and can be installed by typing the following at the prompt in R:

install.packages("rotl")

If you want to test the development version, you first need to install ghit (ghit is a more lightweight version of devtools if your sole purpose is to install packages that are hosted on GitHub).

install.packages("ghit")

Then you can install rotl using:

library(ghit) # or library(devtools)
install_github("ropensci/rotl")

Vignettes

There are three vignettes:

  • Start by checking out the "How to use rotl?" by typing: vignette("how-to-use-rotl", package="rotl") after installing the package.

  • Then explore how you can use rotl with other packages to combine your data with trees from the Open Tree of Life project by typing: vignette("data_mashups", package="rotl").

  • The vignette "Using the Open Tree Synthesis in a comparative analsysis" demonstrates how you can reproduce an analysis of a published paper by downloading the tree they used, and data from the supplementary material: vignette("meta-analysis", package="rotl").

The vignettes are also available from CRAN: How to use rotl?, Data mashups, and Using the Open Tree synthesis in a comparative analysis.

Quick start

Get a little bit of the big Open Tree tree

Taxonomic names are represented in the Open Tree by numeric identifiers, the ott_ids (Open Tree Taxonomy identifiers). To extract a portion of a tree from the Open Tree, you first need to find ott_ids for a set of names using the tnrs_match_names function:

library(rotl)
apes <- c("Pan", "Pongo", "Pan", "Gorilla", "Hoolock", "Homo")
(resolved_names <- tnrs_match_names(apes))
##   search_string unique_name approximate_match ott_id is_synonym flags
## 1           pan         Pan             FALSE 417957      FALSE      
## 2         pongo       Pongo             FALSE 417949      FALSE      
## 3           pan         Pan             FALSE 417957      FALSE      
## 4       gorilla     Gorilla             FALSE 417969      FALSE      
## 5       hoolock     Hoolock             FALSE 712902      FALSE      
## 6          homo        Homo             FALSE 770309      FALSE      
##   number_matches
## 1              1
## 2              1
## 3              1
## 4              1
## 5              1
## 6              1

Now we can get the tree with just those tips:

tr <- tol_induced_subtree(ott_ids=ott_id(resolved_names))
plot(tr)

The code above can be summarized in a single pipe:

library(magrittr)
## or expressed as a pipe:
c("Pan", "Pongo", "Pan", "Gorilla", "Hoolock", "Homo") %>%
    tnrs_match_names %>%
    ott_id %>%
    tol_induced_subtree %>%
    plot

Code of Conduct

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

Copy Link

Version

Install

install.packages('rotl')

Monthly Downloads

9,145

Version

3.0.0

License

BSD_2_clause + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Francois Michonneau

Last Published

April 26th, 2016

Functions in rotl (3.0.0)

taxonomy_subtree

Taxonomy subtree
inspect.match_names

Inspect and Update alternative matches for a name returned by tnrs_match_names
taxonomy_about

Information about the Open Tree Taxonomy
get_study_tree

Study Tree
tnrs_match_names

Match names to the Open Tree Taxonomy
source_list

List of studies used in the Tree of Life
ott_id.match_names

ott_id and flags for taxonomic names matched by tnrs_match_names
tax_rank

Methods for Taxonomy
study_external_IDs

Get external identifiers for data associated with an Open Tree study
rotl

An Interface to the Open Tree of Life API
tnrs_infer_context

Infer the taxonomic context from a list of names
tol_about

Information about the Tree of Life
get_study_subtree

Study Subtree
strip_ott_ids

Strip OTT ids from tip labels
tol_induced_subtree

Subtree from the Open Tree of Life
get_tree_ids

Study Metadata
studies_find_trees

Find Trees
get_study

Get all the trees associated with a particular study
taxonomy_taxon_info

Taxon information
taxon_external_IDs

Get external identifiers for data associated with an Open Tree taxon
tol_subtree

Extract a subtree from the synthetic tree
synonyms.match_names

List the synonyms for a given name
tol_mrca

MRCA of taxa from the synthetic tree
tax_lineage

Lineage of a taxon
studies_properties

Properties of the Studies
tnrs_contexts

TNRS contexts
list_trees

tol_lineage

Node info
studies_find_studies

Find a Study
taxonomy_mrca

Taxonomic MRCA