in this case, what parameter should we input into GSEA?
Hello Biostars, Can anyone tell me how to prepare input data set for GSEA after Differential Gene Expression Analysis by DESeq2? How will I rank the genes? Should I rank based on log2FC or Adjusted P value? Is there any way to generate a GSEA ready data directly from DESeq2?. I was using topGo for gene ontology enrichment analysis before and recently came across GSEA. Which one is better GO enrichment analysis or GSEA? Even after going through the papers I couldn't find a significant difference between above two.
Thank you
3 answers
Hi Sreeraj
Genes can be ranked based on fold change and P value and that can be used in GSEA package.
you can use this R code for this purpose.
x <- read.table("DE_genes.txt",sep = "\t",header = T)
head(x)
x$fcsign <- sign(x$log2.fold_change.)
x$logP=-log10(x$p_value)
x$metric= x$logP/x$fcsign
y<-x[,c("Gene", "metric")]
head(y)
write.table(y,file="DE_genes.rnk",quote=F,sep="\t",row.names=F)
How would you handle NA values?
.....
filtered <- na.omit(y)
write.table(filtered ,file="DE_genes.rnk",quote=F,sep="\t",row.names=F)
I have used this code but am struggling to obtain a table where the gene names are appearing as names and not numbers, for some reason it keeps saving a table with the ranks but no gene names.
Try row.names = TRUE.
Also, you want to use col.names = FALSE, as GSEA complains when 'Gene' and 'metric' are in the rnk. file.
Here's a link to an answer I wrote a few years ago for using the gene set testing package goseq following DESeq2:
https://support.bioconductor.org/p/64811/#64815
I'm not sure what kind of input GSEA takes. I also like the methods behind ROAST and CAMERA from the limma package, but I haven't yet worked on integrating with those methods. For those two, you would need to run a limma analysis upstream.
Another option to gene ranking is to use the "stat"-output, that is generated by DESeq2, since that takes the logFold-change, as well as the standard error into account.
Check this video to see how to directly use the DESeq2 output for GSEA: Video tutorial
Log in to answer this question.
I like DESeq2. It would be great to have in the future something like ROAST/CAMERA/GSEA in DESeq2 too!
HI Sreeraj,
I don't know what is your model organism. For humans, mouse, drosophila and similar stuff, I guess it's easy because you can use online available databases and ensemble annotations. I participated in one online course about RNAseq data analysis on HUMAN data so I can share what I learned if it's helpful for you. It's just that I still didn't try that on my own data but here's what I know.
For GSEA - Initially you install these stuff in R:
And then you can repeat for downregulated.
Hope this helps.
Lada
Just a comment, this is not really a gene set enrichment analysis. Rather an over-representation test.