Package: diffupath
IntroductionDiffuPath is an analytic tool for biological networks that connects the generic label propagation algorithms fromDiffuPyto biological networks encoded in several formats such as
Simple Interaction Format (SIF) or Biological Expression Language (BEL). For example, in the application scenario
presented in the paper, we use three pathway databases (i.e., KEGG, Reactome and WikiPathways) and their integrated
network retrieved fromPathMe[1]to analyze three multi-omics datasets.
However, other biological networks can be imported from the Bio2BEL ecosystem[2].InstallationThe latest stable code can be installed fromPyPIwith:$python3-mpipinstalldiffupathThe most recent code can be installed from the source onGitHubwith:$python3-mpipinstallgit+https://github.com/multipaths/diffupath.gitFor developers, the repository can be cloned fromGitHuband installed in
editable mode with:$gitclonehttps://github.com/multipaths/diffupath.git$cddiffupath$python3-mpipinstall-e.Requirementsdiffupathrequires the following libraries:networkx (>=2.1)
pybel (0.13.2)
biokeen (0.0.14)
click (7.0)
tqdm (4.31.1)
numpy (1.16.3)
scipy (1.2.1)
scikit-learn (0.21.3)
pandas (0.24.2)
openpyxl (3.0.2)
plotly (4.5.3)
matplotlib (3.1.2)
matplotlib_venn (0.11.5)
bio2bel (0.2.1)
pathme
diffupyCommand Line InterfaceThe following commands can be used directly from your terminal:Download a database for network analysis.The following command generates a BEL file representing the network of the given database.$python3-mdiffupathdatabaseget-database--database=<database-name>To check the available databases, run the following command:$python3-mdiffupathdatabaselsRun a diffusion analysisThe following command will run a diffusion method on a given network with the given data$python3-mdiffupathdiffusiondiffuse--network=<path-to-network-file>--data=<path-to-data-file>--method=<method>Run a diffusion analysis$python3-mdiffupathdiffusionevaluate-i=<input_data>-n=<path_network>Input DataYou can submit your dataset in any of the following formats:CSV (.csv)TSV (.tsv)Please ensure that the dataset minimally has a column ‘Node’ containing node IDs. You can also optionally add the
following columns to your dataset:NodeTypeLogFC[*]p-value[*]Log2fold changeInput dataset examplesDiffuPath accepts several input formats which can be codified in different ways. See thediffusion scoressummary for more
details.You can provide a dataset with a column ‘Node’ containing node IDs.NodeABCD2. You can also provide a dataset with a column ‘Node’ containing node IDs as well as a column ‘NodeType’, indicating
the entity type of the node to run diffusion by entity type.NodeNodeTypeAGeneBGeneCMetaboliteDGene3. You can also choose to provide a dataset with a column ‘Node’ containing node IDs as well as a column ‘logFC’ with
their LogFC. You may also add a ‘NodeType’ column to run diffusion by entity type.NodeLogFCA4B-1C1.5D34. Finally, you can provide a dataset with a column ‘Node’ containing node IDs, a column ‘logFC’ with their logFC
and a column ‘p-value’ with adjusted p-values. You may also add a ‘NodeType’ column to run diffusion by entity type.NodeLogFCp-valueA40.03B-10.05C1.50.001D30.07You can also take a look at oursample datasetsfolder for some examples files.NetworksIn this section, we describe the types of networks you can select to run diffusion methods over. These include the
following and are described in detail in this section[†]:Select a network representing an individual biological databaseSelect multiple databases to generate a harmonized networkSelect from one of four predefined collections of biological databases representing a harmonized networkSubmit your own network[‡]from one of the accepted formats[†]Please note that all networks available through DiffuPath have been generated using PyBEL v.0.13.2.[‡]If there are duplicated nodes in your network, please take a look at thisJupyter Notebookto address the issue.Network DumpsBecause of the high computational cost of generating the kernel, we provide links to pre-calculated kernels for a set of
networks representing biological databases.DatabaseDescriptionReferenceDownloadDDRDisease-disease associations[3]ddr.jsonDrugBankDrug and drug target interactions[4]drugbank.jsonGene OntologyHierarchy of tens of thousands of biological processes[5]go.jsonHSDNAssociations between diseases and symptoms[6]hsdn.jsonKEGGMulti-omics interactions in biological pathways[7]kegg.jsonmiRTarBaseInteractions between miRNA and their targets[8]mirtarbase.jsonReactomeMulti-omics interactions in biological pathways[9]reactome.jsonSIDERAssociations between drugs and side effects[10]sider.jsonWikiPathwaysMulti-omics interactions in biological pathways[11]wikipathways.jsonIf you would like to use one of our predefined collections, you can similarly download pre-calculated kernels for sets
of networks representing integrated biological databases.CollectionDatabaseDescriptionDownload#1KEGG, Reactome and WikiPathways-omics and biological
processes/pathwayspathme.json#2KEGG, Reactome, WikiPathways
and DrugBank-omics and biological
processes/pathways with a strong
focus on drug/chemical interactionspathme_drugbank.json#3KEGG, Reactome, WikiPathways
and MirTarBase-omics and biological processes/
pathways enriched with miRNAspathme_mirtarbase.jsonCustom-network formatsYou can also submit your own networks in any of the following formats:BEL(.bel)CSV (.csv)Edgelist(.lst)GML(.gml or .xml)GraphML(.graphml or .xml)Pickle (.pickle)TSV (.tsv)TXT (.txt)Minimally, please ensure each of the following columns are included in the network file you submit:SourceTargetOptionally, you can choose to add a third column, “Relation” in your network (as in the example below). If the relation
between theSourceandTargetnodes is omitted, and/or if the directionality is ambiguous, either node can be
assigned as theSourceorTarget.Custom-network exampleSourceTargetRelationABIncreaseBCAssociationADAssociationYou can also take a look at oursample networksfolder for some examples.DisclaimerDiffuPath is a scientific software that has been developed in an academic capacity, and thus comes with no warranty or
guarantee of maintenance, support, or back-up of data.References[1]Domingo-Fernandez, D., Mubeen, S., Marin-Llao, J., Hoyt, C.,et al.Hofmann-Apitius, M. (2019).PathMe:
Merging and exploring mechanistic pathway knowledge..BMC Bioinformatics, 20:243.[2]Hoyt, C. T.,et al.(2019).Integration of Structured Biological Data Sources using Biological Expression
Language.bioRxiv, 631812.[3]Menche, J., et al. (2015). Disease networks.Uncovering disease-disease relationships through the incomplete
interactome. Science, 347(6224), 1257601.[4]Wishart, D. S.,et al.(2018).DrugBank 5.0: a major update to the DrugBank database for 2018. Nucleic Acids Research, 46(D1), D1074–D1082.[5]Ashburner, M.,et al.(2000).Gene ontology: tool for the unification of biology. The Gene Ontology Consortium. Nature Genetics, 25(1), 25–9.[6]Zhou, X., Menche, J., Barabási, A. L., & Sharma, A. (2014).Human symptoms–disease network. Nature communications, 5(1), 1-10.[7]Kanehisa,et al.(2017).KEGG: new perspectives on genomes, pathways, diseases and drugs.. Nucleic Acids Res. 45,D353-D361.[8]Huang, H. Y.,et al.(2020).miRTarBase 2020: updates to the experimentally validated microRNA–target
interaction database. Nucleic acids research, 48(D1), D148-D154.[9]Fabregat, Aet al.(2016).The Reactome Pathway Knowledgebase. Nucleic
Acids Research 44. Database issue: D481–D487.[10]Kuhn, M.,et al.(2016).The SIDER database of drugs and side effects.
Nucleic Acids Research, 44(D1), D1075–D1079.[11]Slenter, D.N.,et al.(2017).WikiPathways: a multifaceted pathway database bridging metabolomics to other
omics research.Nucleic Acids Research, 46(D1):D661-D667.