The goal of nfportalutils
is to provide convenience functions for project and (meta)data management in the NF-OSI data portal scope.
Currently, develop
branch is default so package install and docs refer to code in this branch.
The package interops with the Python synapse client via reticulate. You will have to set up both (see #Installation). Outside of the tested versions, there may be some issues. The tested versions are:
- Python Synapse Client == 4.3.1
- reticulate == 1.39.0
This presumes you have already set up R with RStudio.
- Install
reticulate
following guide at https://rstudio.github.io/reticulate/index.html#installation. - Install
synapseclient==4.3.1
following https://rstudio.github.io/reticulate/articles/python_packages.html, which will use a default environment "r-reticulate". - Lastly, install
nfportalutils
. At startup,nfportalutils
importssynapseclient
from the default "r-reticulate".
- As regular users:
remotes::install_github("nf-osi/nfportalutils", build_vignettes = TRUE)
orremotes::install_github("nf-osi/nfportalutils@some-branch", build_vignettes = TRUE)
- For developers, presumably working with
devtools
:- Clone the repo, checkout your desired development branch.
- Make sure the package repo root is working directory, then in R run
devtools::install()
.
- Browse some vignettes:
browseVignettes("nfportalutils")
.
- View function reference on docs site at Reference.
- An alternative to viewing vignettes as Articles on the docs site is to download them with pkg install and load with e.g.
vignette("annotate-nf-processed-data", package = "nfportalutils")
to view.
- Again, default development happens in
develop
. - But we have a side branch called
develop-synapser
where interop tries to transition tosynapser
. However, current coexistence makes development a bit tricky so consult first before trying new developments there.
- Branch of
develop
and make changes - Run
devtools::check(vignettes = FALSE)
early and often, and definitely before submitting a PR - Make a pull request to
develop
; this will runR-CMD-CHECK
andpkgdown
- Request a reviewer if both checks pass
- Reviewer requests changes or merges
- Some vignettes need to be precomputed.
- Again, run
devtools::check(vignettes = FALSE)
early and often. - At minimal, address any
ERRORS
andWARNINGS
. - Yes, we do have a lot of
NOTES
that need to be resolved. - For custom indexing after adding/updating functions, edit the
_pkgdown.yml
. - Preview the pkg docs site locally with
pkgdown::build_site()
.
Please note that the nfportalutils project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.