This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Normalization method for single-cell RNAseq to be able to compare between datasets

I need to find a normalization method (or a sequence of several algorithms applied, not only normalization) for single-cell RNAseq that would allow me to compare directly values between the experiments. There is a thread, but I think it deals with bulk-RNAseq:

RNA-seq normalization methods for cross samples comparison?

The point that I really need to somehow compare very different single-cell experiments, generated on different instruments, different tissues and by different methods. Is it possible at all? If not, what normalization method still could alleviate the issue for single-cell RNAseq? I am looking for some, preferably python library, but R would work too.

I know there is scran normalization. Recently SCnorm was released, but it does not work unfortunately for sparse enough datasets: their algorithm just does not converge in this case. DESeq2 which uses RLE might be a choice. What about these methods:

https://github.com/ficusss/PyGMNormalize

I also know that Seurat provides CCA algorithm to combine and analyze the datasets, but I do not want to combine them. I have maybe 60 datasets, each several Gb of size, and loading all of them at once into memory is a real problem with R.

Any suggestions would be greatly appreciated.

rna-seq python r

1 answer

Hi nikitavlassenko,

For SCnorm, maybe you can try to set dither=TRUE if there exists many tied values. This is the case for UMI based data. Or you can also try bayNorm and SAVER methods. All of them are R based methods.

For python based methods, there are some deep learning methods like DCA.

Cheers, Wenhao

Log in to answer this question.