I've used GSVA package (many thanks to the developers of the package) and I got a very nice ES by using the "gsva" method from the package but I was a bit surprised that it did not give me the final ES for "ssgsea" method... I have a matrix m (18000 genes in row and 600 patient samples in columns) and a geneset including 200 genes (I use it as a list containing one element that has 200 genes) and the code is:
es.dif <- gsva(m, as.list(geneSet), method="ssgsea", mx.diff=1, verbose=FALSE, parallel.sz=1)
Based on the information given in a few papers that applied ssGSEA method (including Barbie et al. 2009 http://www.nature.com/nature/journal/v462/n7269/full/nature08460.html and Verhaak et al. 2013 http://www.jci.org/articles/view/65833), the final step in calculating Enrichment Score (ES) is done by weighted sum of the difference between the Empirical Cumulative Distribution Functions (ECDFs) of the genes within the signature and the remaining genes.
However, when I choose "ssgsea" method in GSVA package, it does not give me a single ES per sample, but instead for each sample it returns a value for each gene in the geneset; i.e. it returns a 200 (genes) by 600 (samples) matrix ... So I suppose that these values are the differences between ECDF of genes in signature and ECDF of the remaining genes... Could you please confirm this if I am right? or let me know what are those values if I am not right?
If I am right, can I simply sum all of the values for each sample to obtain the ES for that sample?
Thank you so much.