Interactive Differential Expression Analyzer
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
User Guide of IDEA



TravisCI Build Status codebeat badge

Table of content

An R package version of interactive differential expression analyzer

High-throughput sequencing technology is rapidly becoming the standard method for measuring gene expression at the transcriptional level. One of the main goals of such work is to identify differentially expressed genes under two or more conditions. A number of computational tools , such as DESeq (Anders and Huber 2010) (updated as DESeq2 (Love, Huber et al. 2014)), edgeR (Robinson, McCarthy et al. 2010, Zhou, Lindsay et al. 2014), NOISeq (Tarazona, García-Alcalde et al. 2011), PoissonSeq (Li, Witten et al. 2011), and SAMseq (samr) (Li and Tibshirani 2013) and Cuffdiff (Trapnell, et al., 2013) have been developed for the analysis of differential gene expression from patterns in RNA-seq data. Most of these tools are implemented in R language, which is commonly used for the analysis of high-dimensional expression data. However, a fairly high level of programing skill is required when applying these R tools to screen out differentially expressed genes, greatly hindering the application of these tools since many biology researchers have little programing experience. Beyond this problem, due to a lack of an interactive interface in these tools, it is inconvenient to adjust the analytical parameters, even for advanced users. Moreover, since different packages generate inconsistent results, an interactive platform that combines these tools together is necessary for obtaining more solid analysis results.
To address the above issues, here we introduce the Interactive Differential Expression Analyzer (IDEA), a Shiny-based web application dedicated to the identification of differential expression genes in an interactive way. IDEA was built as a user-friendly and highly interactive utility using the Shiny (RStudio Inc. 2014) package in R. Currently, five relevant R packages are integrated into IDEA. IDEA is capable of visualizing the results with plenty of charts and tables, as well as providing great ease of interaction during the course of the analysis.

Click me to redirected into web server.

Screen shoot of IDEA

Install IDEA locally.

The online version can be easily accessed to perform analysis tasks with dataset in low thoughput. However, Limited to remote server resouces, the web page usually stucked while multible user operated parallelly or larger dataset tasks requirement. To solve this, We released an R package that packed the core analysis module for users to run analysis under the R environment locally .

Before install the IDEA package, please read this markdown file carefully;

    if (!require("devtools"))

User should notice that , the latest shinyBS is incompatible with IDEA at present ; Only the exact shingBS version (0.25) keep the IDEA work smoothly . This is because current shinyBS removed the progressBar()function used in IDEA. To install the compatible shinyBS, you can type

        devtools::install_github( "likelet/shinyBS")

Here list the command to install the related packages manually if devtools failed in installation:

      cDep <- c("abind")
      #dependencies from BIOCONDUCTOR
      bcDep <- c("Biobase", "BiocGenerics", "S4Vectors", "IRanges", "GenomeInfoDb", "GenomicRanges","impute")
      #target from CRAN
      cTgt <- c("PoissonSeq","FactoMineR","samr","ggplot2","VennDiagram","RobustRankAggreg","shiny","rmarkdown","Cairo","gplots","pheatmap","labeling")
      #target from BIOCONDUCTOR
      bcTgt <- c("edgeR", "DESeq2","NOISeq")

      #get installed list
      inst <- packageStatus()$inst

      #check and install DEPENDENCIES from CRAN
      for(i in 1:length(cDep)){
        tag = which(inst$Package == cDep[i])
      #check and install DEPENDENCIES from BIOCONDUCTOR
      for(i in 1:length(bcDep)){
        tag = which(inst$Package == bcDep[i])

      #check and install TARGET packages
      for(i in 1:length(cTgt)){
      for(i in 1:length(bcTgt)){


      devtools::install_github("shiny-incubator", "rstudio")
      devtools::install_github( "likelet/shinyBS")

Second, to install the latest development build directly from GitHub, run this:(For some reason, we did not release the current version on CRAN or BIOCONDUCTOR site):

    if (!require("devtools"))

The above command can automaticly install the several dependencies which allows users skipping some installation steps; However, the shinyBS package would be latest version which will result in incompatible with IDEA. User can remove it and reinstall the right version to avoid this;

Run information.

For computer with GUI

Clone repository into local path and run as a Shiny App
example: Clone repository into local directory '/Document/IDEA' (so that ui.R locates as '/Document/IDEA/ui.R')
then run in R under work directory of '/Document' :


Also, after install IDEA pakcages with no error print, users can simply input.


function to run application locally; Since there is only one function in this package, you can also print help massege in your R console;

For server or computer without GUI (Run IDEA on a server).

Install shiny-server first and finish the configurations step according to
Pull the package and install dependencies into your R environment;
Copy IDEA folder under inst dir into /srv/shiny-sever/ (or orther app location configured in shiny-sever.conf file)
Configure the server network/firewall options like open the shiny port(3838 default), internal IP access (please refer to shiny-server configuration step);

Access the server's ip address along with port number and enjoy your IDEA analysis trip :).

Developing Environment.

  R version 3.1.2. 
  Shiny (0.12.2), ShinySky(0.1.2), shinyIncubator (3.2.4),shinyBS(0.25) and their dependencies. 
  DESeq2 (1.6.2), edgeR (3.2.4), SAMseq (2.0), PoissonSeq (1.1.2), NOISeq (2.8.0) and their dependencies. 
  ggplot2, reshape, plyr, scale, RColorBrewer and other packages needed in plotting.  


First stable version released. To view user guide, please visit HELP page when package installed.


During the analysis procedure, you might encounter the following problems due to software or environment ; We summarized those questions and give some solutions for bug fixing:

    1. Several packages can not be installed with errors returned, how to fix this?

Yes, the R pakcages' installation is indeed painful. Mostly you can restart your computer or change the network environment to fix it; If the problem still exists, please try to install packages locally or contact authors for help;

    1. "Error : unrecognized fields specified in html_dependency: attachment" while clicks the download report button

This error is mainly caused by Rstudio version; you can fix it by upgrading your RStudio to the latest version.

    1. "Error: pandoc version 1.12.3 or higher is required and was not found." while clicks the download report button.

If you see this message that means you upgraded your Rstudio version, the problem is still exist. You need a pandoc to render Rmd file into html report. You can optain it from as YiHui suggested. After that, restart your Rstudio.

    1. "My data is more than 10M which reaches the max data set limit in the IDEA, how can I perform analysis for this data ?"

Well, we encourage users modifying source code to achieve their goals. To make big data analysis available, user can edit "server.R" file under the IDEA folder in the R_HOME library. There is a line "options(shiny.maxRequestSize=10*1024^2) # max file size is 10Mb" in the source code. You can reset the number and save it to make bigger data analysis available.

    1. "I got error messages on install "Cario" in R environment(linux), how to fix it ?"

To install Cairo in R , your system should already have some library file like cairo-devel, libXt-devel installed, after that, reinstall Cairo.


Jian Ren,

Qi Zhao,


This software were developed by:


Qi Zhao
Please feel free contact us.


Copyright © 2014-2018. RenLab from SYSUCC. All Rights Reserved
For more useful tools/applications, please go to


  • IDEA: a web server for Interactive Differential Expression Analysis with R Packages Qi Zhao, Yubin Xie, Peng Nie, Rucheng Diao, Licheng Sun, Zhixiang Zuo, Jian Ren bioRxiv 360461; doi:

If you used any one of IDEA intergrated R packages in your publications, please cite the related packages by
In addition, if you adopted intergrated analysis module, report page and other fancy plots generated by IDEA, please cite the IDEA in the same way.