Copy with Scaffolding XML of DESeq2 (multifactorial pairwise comparisons)



The CyVerse App Store is currently being restructured, and apps are being moved to an HPC environment. During this transition, users may occasionally be unable to locate or use apps that are listed in our tutorials. In many cases, these apps can be located by searching them using the search bar at the top of the Apps window in the DE. To increase the chance for search success, try not searching the entire app name and version number but only the portion that refers to the app's function or origin (e.g. 'SOAPdenovo' instead of 'SOAPdenovo-Trans 1.01').

Also, as part of the 2.8 app categorization, a number of apps were deprecated and are no longer available, and there is no longer an Archive category. You can search for a suitable replacement in the List of Applications in this window, or search on an app name or tool used for an app in the Apps window search field. If you need an app reinstated, please contact

Tutorial under review

For an introduction to using the DE, see Using the Discovery Environment.

Please work through the tutorial and add your comments on the bottom of this page, or email comments to Thank you.

Rationale and background

Currently DeSeq apps (both DeSeq and DeSeq2) in DE, do not allow multifactorial pairwise comparison of RNA-Seq data for differential gene expression analysis. The app - "DEseq2 (multifactorial pairwise comparisons)" is based on SARTools (R package dedicated to the differential analysis of RNA-seq data) which allows multifactorial pairwise comparison of RNA-Seq data for differential gene expression analysis. It provides tools to generate descriptive and diagnostic graphs, to run the differential analysis with the DEseq2 package, and to export the results into easily readable tab-delimited files. It also facilitates the generation of an HTML report which displays all the figures produced, explains the statistical methods, and gives the results of the differential analysis.


SARTools does not intend to replace edgeR: it simply provides an environment to go with them. For more details about the methodology behind edgeR, the user should read their documentations and papers. In addition, the current app is not intended to perform edgeR's GLM. That version is currently under progress.

Introduction and Overview

