netZooR is an R package to reconstruct, analyse and plot biological networks.
netZooR currently integrates with:
-
PANDA(Passing Attributes between Networks for Data Assimilation)[Glass et al. 2013]: constructs gene regulatory network from gene expression data, protein-protein interaction data, and transcription factor binding motifs (TFBMs) data.
-
CONDOR(COmplex Network Description Of Regulators)[Platig et al. 2016]: analyses bipartite community structure analysis of biological networks.
-
LIONESS(Linear Interpolation to Obtain Network Estimates for Single Samples)[Kuijjer et al. 2019]: reconstructs single-sample gene regulatory networks.
-
ALPACA(ALtered Partitions Across Community Architectures)[Padi and Quackenbush 2018]: compares two networks and identify changes in modular structure.
-
SAMBAR(Subtyping Agglomerated Mutations By Annotation Relations)[Kuijjer et al.]: identifies subtypes based on somatic mutation data.
-
MONSTER(Modeling Network State Transitions from Expression and Regulatory data)[Schlauch et al.]: infers transcription factor which drivers of cell state conditions at the gene regulatory network level.
-
OTTER(Optimization to Estimate Regulation) [publication in preparation]: models gene regulation estimation as a graph matrching problem
-
Source protein-protein interaction network from STRINGdb based on a list of protein of interest.
-
Plot one PANDA network in Cytoscape.
-
Plot two differential PANDA networks in Cytoscape.
-
netZooR is compatible with R (>= 3.3.3) including R (>= 4.0), click here for more installation details.
-
To use two main tools PANDA and LIONESS, there are two options:
-
use functions:
panda.py()
andlioness.py()
by invoking two Python implementations in netZooPy, respectively. This way is recommended if the user requires speedy computering in building gene regulatory networks. In order to pratice invoking Python scripts, there are some requirements to meet before using netZooR: a) Python (>= 3.5.0) installed; b) Python libraries pandas, numpy, and scipy installed; c) stable Internet access as packagereticulate
will link the R wrapper to the Python scripts located here for those two methods. -
use function:
panda()
in pandaR package andlioness()
for R implementations of methods PANDA and LIONESS, respectively. This way is recommended when above requirements for 1) can not be met or constructing small scale networks.
-
-
Most of plotting function can be realized by functions in igraph, which will be loaded with netZooR through
library(netZooR)
. Some plotting functions likevis.panda.in.cytoscape()
andvis.diff.panda.in.cytoscape()
are able to plot interactive PANDA networks in Cytoscape, but installation of Cytoscape is required before using these plotting functions.
# install.packages("devtools")
library(devtools)
# install netZooR pkg with vignettes, otherwise remove the "build_vignettes = TRUE" argument.
devtools::install_github("netZoo/netZooR", build_vignettes = TRUE)
library(netZooR)
For more details please refer to the documentation website.
This package will invoke Python programming language in R environment through reticulate package, by default setting there is no additional configuration needed. Configuring which version of Python to use , here in netZooR, Python 3.X is required. More details can be found here.
#check your Python configuration and the specific version of Python in use currently
py_config()
# reset to Python 3.X if necessary, like below:
# use_python("/usr/local/bin/python3")
For data.table installation issue please refer to issue #40.
Please report any further issue to the issues page.
Please refer to the top navigation bar Articles/ for basic usage and application cases.
Or use browseVignettes("netZooR")
after installing package.
Contributions are welcome! Instruction of how to contribute netZooR repository can be found here. After adding new features or debugging, please re-build package and run CDM check by using below codes before pulling request to the devel branch.
library(devtools)
library(pkgdown)
# document the description of function
# setwd('path/to/netZooR/root') # Set the working directory to netZooR root
devtools::document()
# build vignettes
devtools::build_vignettes()
# build documentation website
pkgdown::build_site()
# Install and build the package using devtools
devtools::install() # To install the dependecies
devtools::build() # To build the package
# CMD check, if passed all tests here, it means this package is ready to pull request to the devel branch. Otherwise, fix the bug before pulling request.
devtools::check()
The master branch on github should always be in good shape, so please to pull request to the devel branch. If the contribution is specific to pandaR, please contribute to its seperate GitHub page by pull request.
The software is free and is licensed under the GNU General License v3.0, see the file LICENSE for details.
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.