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.
[!WARNING] For the last relatively stable version of
nfportalutils
, please install at https://github.com/nf-osi/nfportalutils/releases/tag/v0.9500-presynapser.Currently, the package is in a refactoring period where usage is complex because of the coexistence of both
synapser
and separatesynapseclient
import. This will be updated when everything is 100% refactored tosynapser
.
[!NOTE] Underlying dependencies tested for this package are
synapser==1.3.0
andsynapseclient==3.1.1
. There are known breaking issues for MacOS and Windows with the newer versions for now.
Installation
You should first install synapser
following the instructions here.
Then you can install nfportalutils
with:
remotes::install_github("nf-osi/nfportalutils")
Additional Notes 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.
Additional Notes for Contributors
Contrib workflow
- Branch off
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
Local development tips
- 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()
.
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.