DESeq2 estimates differentially expressed gene lists based on a negative binomial distribution model. Previous methods for identifying differentially expressed gene lists assumed a Poisson distribution; however, Poisson does not account for variation (or overdispersion) found in expression data. DESeq2 uses a negative binomial distribution (similar to edgeR), assuming variance in the case of few replicates.
The input is a tab-delimited file containing genes and their expression values. The results include files detailing the results of differential expression testing (one that includes all of the results, and one that only includes the results that exceed a minimum false-discovery rate). Also included for visualization purposes are plots of the estimated dispersions, the log fold changes against the mean normalized counts and a histogram of p-values. The plots are purely for visualization purposes and may not be necessary for all users.


  1. A CyVerse account (Register for a CyVerse account at
  2. An up-to-date Java-enabled web browser. (Firefox recommended. If you wish to work with your own large datasets and upload them using iCommands, Chrome is not suitable due to its issues in utilizing 64-bit Java.)
  3. Input files:
    1. Target file: The user has to supply a tab delimited file which describes the experiment, i.e. which contains the name of the biological condition associated with each sample. This file is called "target". This file has one row per sample and is composed of at least three columns with headers:

      • first column: unique names of the samples (short but informative as they will be displayed on all the figures); (Ex: "label")
      • second column: name of the count files; (Ex: "file")
      • third column: biological conditions; (Ex: "group)
      • optional columns: further information about the samples (day of library preparation for example). (Ex: "cond")

      The table below shows an example of a target file:

    2. Raw counts file or Raw counts folder: The edgeR statistical analysis assumes that reads have already been mapped and that counts per feature (gene or transcript) are available. There are couple of ways to provide the option to the app. Either the user has to supply a raw counts file that contains all the samples, each tab corresponds to a sample with gene/transcript the same or a directory consisting of one count file per sample with two tab delimited columns without header:
      • the unique IDs of the features in the first column;
      • the raw counts associated with these features in the second column (null or positive integers).

Example of a Raw counts file:



Example of a count file per sample with two tab delimited columns without header. 



The user should provide the same number of read files inside a directory corresponding to number of rows in the target file.If the counts and the target files are not supplied in the required formats, the app will not work and you will not be able to run the analysis.


4. Parameters

    • Project name: name of the project (must be supplied by the user);

    • Author Name: author of the analysis (must be supplied by the user);

    • Reference biological condition: reference biological condition used to compute fold-changes (no default, must be one of the levels target file);

    • batch: adjustment variable to use as a batch effect, must be a column of the target file ("day" for example, orNULL if no batch effect needs to be taken into account);

    • Variable of Interest: variable of interest, i.e. biological condition, in the target file (Mandatory. "group" by default);

    • FeaturesToRemove: character vector containing the IDs of the features to remove before running the analysis (default is "alignment_not_unique"). Other available features are"ambiguous""no_feature""not_aligned""too_low_aQual" to remove HTSeq-count specific rows);

    • locfunc: function used for the estimation of the size factors (default is "median", or "shorth"from the genefilter` package);
    • Transfomation method for PCA/clustering: method of transformation of the counts for the clustering and the PCA (default is"VST" for Variance Stabilizing Transformation, or "rlog" for Regularized Log Transformation);
    • Mean-variance relationship: type of model for the mean-dispersion relationship ("parametric" by default, or"local");
    • Independent Filtering: TRUE (default) of FALSE to execute or not the independent filtering;
    • cooksCutoff: TRUE (default) of FALSE to execute or not the detection of the outliers;
    • Significance threshold: significance threshold applied to the adjusted p-values to select the differentially expressed features (default is 0.05);

    • p-value adjustment method: p-value adjustment method for multiple testing ("BH" by default, "BY" or any value of p.adjust.methods);

    • colors: colors used for the figures (one per biological condition)

  1. All these parameters will be saved and written at the end of the HTML report in order to keep track of what has been done.

Test/sample data

This tutorial uses the test data that is stored in the Data Store at Community Data > iplantcollaborative > example_data > DESeq2_multi.          

Starting an DESeq2 (multifactorial pairwise comparisons) job in the DE

Open the DE Apps window and search for edgeR (multficatorial pairwise comparisons).

In the Analysis Name:

  1. Change the name for your analysis (optional).
  2. Enter any comments (optional).
  3. In the Select output folder field, click Browse and navigate to the folder of your choice. You can leave the default name iplant/home/username/analyses.
  4. To retain copies of the input files in your analysis results output folder, click the Retain Inputs checkbox.

Click the Input files panel:

  1. If you want to test the file_type test data:
    1. For the Target file , browse to select target3.txt inside file_type.
    2. For the Row counts file, browse to select counts3.txt.
  2. If you want to test the folder_type test data:
    1. For the Target file , browse to select target3.txt inside file_type
    2. For the Raw counts folder, browse to select raw1 inside folder_type
  3. Please note: Only one of the above two options need to be selected

Click on the Parameters panel:

  1. Project name: test_deseq2_file_type

  2. Author Name: Upendra

  3. Reference biological condition: OP

  4. batch:

  5. Variable of Interest: group

  6. FeaturesToRemove: alignment_not_unique,ambiguous,no_feature,not_aligned,too_low_aQual

  7. locfunc: median
  8. Transformation method for PCA/clustering: VST

  9. Mean-variance relationship: parametric

  10. Independent Filtering: TRUE

  11. Cooks Cutoff: TRUE

  12. Significance threshold0.05

  13. p-value adjustment method: BH

  14. colors: dodgerblue,orange,green

Click Launch Analysis.

Output from DEseq2 (multifactorial pairwise comparisons) app:

The following files and figures are generated

  • barplotTC.png: total number of reads per sample;
  • barplotNull.png: percentage of null counts per sample;
  • densplot.png: estimation of the density of the counts for each sample;
  • majSeq.png: percentage of reads caught by the feature having the highest count in each sample;
  • pairwiseScatter.png: pairwise scatter plot between each pair of samples and SERE values (not produced if more than 30 samples);
  • diagSizeFactorsHist.png: diagnostic of the estimation of the size factors;
  • diagSizeFactorsTC.png: plot of the size factors vs the total number of reads;
  • countsBoxplot.png: boxplots on raw and normalized counts;
  • cluster.png: hierachical clustering of the samples (based on VST or rlog data for DESeq2);
  • PCA.png: first and second factorial planes of the PCA on the samples based on VST or rlog data;
  • dispersionsPlot.png: graph of the estimations of the dispersions and diagnostic of log-linearity of the dispersions;
  • rawpHist.png: histogram of the raw p-values for each comparison;
  • MAplot.png: MA-plot for each comparison (log ratio of the means vs intensity);
  • volcanoPlot.png: vulcano plot for each comparison ($-\log_{10}\text{(adjusted P value)}$ vs log ratio of the means).

Some tab-delimited files are exported in the tables directory. They store information on the features as $\log_2\text{(FC)}$ or p-values and can be read easily in a spreadsheet:

  • TestVsRef.complete.txt: contains all the features studied;
  • TestVsRef.down.txt: contains only significant down-regulated features, i.e. less expressed in Test than in Ref;
  • TestVsRef.up.txt: contains only significant up-regulated features i.e. more expressed in Test than in Ref.

For more information of how to interpret these figures, files, troubleshooting and FAQ please refer here