This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Ensemble of Gene Set Enrichment Analyses (EGSEA) for count matrix generated by DESeq2 and edgeR packages

Hello,

I need to perform Ensemble of Gene Set Enrichment Analyses (EGSEA) for my gene-level count matrix generated by DESeq2 and also edgeR packages. I found EGSEA vignette, however, the guide uses count matrix generated by limma package, and then performs TMM normalisation on the raw counts, and calculates voom weights, which are different from DESeq2 and edgeR packages.

I did many search but I could not find a workflow of EGSEA for outputs of DESeq2 and edgeR. I would be grateful if you could guide me how to do EGSEA for my count matrix from DESeq2 and also edgeR, and also introduce me a workflow for this purpose. Many thanks.

rna-seq egsea gsea deseq2 edger

1 answer

Just use the voom() function from the limma package on the RNAseq counts and then proceed to the EGSEA analysis. Read carefully the EGSEA manual, all explanations and references you are looking for are there. For example, it explicitly says the voom transformation is needed on RNAseq data to allow downstream analysis originally developed for microarray data. The manual also links to the article RNA-seq analysis is easy as 1-2-3 with limma, Glimma and edgeR with the following statement:

A detailed explanation on how a voom can be created from a raw RNA-seq count matrix can be found in this workflow article [17].

Thank you so much for your help, and sorry that I was late as I was trying to perform voom() based on the guides that you suggested. I could use voom() function for my raw count matrix generated from edgeR package. May I also ask about raw count matrix generated from DESeq2 package? Is there any workflow to run voom() for DESeq2 count matrix? The class of my DESeq2 raw count matrix is now "DESeqDataSet" from the output of DESeqDataSetFromTximport() function. How can I perform EGSEA for it? Many thanks for your guide.

limma (the package that holds the voom() function) and edgeR are from the same author, and are tightly integrated, in that voom() can take directly a DGEList object. I never tested this, but the package DEFormats can convert a DESeqDataSet to a DGEList object, then you could proceed with the same EGSEA workflow.

OK. Thanks a lot for your help.

Log in to answer this question.