Coder Social home page Coder Social logo

frankkramer-lab / multipath Goto Github PK

View Code? Open in Web Editor NEW
5.0 4.0 1.0 2.15 MB

Integrating pathways and related knowledge in a multilayer framework

R 100.00%
biopax-encoded-pathways uniprot drugbank-database biological-pathways reproducibility data-integration knowledge-representation multilayer-networks graph-theory data-visualization

multipath's Introduction

Multipath

Creating integrated reproducible pathway multilayer models

alt text

Introduction

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 .

Publication

More information and references can be found in the Multipath paper:

https://www.mdpi.com/2079-7737/9/12/483

Installation

Preinstallation

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)

Installation via Github

require(devtools)
install_github("frankkramer-lab/Multipath")
library(Multipath)

Test the package

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.

Create a mully graph from a BioPax-encoded pathway

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)

alt text

Generate Views

view1=pathwayView(wntmully,"View1")
view1=addStep(view1,action = "remove",element="layer",name="Rna",trans = T)
suppressWarnings(plot3d(view1$modified))

alt text

view2=pathwayView(wntmully,"View2")
view2=addStep(view2,action = "remove",element="layer",name="PhysicalEntity",trans=T)
suppressWarnings(plot3d(view2$modified))

alt text

view3=pathwayView(wntmully,"View3")
view3=addStep(view3,action = "remove",element="layer",name="Complex",trans=T)
suppressWarnings(plot3d(view3$modified))

alt text

Available Functions

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

multipath's People

Contributors

mohammadalmaaz avatar zaynabhammoud avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

mohammadalmaaz

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.