This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
Please check http://www.gnu.org/licenses/.
The code included in the present notebook is based on this [script][https://git-r3lab.uni.lu/computational-modelling-and-simulation/generegulationanalysis/-/blob/master/5_SBMLSearch/SourceCode/grep_disease_map.R] developed by Yusuke Hiki
The present script takes the output of our Footprint-based analysis and matches the results againts the content of [the Covid-19 Disease Maps][https://covid.pages.uni.lu/map_contents]
library(kableExtra)
We first read the content ofthe Covid-19 Disease Maps which can be found in this [file][https://gitlab.lcsb.uni.lu/covid/models/-/blob/master/Resources/Expand%20the%20diagrams/COVID19_Disease_Map_bipartite_crosslinked_additional_HGNCs.tsv]:
disease_map <- read.delim("https://gitlab.lcsb.uni.lu/covid/models/-/raw/master/Resources/Expand%20the%20diagrams/COVID19_Disease_Map_bipartite_crosslinked_additional_HGNCs.tsv")
# Extract row with HGNC symbol
disease_map_hgnc <- disease_map[ !is.na( disease_map$source_hgnc ), ]
# Get HGNC symbol list for each row
disease_map_gene_list <- strsplit( x=gsub( pattern="HGNC_SYMBOL:", replacement="", x=disease_map_hgnc$source_hgnc ), split=";" )
We then read the output of our Footprint-based analyisis, namely CARNIVAL's output network. This file can be found [here][https://gitlab.lcsb.uni.lu/computational-modelling-and-simulation/footprint-based-analysis-and-causal-network-contextualisation-in-sars-cov-2-infected-a549-cell-line/-/tree/master/Carnival_Results].
carnival_results <- readRDS("InputFiles/carnival_results_withprogeny.rds")
carnival_nodes_hgnc <- unique(c(carnival_results$weightedSIF[,"Node1"], carnival_results$weightedSIF[,"Node2"]))
We finally match all our genes from the carnival network with all the genes from the different pathways included in the COVID19 Disease maps.
disease_map_hgnc_carnival_detected <- data.frame()
for( current_gene in carnival_nodes_hgnc){
# Get row index of disease map matched with target gene
index_matched <- which( unlist( lapply( X=disease_map_gene_list, FUN=function(x){ return( any(current_gene==x) ) } ) ) )
# Extract the row
if( length( index_matched ) != 0 ){
disease_map_hgnc_carnival_detected_i <- cbind( disease_map_hgnc[ index_matched, ], hgnc_carnival=current_gene )
disease_map_hgnc_carnival_detected <- rbind( disease_map_hgnc_carnival_detected, disease_map_hgnc_carnival_detected_i )
}
}
disease_map_hgnc_carnival_detected <- unique( disease_map_hgnc_carnival_detected[ ,c("source_diagram", "hgnc_carnival") ] )
rownames(disease_map_hgnc_carnival_detected) <- NULL
and We visualize the results.
disease_map_hgnc_carnival_detected %>%
kbl(col.names = c("Covid19 DM Diagram", "Carnival nodes")) %>%
kable_styling()
Covid19 DM Diagram | Carnival nodes |
---|---|
C19DMap:PAMP signalling | TICAM1 |
C19DMap:Orf3a protein interactions | TICAM1 |
C19DMap:TGFbeta signalling | MAPK3 |
C19DMap:Interferon 1 pathway | TBK1 |
C19DMap:PAMP signalling | TBK1 |
C19DMap:Pyrimidine deprivation | TBK1 |
C19DMap:Interferon lambda pathway | TBK1 |
C19DMap:Endoplasmatic Reticulum stress | ATF6 |
C19DMap:Interferon 1 pathway | IKBKE |
C19DMap:PAMP signalling | IKBKE |
C19DMap:TGFbeta signalling | SMAD1 |
C19DMap:Endoplasmatic Reticulum stress | ATF4 |
C19DMap:Endoplasmatic Reticulum stress | MBTPS1 |
C19DMap:Interferon 1 pathway | IRF3 |
C19DMap:PAMP signalling | IRF3 |
C19DMap:Pyrimidine deprivation | IRF3 |
C19DMap:Interferon lambda pathway | IRF3 |
## R version 4.0.4 (2021-02-15)
## Platform: x86_64-w64-mingw32/x64 (64-bit)
## Running under: Windows 10 x64 (build 19042)
##
## Matrix products: default
##
## locale:
## [1] LC_COLLATE=English_Germany.1252 LC_CTYPE=English_Germany.1252
## [3] LC_MONETARY=English_Germany.1252 LC_NUMERIC=C
## [5] LC_TIME=English_Germany.1252
##
## attached base packages:
## [1] stats graphics grDevices utils datasets methods base
##
## other attached packages:
## [1] kableExtra_1.3.4
##
## loaded via a namespace (and not attached):
## [1] rstudioapi_0.13 knitr_1.33 xml2_1.3.2 magrittr_2.0.1
## [5] rvest_1.0.0 munsell_0.5.0 viridisLite_0.4.0 colorspace_2.0-1
## [9] R6_2.5.0 rlang_0.4.11 highr_0.9 stringr_1.4.0
## [13] httr_1.4.2 tools_4.0.4 webshot_0.5.2 xfun_0.24
## [17] jquerylib_0.1.4 systemfonts_1.0.2 htmltools_0.5.1.1 yaml_2.2.1
## [21] digest_0.6.27 lifecycle_1.0.0 sass_0.4.0 glue_1.4.2
## [25] evaluate_0.14 rmarkdown_2.9 stringi_1.6.2 compiler_4.0.4
## [29] bslib_0.2.5.1 scales_1.1.1 svglite_2.1.0 jsonlite_1.7.2