Creating integrated reproducible pathway multilayer models
Biological pathway data integration has become a topic of interest in the past years. This interest originates essentially from the continuously increasing size of existing prior knowledge as well as from the many challenges scientists face when studying biological pathways. Multipath is a framework that aims at helping re-trace the use of specific pathway knowledge in specific publications, and easing the data integration of multiple pathway types and further influencing knowledge sources. Using Multipath, BioPax-encoded pathways can be parsed and embedded into multilayered graphs. Modifications can be applied to these graphs to generate different views. The package is implemented as a part of the Multipath Project directed by Dr. Frank Kramer .
More information and references can be found in the Multipath paper:
https://www.mdpi.com/2079-7737/9/12/483
Multipath depends on multiple packages. The packages are the following: UniProt.ws, dbparser, rBiopaxParser, mully, TCGAretriever, stringr, svMisc, uuid, dplyr, crayon Please make sure to install the packages UniProt.ws, rBiopaxParser and mully before using the package.
To install the UniProt.ws package:
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("UniProt.ws")
To install the mully package:
require(devtools)
install_github("frankkramer-lab/mully")
library(mully)
To install the rBiopaxParser package:
require(devtools)
install_github("frankkramer-lab/rBiopaxParser")
library(rBiopaxParser)
require(devtools)
install_github("frankkramer-lab/Multipath")
library(Multipath)
In this section, we provide a demo to test the package by calling some of the function. To run the script, you need to download the Signaling by Wnt from the Reactiome database in the BioPax format.
wntBiopax=readBiopax("wntpathway_reactome.owl")
pathwayID=listPathways(wntBiopax)$id[1]
wntmully=pathway2Mully(wntBiopax,pathwayID)
plot3d(wntmully,layers=T,vertex.label=NA,edge.width=5,edge.arrow.size=5)
view1=pathwayView(wntmully,"View1")
view1=addStep(view1,action = "remove",element="layer",name="Rna",trans = T)
suppressWarnings(plot3d(view1$modified))
view2=pathwayView(wntmully,"View2")
view2=addStep(view2,action = "remove",element="layer",name="PhysicalEntity",trans=T)
suppressWarnings(plot3d(view2$modified))
view3=pathwayView(wntmully,"View3")
view3=addStep(view3,action = "remove",element="layer",name="Complex",trans=T)
suppressWarnings(plot3d(view3$modified))
Multipath functions are divided into different files depending on their functionnality range: Reactome , Views' Functions , DrugBank Functions , UniProt Functions , Intraedges between nodes Functions , Demo Functions , Integrated Model Function
Function | Description |
---|---|
downloadPathway(pathwayID,biopaxLevel,destDirectory,overwrite) |
Download a BioPax encoded Reactome pathway function |
pathway2Mully(biopax,pathwayID) |
Build a mully graph from a BioPax encoded pathway function |
pathwayView(g,name) |
Constructor Function, Create an empty view |
print(v) |
Print function |
addStep(v,action,element,name,layerName,V1,V2,attributesnames,attributes,multi,trans) |
Document the modification of a graph function |
undo(v,stps) |
Undo stps number of steps from the view v |
loadDBXML(file) |
Parse DrugBank XML file function |
getDBDrug(data,drug) |
Get a DrugBank entry from DrugBank function |
getDBDrugInteractions(data,drug) |
Get Drugs interactions from DrugBank function |
getDBDrugEnzymes(data,drugList) |
Get Drug-Enzymes relations from DrugBank function |
getDBDrugTransporters(data,drugList) |
Get Drug-Transporters relations from DrugBank function |
getDBDrugCarriers(data,drugList) |
Get Drug-Carriers relations from DrugBank function |
getDBDrugTargets(data,drugList) |
Get Drug-Targets relations from DrugBank function |
addDBLayer(g,data,drugList) |
Add a DrugBank Layer to a graph function |
getDBtoUPKB(data,drugLiy,proteinList) |
Get Drug-Proteins relations from DrugBank function |
getAllUPKB(up) |
Get all UniProt protein entries function |
getUPKBInfo(up,proteins,col) |
Get UniProt protein entry infos function |
getUPKBInteractions(up,proteins) |
Get Proteins interactions from UniProt function |
getUPKBtoDB(up,proteinList,drugList) |
Get Proteins-Drug relations from UniProt function |
addUPKBLayer(g,up,proteinList) |
Add a UniProt Layer to a graph function |
getUPKBDBRelations(up,data,proteinList,drugList) |
Get Proteins-Drug relations from UniProt and DrugBank function |
multipath(name,up,proteinList,data,drugList) |
Build integrated model function |
wntpathway(file) |
Track and undo demo function |