knitr::opts_chunk$set(fig.align = "center", message = FALSE, warning = FALSE) library(tidyverse) library(igraph)
You are about to explore a multi-layered network specific to the liver using diffusion algorithm.
For this, you will need a list of molecules of interest as an entry point to the network. From this list, this tool offers to navigate through the layers and extract one subnetwork based on the overall network topology.
The subnetwork is exportable to Cytoscape and can be further handled for a better interpretation. Alongside the subnetwork, we also produce a report of notable features from this result.
In this manual, we detail the characteristics of the global liver network and guide you to produce sub-networks specific to the list of molecules of interest.
# install devtools install.packages("devtools") # install the package (last version) devtools::install_github("abodein/CENetwork")
# load the package library(CENetwork)
Install the latest version of Cytoscape: https://cytoscape.org/download.html
Cytoscape must be open during the exportation process. Please check your connection via
# return an error if Cytoscape can not be found RCy3::cytoscapePing()
The liver network is composed of 6 layers (gene, protein, drug/compound, pathway, side effect and Hepatox GO terms).
First, the protein-protein interaction network layout wos build based on BioGRID (https://thebiogrid.org) and only proteins expressed in liver were kept (https://www.proteinatlas.org/humanproteome/tissue/liver).
Proteins were connected to an in-house gene coregulation network (ARACNE https://bmcbioinformatics.biomedcentral.com/articles/10.1186/1471-2105-7-S1-S7) with gene to protein coding information and Transctipted Factor (TF) to Targeted Genes (TG) with TF2DNA (https://www.fiserlab.org/tf2dna_db/), TRRUST https://www.grnpedia.org/trrust/ and Dorothea (https://saezlab.github.io/dorothea/). Only interactions between the present genes and proteins were included.
Drugs were extracted from DrugBank and were linked to their protein targets (https://drugbank.ca). We used CHEMBL to add IC50 information when available for the HepG2 cell line and if the compound and its targets were present in the network. Side Effects were extracted from SIDER and were linked to drugs (http://sideeffects.embl.de). Drug Induced Liver Injury (DILI) scores were added to the drugs (https://www.fda.gov/science-research/bioinformatics-tools/liver-toxicity-knowledge-base-ltkb).
Proteins were also linked to Reactome pathways (https://reactome.org).
Finaly, GO terms linked to hepato-toxicicity were connected to gene and protein. We took the list of GO terms from:
De Abrew KN, Overmann GJ, Adams RL, Tiesman JP, Dunavent J, Shan YK, Carr GJ, Daston GP, Naciff JM. A novel transcriptomics based in vitro method to compare and predict hepatotoxicity based on mode of action. Toxicology. 2015 Feb 3;328:29-39. doi: 10.1016/j.tox.2014.11.008. Epub 2014 Dec 2. PMID: 25475144. Tripodi IJ, Callahan TJ, Westfall JT, Meitzer NS, Dowell RD, Hunter LE. Applying knowledge-driven mechanistic inference to toxicogenomics. Toxicol In Vitro. 2020 Aug;66:104877. doi: 10.1016/j.tiv.2020.104877. Epub 2020 May 6. PMID: 32387679; PMCID: PMC7306473.
Schematic figure of v1 liver network
The overall network is composed of 24,103 nodes spread over 6 layers: 4400 genes, 12898 proteins, 2114 drugs/compounds, 2014 pathways, 262 side effects and 58 Hepatox GO terms.
The nodes are linked to each other with 637,663 interactions which represent gene-protein coding, PPI, TF-TG, drug-target, acts-in-pathway, ...
Each node has attributes. Here is the complete list of attributes of this current version of the global network. Some attributes are shared between all the nodes and some are specific to the type of node.
Shared attributes:
Gene nodes:
Protein nodes:
Drug/Compound nodes :
Pathway nodes :
GO nodes :
Here is the typical diffusion workflow: 1) get diffusion results from a list of seeds. Then, 2) export the resulting subnetwork to cytoscape and 3) produce a report to highlight valuable nodes on the network.
Here we illustrate the diffusion with a quick example. We difined a custom gene signature from the drug Acetaminophen
First, let's load the data :
data(liver_1.3_network) # the network data(liver_1.3_rwr_closest_dfr) # pre-calculated diffusion scores data("signature_maison") # custom gene signature signature_acetaminophen <- signature_maison$`acetaminophen_all_all` signature_acetaminophen
We use the function get_route()
for the diffusion and we provide the liver network and the seeds to start from.
We can chose to reach the drug/compound pathway and side effect layers.
The detailed description of the function is available with ?get_route
.
# load data RWR scores diffusion.res <- get_route(network = liver_1.3_network, # the network closest_dfr = liver_1.3_rwr_closest_dfr, # pre-calculated diffusion scores signature_vids = signature_acetaminophen, # input seeds target_type = c("drug/compound", "pathway", "side_effect")) # layers to reached
With Cytoscape open, we can export the resulting subnetwork to Cytoscape and apply a custom theme.
In this theme we decided to colorized the node based on the type
attribute and few other ajustments (?apply_custom_theme
).
# export to cytoscape export_to_cytoscape(diffusion.res) apply_custom_theme()
First, we build the different table shown in the report, then we produce the html file. In the report, the tables describe:
# generate report diffusion.report <- report(diffusion.res) # result from get_route() # produce the table produce_diffusion_report(res_report = diffusion.report, # result from report() report_title = "Acetaminophen", report_out_filepath = "Acetaminophen_report.Rmd", # Rmd file overwrite = TRUE, # overwrite report_out_filepath render = TRUE) # produce html
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.