Radar (spider) plot for gene sets, either for one or more results from functional enrichment analysis.
gs_radar(
res_enrich,
res_enrich2 = NULL,
n_gs = 20,
p_value_column = "gs_pvalue"
)
gs_spider(
res_enrich,
res_enrich2 = NULL,
n_gs = 20,
p_value_column = "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).
Analogous to res_enrich1
, another data.frame
object,
storing the result of the functional enrichment analysis, but for a different
setting (e.g. another contrast).
Defaults to NULL (in this case, a single set of enrichment results is plotted).
Integer value, corresponding to the maximal number of gene sets to be displayed
Character string, specifying the column of res_enrich
where the p-value to be represented is specified. Defaults to gs_pvalue
(it could have other values, in case more than one p-value - or an adjusted
p-value - have been specified).
A plotly
object
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)
gs_radar(res_enrich = res_enrich)
# or using the alias...
gs_spider(res_enrich = res_enrich)
# with more than one set
res_enrich2 <- res_enrich[1:60, ]
set.seed(42)
shuffled_ones <- sample(seq_len(60)) # to generate permuted p-values
res_enrich2$gs_pvalue <- res_enrich2$gs_pvalue[shuffled_ones]
# ideally, I would also permute the z scores and aggregated scores
gs_radar(
res_enrich = res_enrich,
res_enrich2 = res_enrich2
)