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 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
library(kableExtra)
library(stringr)
We first read the content ofthe Covid-19 Disease Maps which can be found in this file:
disease_map <- read.delim("https://gitlab.lcsb.uni.lu/covid/models/-/raw/master/Resources/Expand%20the%20diagrams/COVID19_Disease_Map_bipartite_crosslinked.tsv")
We then read the output of our Footprint-based analyisis, namely CARNIVAL's output network. This file can be found here.
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.
matching_genes <- character()
matching_pathways <- character()
for (i in 1:nrow(disease_map)){
if (!(is.na(disease_map$source_hgnc[i]))) {
source_nodes <-
str_replace(unlist(strsplit(disease_map$source_hgnc[i], split = ";")), "HGNC_SYMBOL:", "")
} else {
source_nodes <- c()
}
if (!(is.na(disease_map$target_hgnc[i]))) {
target_nodes <-
str_replace(unlist(strsplit(disease_map$target_hgnc[i], split = ";")), "HGNC_SYMBOL:", "")
} else {
target_nodes <- c()
}
all_nodes <- unique(c(source_nodes, target_nodes))
if (length(all_nodes)!= 0){
current_matching_genes <- intersect(carnival_nodes_hgnc, all_nodes)
if (length(current_matching_genes) != 0){
current_matching_pathways <- rep(disease_map$source_diagram[i], length(current_matching_genes))
matching_genes <- c(matching_genes, current_matching_genes)
matching_pathways <- c(matching_pathways, current_matching_pathways)
}
}
}
disease_map_hgnc_carnival_detected <-
data.frame(source_diagram = matching_pathways, hgnc_carnival=matching_genes) %>%
dplyr::distinct()
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:Interferon 1 pathway | IRF3 |
C19DMap:Interferon 1 pathway | TBK1 |
C19DMap:Interferon 1 pathway | IKBKE |
C19DMap:TGFbeta signalling | MAPK3 |
C19DMap:TGFbeta signalling | SMAD1 |
C19DMap:PAMP signalling | TICAM1 |
C19DMap:PAMP signalling | IKBKE |
C19DMap:PAMP signalling | IRF3 |
C19DMap:PAMP signalling | TBK1 |
C19DMap:Pyrimidine deprivation | IRF3 |
C19DMap:Pyrimidine deprivation | TBK1 |
C19DMap:Orf3a protein interactions | TICAM1 |
C19DMap:Endoplasmatic Reticulum stress | ATF6 |
C19DMap:Endoplasmatic Reticulum stress | ATF4 |
C19DMap:Endoplasmatic Reticulum stress | MBTPS1 |
C19DMap:Interferon lambda pathway | IRF3 |
C19DMap:Interferon lambda pathway | TBK1 |
write.table(x=disease_map_hgnc_carnival_detected,
file = "MatchingGenes/carnival_diagrams.tsv", sep = "\t",
row.names = FALSE, quote = FALSE)
## 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] stringr_1.4.0 kableExtra_1.3.4
##
## loaded via a namespace (and not attached):
## [1] highr_0.9 bslib_0.2.5.1 compiler_4.0.4 pillar_1.7.0
## [5] jquerylib_0.1.4 tools_4.0.4 digest_0.6.27 tibble_3.1.6
## [9] jsonlite_1.7.2 evaluate_0.14 lifecycle_1.0.1 viridisLite_0.4.0
## [13] pkgconfig_2.0.3 rlang_1.0.1 DBI_1.1.2 cli_3.2.0
## [17] rstudioapi_0.13 yaml_2.2.1 xfun_0.24 httr_1.4.2
## [21] dplyr_1.0.8 xml2_1.3.2 knitr_1.33 generics_0.1.2
## [25] sass_0.4.0 vctrs_0.3.8 systemfonts_1.0.2 tidyselect_1.1.2
## [29] webshot_0.5.2 svglite_2.1.0 glue_1.4.2 R6_2.5.1
## [33] fansi_1.0.2 rmarkdown_2.9 purrr_0.3.4 magrittr_2.0.1
## [37] scales_1.1.1 htmltools_0.5.1.1 ellipsis_0.3.2 assertthat_0.2.1
## [41] rvest_1.0.0 colorspace_2.0-1 utf8_1.2.2 stringi_1.6.2
## [45] munsell_0.5.0 crayon_1.5.0