Install SBGNview through Bioconductor
BiocManager::install(c("SBGNview"))Install gage through Bioconductor
BiocManager::install(c("gage"))In this example, we analyze a RNA-SEQ dataset of wild type mice and IFNg KO mice. It contains normalized RNA-seq gene expression data described in this study: Greer, Renee L., Xiaoxi Dong, et al. “Akkermansia muciniphila mediates negative effects of IFNg on glucose metabolism.” Nature communications 2016.
The RNA abundance data was quantile normalized and log2 transformed, stored in a “SummarizedExperiment” object
library(SBGNview)
library(SummarizedExperiment)
library(SBGNview.data)
data("IFNg")
count.data <- assays(IFNg)$counts
wt <- colnames(IFNg)[IFNg$group == "wt"]
ko <- colnames(IFNg)[IFNg$group == "ko"]
head(count.data)ensemble.to.pathway <- getMolList(
    database = "pathwayCommons"
    ,mol.list.ID.type = "ENSEMBL"
    ,org = "mmu"
    ,cpd.or.gene = "gene"
    ,output.pathway.name = TRUE
)
head(ensemble.to.pathway[[2]])gage is an R package for pathway enrichment analysis.
library(gage)
degs <- gage(exprs = count.data
           ,gsets = ensemble.to.pathway
           ,ref = which(colnames(count.data) %in% wt)
           ,samp = which(colnames(count.data) %in% ko)
           ,compare = "as.group"
           )
head(degs$greater)[,c(1,4:5)]
head(degs$less)
down.pathways <- degs$less
head(down.pathways)The abundance table was log2 transformed. Here we calculate the fold change of KO group v.s. WT group.
mean.wt <- apply(count.data[,wt] ,1 ,"mean")
head(mean.wt)
mean.ko <- apply(count.data[,ko],1,"mean")
head(mean.ko)
ensemble.to.koVsWt <- mean.ko - mean.wt
head(ensemble.to.koVsWt)down.pathways <- do.call(rbind,strsplit(row.names(down.pathways),"::"))[,1]
head(down.pathways)
sbgnview.obj <- SBGNview(
    gene.data = ensemble.to.koVsWt,
    gene.id.type = "ENSEMBL",
    input.sbgn = down.pathways[1],
    output.file = "ifn.sbgnview.less",
    show.pathway.name = TRUE,
    max.gene.value = 2,
    min.gene.value = -2,
    mid.gene.value = 0,
    node.sum = "mean",
    label.spliting.string = c("-","_"," "), 
    output.format = c("png"),
    
    inhibition.edge.end.shift = 1,
    font.size = 2,
    logic.node.font.scale = 6,
    font.size.scale.compartment = 1.5,
    org = "mmu",
    
    text.length.factor.macromolecule = 0.8,
    text.length.factor.compartment = 2,
    text.length.factor.complex = 3,
    if.scale.compartment.font.size = TRUE,
    node.width.adjust.factor.compartment = 0.058 
)
sbgnview.objFigure 2.1: SBGNview
data("cancer.ds")
sbgnview.obj <- SBGNview(
    gene.data = cancer.ds,
    gene.id.type = "ENTREZID",
    input.sbgn = "R-HSA-877300",
    output.file = "demo.SummarizedExperiment",
    show.pathway.name = TRUE,
    max.gene.value = 1,
    min.gene.value = -1,
    mid.gene.value = 0,
    node.sum = "mean",
    label.spliting.string = c("-","_"," "), 
    output.format = c("png"),
    
    inhibition.edge.end.shift = 1,
    font.size = 2,
    logic.node.font.scale = 6,
    font.size.scale.compartment = 1.5,
    org = "hsa",
    
    text.length.factor.macromolecule = 0.8,
    text.length.factor.compartment = 2,
    text.length.factor.complex = 3,
    if.scale.compartment.font.size = TRUE,
    node.width.adjust.factor.compartment = 0.058 
   )
sbgnview.objsessionInfo()## R version 3.6.1 (2019-07-05)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Ubuntu 18.04.3 LTS
## 
## Matrix products: default
## BLAS:   /home/biocbuild/bbs-3.10-bioc/R/lib/libRblas.so
## LAPACK: /home/biocbuild/bbs-3.10-bioc/R/lib/libRlapack.so
## 
## locale:
##  [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
##  [3] LC_TIME=en_US.UTF-8        LC_COLLATE=C              
##  [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
##  [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                 
##  [9] LC_ADDRESS=C               LC_TELEPHONE=C            
## [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       
## 
## attached base packages:
## [1] parallel  stats4    stats     graphics  grDevices utils     datasets 
## [8] methods   base     
## 
## other attached packages:
##  [1] gage_2.36.0                 SummarizedExperiment_1.16.0
##  [3] DelayedArray_0.12.0         BiocParallel_1.20.0        
##  [5] matrixStats_0.55.0          GenomicRanges_1.38.0       
##  [7] GenomeInfoDb_1.22.0         SBGNview_1.0.0             
##  [9] SBGNview.data_0.99.18       pathview_1.26.0            
## [11] org.Hs.eg.db_3.10.0         AnnotationDbi_1.48.0       
## [13] IRanges_2.20.0              S4Vectors_0.24.0           
## [15] Biobase_2.46.0              BiocGenerics_0.32.0        
## [17] knitr_1.25                 
## 
## loaded via a namespace (and not attached):
##  [1] KEGGREST_1.26.0        xfun_0.10              lattice_0.20-38       
##  [4] vctrs_0.2.0            htmltools_0.4.0        yaml_2.2.0            
##  [7] blob_1.2.0             XML_3.98-1.20          rlang_0.4.1           
## [10] pillar_1.4.2           DBI_1.0.0              Rgraphviz_2.30.0      
## [13] bit64_0.9-7            GenomeInfoDbData_1.2.2 stringr_1.4.0         
## [16] zlibbioc_1.32.0        Biostrings_2.54.0      memoise_1.1.0         
## [19] evaluate_0.14          rsvg_1.3               gbRd_0.4-11           
## [22] highr_0.8              Rcpp_1.0.2             backports_1.1.5       
## [25] graph_1.64.0           XVector_0.26.0         bit_1.1-14            
## [28] png_0.1-7              digest_0.6.22          stringi_1.4.3         
## [31] bookdown_0.14          grid_3.6.1             bibtex_0.4.2          
## [34] Rdpack_0.11-0          tools_3.6.1            bitops_1.0-6          
## [37] magrittr_1.5           RCurl_1.95-4.12        tibble_2.1.3          
## [40] RSQLite_2.1.2          crayon_1.3.4           pkgconfig_2.0.3       
## [43] zeallot_0.1.0          Matrix_1.2-17          xml2_1.2.2            
## [46] KEGGgraph_1.46.0       rmarkdown_1.16         httr_1.4.1            
## [49] R6_2.4.0               igraph_1.2.4.1         compiler_3.6.1