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:
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 datelifeFinally, 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.gzRemote 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 = "sanchez.reyes.luna@gmail.com",
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.