/rWikiPathways

R package for WikiPathways API

Primary LanguageHTMLMIT LicenseMIT

R Client Package for WikiPathways

BioC Release Build Status - Bioconductor Release Build

BioC Dev Build Status - Bioconductor Dev Build

R Client library for the WikiPathways API (https://webservice.wikipathways.org/) (license: MIT).

WikiPathays is described in the following papers:

If you like this package, or want to make it easier to work with Xrefs, then you may also like these R packages:

Getting Started

How to install

Official bioconductor releases (recommended)

if (!requireNamespace("BiocManager", quietly=TRUE))
    install.packages("BiocManager")
BiocManager::install("rWikiPathways")

Note: Be sure to use the latest Bioconductor and recommended R version

Unstable development code from this repo (at your own risk)

install.packages("devtools")
library(devtools)
install_github('wikipathways/rWikiPathways', build_vignettes=TRUE)
library(rWikiPathways)

Troubleshooting

  1. If you see this error on a Mac: make: gfortran-4.8: No such file or directory, then try reinstalling R via homebrew: brew update && brew reinstall r
    • warning: this make take ~30 minutes

How to contribute

This is a public, open source project. Come on in! You can contribute at multiple levels:

  • Report an issue or feature request
  • Fork and make pull requests
  • Contact current WikiPathways developers and inquire about joining the team

Development

install.packages("devtools")
install.packages("roxygen2") 
library(devtools,roxygen2)
devtools::install_github("AlexanderPico/docthis")
library(docthis)
setwd("/git/wikipathways/rWikiPathways") #customize to your setup
devtools::document()
devtools::check(vignettes = F)
BiocCheck::BiocCheck('./')

Testing

Unit tests are a crucial tool in software development. Be sure to add tests for any new methods implemented. These will be run as part of the devtools::check().

Updating site

We use pkgdown to generate the main site for rWikiPathways based on this README, metadata, man pages and vignettes. If you make changes to any of these, please take a moment to regenerate the site:

library(pkgdown)
pkgdown::build_site()

Bioconductor

While this is the primary development repository for the rWikiPathways project, we also make regular pushes to official bioconductor repository (devel & release) from which the official releases are generated. This is the correct repo for all coding and bug reporting interests. The tagged releases here correspond to the bioconductor releases via a manual syncing process. The devel branch here corresponds to the latest code in development and not yet released.

git commit -m "informative commit message"
git push origin devel
git push upstream devel

http://bioconductor.org/developers/how-to/git/push-to-github-bioc/

Following each bioconductor release, a RELEASE_#_# branch is created. The new branch is fetched and devel is updated:

git fetch upstream
git checkout -b RELEASE_3_15 upstream/RELEASE_3_15
git push origin RELEASE_3_15
git checkout devel
git pull upstream devel
git push origin devel

Only bug fixes and documentation updates can be pushed to the official bioconductor release branch. After committing and pushing fixes to devel, then:

git checkout RELEASE_3_15
git cherry-pick devel #for lastest commit
# or git cherry-pick 1abc234 #for specific commit
# or git cherry-pick 1abc234^..5def678 #for an inclusive range
# bump release version in DESCRIPTION
git commit -am 'version bump'
git push origin RELEASE_3_15
# double check changes, and then...
git push upstream RELEASE_3_15
git checkout devel
# bump dev version in DESCRIPTION
git commit -am 'version bump'
git push origin devel
git push upstream devel

And then finally, bump version and commit DESCRIPTION to devel and push to origin and upstream.

https://bioconductor.org/developers/how-to/git/bug-fix-in-release-and-devel/

Vignettes

When adding or updating vignettes, consider the following tips for consistency:

  • Copy/paste the header from an existing rWikiPathways vignette, including the global knitr options
  • Number the VignetteIndexEntry names w.r.t. other vignettes (this determines their presentation order)
  • Avoid spaces in Rmd filenames; causes CHECK errors
  • When ready, run Knit to html_vignette_ and review the generated html
  • Note: you don't need to save the html version; it will be generated anew at Bioconductor.
  • In the end, you should just have an Rmd version of each vignette in the repo.