datapplab / SBGNview

25 stars 8 forks source link

SBGNview

Overview

We previously developed an R/BioConductor package called Pathview, which maps, integrates and visualizes a wide range of data onto KEGG pathway graphs. Since its publication, Pathview has been widely used in omics studies and data analyses, and has become the leading tool in its category. Here we introduce the SBGNview package, which adopts Systems Biology Graphical Notation (SBGN) and greatly extends the Pathview project by supporting multiple major pathway databases beyond KEGG.

Key features:

Citation

Please cite the following papers when using this open-source package. This will help the project and our team:

Dong X, Vegesna K, Brouwer C, Luo W. SBGNview: towards data analysis, integration and visualization on all pathways. Bioinformatics, 2022, 38(5):1473–1476, doi: 10.1093/bioinformatics/btab793

Luo W, Brouwer C. Pathview: an R/Biocondutor package for pathway-based data integration and visualization. Bioinformatics, 2013, 29(14):1830-1831, doi: 10.1093/bioinformatics/btt285

Installation

Prerequisites

SBGNview depends or imports from the following R packages:

Note these dependencies will be automatically installed when SBGNview is installed from BioConductor or GitHub. To install them manually within R:

if (!requireNamespace("BiocManager", quietly = TRUE)){
     install.packages("BiocManager")
}
BiocManager::install(c("xml2", "rsvg", "igraph", "httr", "KEGGREST", "pathview", "gage", "SBGNview.data", "SummarizedExperiment", "AnnotationDbi"))

External dependencies (outside R): Windows 10: none

Linux (Ubuntu): needs additional packages (libxml2-dev, libssl-dev, libcurl4-openssl-dev, librsvg2-dev) to be installed. Run the command below in a terminal to install the necessary packages. The same or similar packages can be found for other distributes of linux.

sudo apt install libxml2-dev libssl-dev libcurl4-openssl-dev librsvg2-dev

Install SBGNview

Install SBGNview through Bioconductor:

BiocManager::install(c("SBGNview"))

Install SBGNview through GitHub:

install.packages("devtools")
devtools::install_github("datapplab/SBGNview")

Clone the Git repository:

git clone https://github.com/datapplab/SBGNview.git

Quick example

library(SBGNview)
# load demo dataset, SBGN pathway data collection and info, which may take a few seconds
data("gse16873.d","pathways.info", "sbgn.xmls")
input.pathways <- findPathways("Adrenaline and noradrenaline biosynthesis")
SBGNview.obj <- SBGNview(
          gene.data = gse16873.d[,1:3], 
          gene.id.type = "entrez",
          input.sbgn = input.pathways$pathway.id,
          output.file = "quick.start", 
          output.formats =  c("png")
          ) 
print(SBGNview.obj)

Two image files (a svg file by default and a png file) will be created in the current working directory.

As a unique and useful feature of SBGNview package, we can highlight nodes, edges and/or paths using the highlight functions. Please read the function documentation and main vignette for details.

outputFile(SBGNview.obj) <- "quick.start.highlights"
SBGNview.obj + highlightArcs(class = "production",color = "red") + 
               highlightArcs(class = "consumption",color = "blue") +
               highlightNodes(node.set = c("tyrosine", "(+-)-epinephrine"), 
                              stroke.width = 4, stroke.color = "green") + 
               highlightPath(from.node = "tyrosine", to.node = "dopamine",
                             from.node.color = "green",
                             to.node.color = "blue",
                             shortest.paths.cols = "purple",
                             input.node.stroke.width = 6,
                             path.node.stroke.width = 5,
                             path.node.color = "purple",
                             path.stroke.width = 5,
                             tip.size = 10 )

Additional information

This tutorial is just a brief introduction and quick start. For more info, please check the package documentation and main vignettes.

For more info on SBGN, please check the official SBGN project website

For any questions, please contact Kovidh Vegesna (kvegesna [AT] uncc.edu) or Weijun Luo (luo_weijun [AT] yahoo.com)