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
Installation
This presumes you have already set up R with RStudio.
- Install
reticulatefollowing guide at https://rstudio.github.io/reticulate/index.html#installation. - Install
synapseclient==4.3.1following https://rstudio.github.io/reticulate/articles/python_packages.html, which will use a default environment “r-reticulate”. - Lastly, install
nfportalutils. At startup,nfportalutilsimportssynapseclientfrom 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").
For Users
- 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.
For Contributors
General picture
- Again, default development happens in
develop. - But we have a side branch called
develop-synapserwhere interop tries to transition tosynapser. However, current coexistence makes development a bit tricky so consult first before trying new developments there.
Contrib workflow
- Branch of
developand 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-CHECKandpkgdown - Request a reviewer if both checks pass
- Reviewer requests changes or merges
Local development tips
- Some vignettes need to be precomputed.
- Again, run
devtools::check(vignettes = FALSE)early and often. - At minimal, address any
ERRORSandWARNINGS. - Yes, we do have a lot of
NOTESthat 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().
Code of Conduct
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.