Scientific Data on Time of Lineage Divergence for Your Taxa.
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, by retrieving organism ages from a database of dated phylogenetic trees (aka chronograms), that have been peer-reviewed and published as part of a scientific research article, in an indexed journal (Open Tree of Life’s tree store). As such, organism ages retrieved by datelife
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. You can find instructions for a local installation below.
If you do not want/have time to deal with installation and R code, you can use DateLife’s interactive website application. Note that the website is not live at the moment, apologies.
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 (2023). datelife: Scientific Data on Time of Lineage Divergence for Your Taxa. R package version 0.6.7, 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")
To update “pre-rendered” vignettes, follow this blog. For example, to render the vignette about making trees with BOLD, do:
knitr::knit("vignettes/making_bold_trees.Rmd.orig", output = "vignettes/making_bold_trees.Rmd")
Creating a documentation website for the package
Using pkgdown
for this is quite straightforward and fun:
usethis::use_pkgdown()
pkgdown::build_site()
Preparing a CRAN release
Updating GitHub actions R CMD check
Run the following function from the package usethis
to update R CMD Check on GitHub:
usethis::use_github_action_check_standard()
This downloads the standard R CMD check workflow from r-lib action examples.
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()
For more rhub
useful workflows, check out its documentation. For example
previous_checks <- rhub::list_package_checks(".",
email = "[email protected]",
howmany = 4)
group_check <- rhub::get_check(previous_checks$group[1])
group_check
cran_prep <- check_for_cran()
cran_prep$cran_summary()
To check for URL validity and on Windows OS, use:
devtools::check_win_release()
devtools::check_win_devel()
Releasing to 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.