Construct a gene-geneset-graph from the results of a functional enrichment analysis
ggs_graph(
res_enrich,
res_de,
annotation_obj = NULL,
gtl = NULL,
n_gs = 15,
gs_ids = NULL,
prettify = TRUE,
geneset_graph_color = "gold",
genes_graph_colpal = NULL
)
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 included
Character vector, containing a subset of gs_id
as they are
available in res_enrich
. Lists the gene sets to be included in addition to
the top ones (via n_gs
)
Logical, controlling the aspect of the returned graph object. If TRUE (default value), different shapes of the nodes are returned, based on the node type
Character value, specifying which color should be used for the fill of the shapes related to the gene sets.
A vector of colors, also provided with their hex string, to be used as a palette for coloring the gene nodes. If unspecified, defaults to a color ramp palette interpolating from blue through yellow to red.
An igraph
object to be further manipulated or processed/plotted (e.g.
via igraph::plot.igraph()
or
visNetwork::visIgraph())
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)
ggs <- ggs_graph(
res_enrich,
res_de,
anno_df
)
ggs
#> IGRAPH f50d628 UN-- 253 569 --
#> + attr: name (v/c), nodetype (v/c), shape (v/c), color (v/c), title
#> | (v/c)
#> + edges from f50d628 (vertex names):
#> [1] adaptive immune response--B2M adaptive immune response--BCL6
#> [3] adaptive immune response--BTN3A1 adaptive immune response--BTN3A2
#> [5] adaptive immune response--BTN3A3 adaptive immune response--C1QB
#> [7] adaptive immune response--C1R adaptive immune response--C1RL
#> [9] adaptive immune response--C1S adaptive immune response--C2
#> [11] adaptive immune response--C3 adaptive immune response--C4A
#> [13] adaptive immune response--C4B adaptive immune response--CD1A
#> + ... omitted several edges
#' # could be viewed interactively with
# library(visNetwork)
# library(magrittr)
# ggs %>%
# visIgraph() %>%
# visOptions(highlightNearest = list(enabled = TRUE,
# degree = 1,
# hover = TRUE),
# nodesIdSelection = TRUE)