CRAN status GitHub R package version R-CMD-check codecov Github Open Issues Github Closed Issues DOI NSF-1458603 NSF-0905606 NSF-1458572 CRAN RStudio mirror downloads

Welcome to DateLife’s R package GitHub repository!

What is datelife?

datelife is an R package that allows researchers and the general audience to obtain open scientific data on the age of any organism they are interested in. datelife retrieves organism ages from a database of dated phylogenetic trees (chronograms), which have been peer-reviewed and published in association with a scientific research article in an indexed journal (Open Tree of Life’s tree store). As such, these organism ages constitute state-of-the-art, peer-reviewed, public scientific knowledge, that can be accessed and reused by experts and non-experts in the field alike.

How can you use datelife?

You can install the datelife R package on your own computer and use it locally.

If you do not want to deal with installation, you can go to DateLife’s interactive website application.

To learn more, please go to datelife’s documentation website.

README topics:

Local installation of the datelife R package

datelife’s most recent stable version can be installed with:

install.packages("datelife")

datelife’s previous stable versions are available for installation from the CRAN repository. For example, to install version 0.6.1, you can run:

devtools::install_version("datelife", version="0.6.1")

You can install datelife’s development version from its GitHub repository with:

devtools::install_github("phylotastic/datelife")

Citing datelife

If you use datelife for a publication, please cite the R package and the accompanying paper:

O’Meara B, Sanchez-Reyes L, Eastman J, Heath T, Wright A, Schliep K, Chamberlain S, Midford P, Harmon L, Brown J, Pennell M, Alfaro M (2022). datelife: Scientific Data on Time of Lineage Divergence for Your Taxa. R package version 0.6.4, https://doi.org/10.5281/zenodo.593938.

Sanchez-Reyes L, O’Meara B (2019). “datelife: Leveraging databases and analytical tools to reveal the dated Tree of Life.” bioRxiv, 782094. https://doi.org/10.1101/782094.

You can get these citations and the bibtex entry with:

citation("datelife")
toBibtex(citation("datelife"))

Feedback and Information for Developers

We welcome and encourage to post a GitHub issue with any comments, ideas and questions about datelife’s software and website. If you want to contribute with code directly, we welcome and encourage pull requests.

Function documentation:

Package and function documentation was generated with roxygen2:

roxygen2::roxygenise()

Styling code:

We used the package lintr to check for coding style:

lintr::lint_package()

Calculating test coverage:

Code coverage was calculated with the package covr:

cov <- covr::package_coverage()

usethis::use_data(cov, overwrite = TRUE)

You can see an interactive report of testing coverage:

covr::report(cov)

And, find code with zero coverage:

covr::zero_coverage(cov)

Generating datelife’s hexsticker:

Code used to generate current datelife’s logo hexsticker is in data-raw/hexsticker-current.R

Rendering the vignettes:

Vignettes are rendered automatically upon built. However, if you wish to see how they look rendered before releasing the package, you can do this with knitr::knit(). The following command renders the vignette Getting_started_with_datelife as html:

knitr::knit("vignettes/Getting_started_with_datelife.Rmd")

Creating a documentation website for the package

Using pkgdown for this is quite straightforward and fun:

usethis::use_pkgdown()
pkgdown::build_site()

Releasing to CRAN

Local checks

To be able to release to CRAN, the first step is to pass the checks locally. To run a local check, you can use the command R CMD check from your terminal. For that, change directories to the one above your working clone of the datelife repo:

cd ../

Generate a tar ball for your package by running R CMD build package-name:

R CMD build datelife

Finally, run R CMD check package-tar-ball on the tar ball that you just generated:

R CMD check --as-cran datelife_0.6.0.tar.gz
Remote checks

If you do not have access to different OS to test your package on, the rhub package allows remote testing on a variety of OS with the command:

rhub::check_for_cran()

To submit to CRAN call devtools::release() and answer the prompted questions. If the answer to all of these is yes, the package will be submitted to CRAN :rocket:

License

This package is free and open source software, licensed under GPL.

Acknowledgements

datelife has been developed as part of the phylotastic (NSF-funded) project, and is still under development.