R/enrichment_map.R
enrichment_map.RdGenerates a graph for the enrichment map, combining information from res_enrich
and res_de. This object can be further plotted, e.g. statically via
igraph::plot.igraph(), or dynamically via
visNetwork::visIgraph()
enrichment_map(
res_enrich,
res_de,
annotation_obj,
gtl = NULL,
n_gs = 50,
gs_ids = NULL,
overlap_threshold = 0.1,
scale_edges_width = 200,
scale_nodes_size = 5,
color_by = "gs_pvalue"
)A data.frame object, storing the result of the functional
enrichment analysis. See more in the main function, GeneTonic(), to check the
formatting requirements (a minimal set of columns should be present).
A DESeqResults object.
A data.frame object with the feature annotation
information, with at least two columns, gene_id and gene_name.
A GeneTonic-list object, containing in its slots the arguments
specified above: dds, res_de, res_enrich, and annotation_obj - the names
of the list must be specified following the content they are expecting
Integer value, corresponding to the maximal number of gene sets to be displayed
Character vector, containing a subset of gs_id as they are
available in res_enrich. Lists the gene sets to be displayed.
Numeric value, between 0 and 1. Defines the threshold to be used for removing edges in the enrichment map - edges below this value will be excluded from the final graph. Defaults to 0.1.
A numeric value, to define the scaling factor for the
edges between nodes. Defaults to 200 (works well chained to visNetwork
functions).
A numeric value, to define the scaling factor for the
node sizes. Defaults to 5 - works well chained to visNetwork functions.
Character, specifying the column of res_enrich to be used
for coloring the plotted gene sets. Defaults to gs_pvalue.
An igraph object to be further manipulated or processed/plotted
GeneTonic() embeds an interactive visualization for the enrichment map
library("macrophage")
library("DESeq2")
library("org.Hs.eg.db")
library("AnnotationDbi")
# dds object
data("gse", package = "macrophage")
dds_macrophage <- DESeqDataSet(gse, design = ~ line + condition)
#> using counts and average transcript lengths from tximeta
rownames(dds_macrophage) <- substr(rownames(dds_macrophage), 1, 15)
dds_macrophage <- estimateSizeFactors(dds_macrophage)
#> using 'avgTxLength' from assays(dds), correcting for library size
# annotation object
anno_df <- data.frame(
gene_id = rownames(dds_macrophage),
gene_name = mapIds(org.Hs.eg.db,
keys = rownames(dds_macrophage),
column = "SYMBOL",
keytype = "ENSEMBL"
),
stringsAsFactors = FALSE,
row.names = rownames(dds_macrophage)
)
#> 'select()' returned 1:many mapping between keys and columns
# res object
data(res_de_macrophage, package = "GeneTonic")
res_de <- res_macrophage_IFNg_vs_naive
# res_enrich object
data(res_enrich_macrophage, package = "GeneTonic")
res_enrich <- shake_topGOtableResult(topgoDE_macrophage_IFNg_vs_naive)
#> Found 500 gene sets in `topGOtableResult` object.
#> Converting for usage in GeneTonic...
res_enrich <- get_aggrscores(res_enrich, res_de, anno_df)
em <- enrichment_map(res_enrich,
res_de,
anno_df,
n_gs = 20
)
em
#> IGRAPH 7dfc9fe UN-- 20 54 --
#> + attr: name (v/c), size (v/n), original_size (v/n), color_by_variable
#> | (v/n), color.background (v/c), color.highlight (v/c), color.hover
#> | (v/c), color.border (v/c), width (e/n), color (e/c)
#> + edges from 7dfc9fe (vertex names):
#> [1] adaptive immune response--interferon-gamma-mediated signaling pathway
#> [2] adaptive immune response--antigen processing and presentation of endogenous peptide antigen via MHC class I
#> [3] adaptive immune response--positive regulation of T cell mediated cytotoxicity
#> [4] adaptive immune response--antigen processing and presentation via MHC class Ib
#> + ... omitted several edges
# could be viewed interactively with
# library("visNetwork")
# library("magrittr")
# em %>%
# visIgraph() %>%
# visOptions(highlightNearest = list(enabled = TRUE,
# degree = 1,
# hover = TRUE),
# nodesIdSelection = TRUE)