rotl

Interface to Open Tree of Life API

https://github.com/ropensci/rotl

Science Score: 23.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 6 DOI reference(s) in README
  • Academic publication links
  • Committers with academic emails
    1 of 12 committers (8.3%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (17.1%) to scientific vocabulary

Keywords

peer-reviewed phylogeny r r-package rstats taxonomy

Keywords from Contributors

genome biodiversity taxize darwincore biology nomenclature phylogenetics geocode vertnet specimen
Last synced: 9 months ago · JSON representation

Repository

Interface to Open Tree of Life API

Basic Info
Statistics
  • Stars: 45
  • Watchers: 9
  • Forks: 17
  • Open Issues: 21
  • Releases: 16
Topics
peer-reviewed phylogeny r r-package rstats taxonomy
Created over 11 years ago · Last pushed almost 3 years ago
Metadata Files
Readme License

README.Rmd

---
output: github_document
---

```{r setup, eval=TRUE, echo=FALSE}
library(knitr)
# opts_knit$set(upload.fun = image_uri)
opts_knit$set(upload.fun = imgur_upload)
```


[![R-CMD-check](https://github.com/ropensci/rotl/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/ropensci/rotl/actions/workflows/R-CMD-check.yaml)
[![codecov.io](https://app.codecov.io/github/ropensci/rotl?branch=master)](https://app.codecov.io/github/ropensci/rotl?branch=master)
[![](https://www.r-pkg.org/badges/version/rotl)](https://www.r-pkg.org/pkg/rotl)
[![CRAN RStudio mirror downloads](https://cranlogs.r-pkg.org/badges/rotl)](https://www.r-pkg.org/pkg/rotl)
[![](https://badges.ropensci.org/17_status.svg)](https://github.com/ropensci/software-review/issues/17)
[![Project Status: Active – The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active)



# rotl: 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](https://github.com/OpenTreeOfLife/pyopentree)
and [Ruby](https://github.com/SpeciesFileGroup/bark).


## Installation

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

```{r, eval=FALSE}
install.packages("rotl")
```

If you want to test the development version, you first need to install
the `remotes` package.

```{r, eval=FALSE}
install.packages("remotes")
```

Then you can install `rotl` using:

```{r, eval=FALSE}
remotes::install_github("ropensci/rotl")
```

## Vignettes

There are three vignettes:

- Start by checking out the "How to use `rotl`?" by typing:
  `vignette("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 analysis"
  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`?](https://cran.r-project.org/package=rotl/vignettes/rotl.html),
[Data mashups](https://cran.r-project.org/package=rotl/vignettes/data_mashups.html),
and
[Using the Open Tree synthesis in a comparative analysis](https://cran.r-project.org/package=rotl/vignettes/meta-analysis.html).

## 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:

```{r resolve}
library(rotl)
apes <- c("Pongo", "Pan", "Gorilla", "Hoolock", "Homo")
(resolved_names <- tnrs_match_names(apes))
```

Now we can get the tree with just those tips:

```{r get_tr}
tr <- tol_induced_subtree(ott_ids = ott_id(resolved_names))
plot(tr)
```

The code above can be summarized in a single pipe:

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

## Citation and Manuscript

To cite `rotl` in publications pleases use:

>  Michonneau, F., Brown, J. W. and Winter, D. J. (2016), rotl: an R package to
>  interact with the Open Tree of Life data.  Methods in Ecology and
>  Evolution. 7(12):1476-1481. doi:
>  [10.1111/2041-210X.12593](https://doi.org/10.1111/2041-210X.12593)

You may also want to cite the paper for the Open Tree of Life

>  Hinchliff, C. E., et al. (2015). Synthesis of phylogeny and taxonomy into a
>  comprehensive tree of life. Proceedings of the National Academy of Sciences
>  112.41 (2015): 12764-12769
>  doi: [10.1073/pnas.1423041112](https://doi.org/10.1073/pnas.1423041112)

The manuscript in *Methods in Ecology and Evolution* includes additional
examples on how to use the package. The manuscript and the code it contains are
also hosted on GitHub at: https://github.com/fmichonneau/rotl-ms


## Versioning

Starting with v3.0.0 of the package, the major and minor version numbers (the
first 2 digits of the version number) will be matched to those of the API. The
patch number (the 3rd digit of the version number) will be used to reflect
bug fixes and other changes that are independent from changes to the API.

`rotl` can be used to access other versions of the API (if they are available)
but most likely the high level functions will not work. Instead, you will need
to parse the output yourself using the "raw" returns from the unexported
low-level functions (all prefixed with a `.`). For instance to use the
`tnrs/match_names` endpoint for `v2` of the API:

```{r versioning, eval=FALSE}
rotl:::.tnrs_match_names(c("pan", "pango", "gorilla", "hoolock", "homo"), otl_v = "v2")
```


### Code of Conduct

Please note that this project is released with a
[Contributor Code of Conduct](https://github.com/ropensci/rotl/blob/master/CONDUCT.md). By participating in this project you
agree to abide by its terms.

[![](https://ropensci.org/public_images/github_footer.png)](https://ropensci.org/)

Owner

  • Name: rOpenSci
  • Login: ropensci
  • Kind: organization
  • Email: info@ropensci.org
  • Location: Berkeley, CA

GitHub Events

Total
  • Watch event: 5
Last Year
  • Watch event: 5

Committers

Last synced: 10 months ago

All Time
  • Total Commits: 833
  • Total Committers: 12
  • Avg Commits per committer: 69.417
  • Development Distribution Score (DDS): 0.268
Past Year
  • Commits: 15
  • Committers: 1
  • Avg Commits per committer: 15.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Francois Michonneau f****u@g****m 610
David Winter d****r@g****m 115
josephwb p****b@g****m 95
Emily Jane McTavish e****h@g****m 3
Daijiang Li d****1@u****u 2
Jeroen Van Goey j****y@g****m 2
rOpenSci Bot m****t@g****m 1
Brian O'Meara o****n@g****m 1
Karthik Ram k****m@g****m 1
Maëlle Salmon m****n@y****e 1
Patrick Hausmann p****n@c****e 1
Scott Chamberlain m****s@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 83
  • Total pull requests: 23
  • Average time to close issues: 3 months
  • Average time to close pull requests: 13 days
  • Total issue authors: 29
  • Total pull request authors: 11
  • Average comments per issue: 2.6
  • Average comments per pull request: 1.65
  • Merged pull requests: 18
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 0
  • Average time to close issues: 5 days
  • Average time to close pull requests: N/A
  • Issue authors: 1
  • Pull request authors: 0
  • Average comments per issue: 5.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • fmichonneau (38)
  • dwinter (6)
  • bomeara (5)
  • LunaSare (4)
  • rossmounce (3)
  • sckott (3)
  • marknovak (2)
  • jenna-tb-ekwealor (1)
  • jhpoelen (1)
  • FlukeAndFeather (1)
  • TarekHattab (1)
  • ajrominger (1)
  • ddenney1 (1)
  • noor-albader (1)
  • lhgergo (1)
Pull Request Authors
  • fmichonneau (7)
  • dwinter (3)
  • josephwb (2)
  • snacktavish (2)
  • LunaSare (2)
  • BioGeek (2)
  • maelle (1)
  • daijiang (1)
  • bomeara (1)
  • karthik (1)
  • patperu (1)
Top Labels
Issue Labels
wait for OTL (5) enhancement (2)
Pull Request Labels

Packages

  • Total packages: 3
  • Total downloads:
    • cran 7,187 last-month
  • Total docker downloads: 200,502
  • Total dependent packages: 5
    (may contain duplicates)
  • Total dependent repositories: 16
    (may contain duplicates)
  • Total versions: 39
  • Total maintainers: 1
proxy.golang.org: github.com/ropensci/rotl
  • Versions: 14
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.5%
Average: 5.7%
Dependent repos count: 5.9%
Last synced: 9 months ago
cran.r-project.org: rotl

Interface to the 'Open Tree of Life' API

  • Versions: 15
  • Dependent Packages: 4
  • Dependent Repositories: 15
  • Downloads: 7,187 Last month
  • Docker Downloads: 200,502
Rankings
Forks count: 4.1%
Downloads: 6.7%
Dependent repos count: 7.4%
Stargazers count: 8.6%
Average: 10.3%
Dependent packages count: 10.9%
Docker downloads count: 24.2%
Last synced: 9 months ago
conda-forge.org: r-rotl
  • Versions: 10
  • Dependent Packages: 1
  • Dependent Repositories: 1
Rankings
Dependent repos count: 24.4%
Dependent packages count: 29.0%
Average: 34.0%
Forks count: 38.0%
Stargazers count: 44.7%
Last synced: 9 months ago

Dependencies

DESCRIPTION cran
  • R >= 3.1.1 depends
  • ape * imports
  • assertthat >= 0.1 imports
  • httr * imports
  • jsonlite * imports
  • rentrez * imports
  • rncl >= 0.6.0 imports
  • MCMCglmm * suggests
  • RNeXML * suggests
  • knitr >= 1.12 suggests
  • phylobase * suggests
  • readxl * suggests
  • rmarkdown >= 0.7 suggests
  • testthat * suggests
.github/workflows/R-CMD-check.yaml actions
  • actions/checkout v3 composite
  • r-lib/actions/check-r-package v2 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/test-coverage.yaml actions
  • actions/checkout v3 composite
  • actions/upload-artifact v3 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite