Building upon the phenominal success of RCytoscape and RCy3, Cytoscape is adopting this project to provide a robust R package for the rapidly evolving Cytoscape ecosystem. We are beginning with a major refactor of RCy3 that includes:
Official bioconductor releases (recommended)
install.packages("BiocManager")
BiocManager::install("RCy3")
Note: Be sure to use the latest Bioconductor and recommended R version
Development version from this repo (at your own risk)
install.packages("devtools")
library(devtools)
install_github('cytoscape/RCy3', build_vignettes=TRUE)
#If installation fails due to package 'XXX' not found,
# then run install.packages("XXX") and then try install_github('cytoscape/RCy3') again
library(RCy3)
make: gfortran-4.8: No such file or directory
, then try reinstalling R via homebrew: brew update && brew reinstall r
ERROR: dependency ‘XML’ is not available for package
, then try this command: install.packages("XML")
and then try installing RCy3 again.This is a public, open source project. Come on in! You can contribute at multiple levels:
install.packages("devtools")
install.packages("roxygen2")
library(devtools,roxygen2)
devtools::install_github("AlexanderPico/docthis")
library(docthis) #shift+cmd+D
BiocManager::install("BiocStyle")
library(BiocStyle)
BiocManager::install("BiocCheck")
library(BiocCheck)
install.packages("RUnit")
library(RUnit)
setwd("/git/cytoscape/RCy3") #customize to your setup
devtools::document()
devtools::check(args = "--no-examples", vignettes = F)
BiocCheck::BiocCheck('./')
Unit tests are a crucial tool in software development. In order to run them ‘offline’ (not on the Bioconductor build system), take these steps from within a running R session (requires RUnit):
source(system.file("unitTests", "test_RCy3.R", package="RCy3"))
run.tests()
They take about 4 minutes to run.
We use pkgdown to generate the main site for RCy3 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(examples=FALSE)
While this is the primary development repository for the RCy3 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 master
branch here corresponds to the latest code in development and not yet released.
git commit -m "informative commit message"
git push origin master
git push upstream master
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 master is updated:
git fetch upstream
git checkout -b RELEASE_3_13 upstream/RELEASE_3_13
git push origin RELEASE_3_13
git checkout master
git pull upstream master
git push origin master
Only bug fixes and documentation updates can be pushed to the official bioconductor release branch. After committing and pushing fixes to master
, then:
git checkout RELEASE_3_13
git cherry-pick master #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_13
# double check changes, and then...
git push upstream RELEASE_3_13
git checkout master
# bump dev version in DESCRIPTION
git commit -am 'version bump'
git push origin master
git push upstream master
https://bioconductor.org/developers/how-to/git/bug-fix-in-release-and-devel/
When adding or updating vignettes, consider the following tips for consistency:
The entire commit history has been preserved during this transition, but you can find the repo for RCy3 v1.5.3 and earlier at https://github.com/tmuetze/Bioconductor_RCy3_the_new_RCytoscape and you can find the Bioconductor page for v1.8.0, including archives at https://www.bioconductor.org/packages/3.6/bioc/html/RCy3.html.
Note to repository maintainers: Please *DO NOT* move this page ... the Cytoscape Automation paper refers directly to it.