The goal of GeneTonic is to analyze and integrate the results from Differential Expression analysis and functional enrichment analysis.

This package provides a Shiny application that aims to combine at different levels the existing pieces of the transcriptome data and results, in a way that makes it easier to generate insightful observations and hypothesis - combining the benefits of interactivity and reproducibility, e.g. by capturing the features and gene sets of interest highlighted during the live session, and creating an HTML report as an artifact where text, code, and output coexist.

GeneTonic can be found on Bioconductor (

If you use GeneTonic in your work, please refer to the original publication 📄 on BMC Bioinformatics (, doi: 10.1186/s12859-021-04461-5).

A preprint 📄 on GeneTonic is available on bioRxiv at


You can install the development version of GeneTonic from GitHub with:

                        dependencies = TRUE, build_vignettes = TRUE)


This is a basic example which shows you how to use GeneTonic on a demo dataset (the one included in the macrophage package).


# which will in the end run

# dds object
data("gse", package = "macrophage")
dds_macrophage <- DESeqDataSet(gse, design = ~line + condition)
rownames(dds_macrophage) <- substr(rownames(dds_macrophage), 1, 15)
dds_macrophage <- estimateSizeFactors(dds_macrophage)

# annotation object
anno_df <- data.frame(
  gene_id = rownames(dds_macrophage),
  gene_name = mapIds(,
                     keys = rownames(dds_macrophage),
                     column = "SYMBOL",
                     keytype = "ENSEMBL"),
  stringsAsFactors = FALSE,
  row.names = rownames(dds_macrophage)

# 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)

GeneTonic(dds = dds_macrophage,
          res_de = res_de,
          res_enrich = res_enrich,
          annotation_obj = anno_df,
          project_id = "my_first_genetonic")

Usage overview

You can find the rendered version of the documentation of GeneTonic at the project website, created with pkgdown.

Sneak peek?

Please visit to see a small demo instance running, on the macrophage dataset.


If you encounter a bug, have usage questions, or want to share ideas and functionality to make this package better, feel free to file an issue.

Code of Conduct

Please note that the GeneTonic project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.


MIT © Federico Marini