DavisLaboratory / singscore

An R/Bioconductor package that implements a single-sample molecular phenotyping approach
https://davislaboratory.github.io/singscore/
40 stars 5 forks source link

Difficult to understand the difference between singscore and ssGSEA #32

Closed chuiqin closed 3 years ago

chuiqin commented 3 years ago

Singscore and ssGSEA are all base on rank. They all produces stable and reproducible scores regardless of the composition and number of samples within the data. What differences among them? Thank you!

bhuvad commented 3 years ago

Hi @chuiqin,

The difference between them is indeed really subtle. They use slightly different ranking schemes, but the scores produced by both methods are very comparable as you may have noticed yourself. The main differences will show up in the implementations and parameters you are using. Most implementations of ssGSEA that I have come across normalise the scores after computing them (by default) and normalised scores may not be stable depending on the data composition. If you use the unnormalised version of ssGSEA, it is comparable to singscore as you can see from figure 1 of the singscore paper.

Though these methods are not significantly different mathematically, their implementations are very different. With singscore, we have aimed to provide more visualisation tools to enable better dissection and interpretation of gene-set scores. We have also attempted to optimise the computation of scores given multiple signatures while retaining useful checks for the user. We are also continuously updating it to include more user-requested features and have been actively attempting to make it usable across a variety of datasets. We are currently investigating the application of this method in single-cell RNA-seq among other applications.

I hope this helps clarify the differences of the methods and their implementations.

Cheers, Dharmesh