Using limma for scRNAseq data
2
0
Entering edit mode
11 months ago

Hello All,

I would like to ask for advice on using limma for differential expression analysis of scRNAseq data. I usually use Seurat, but I would really like to know whether limma is also a suitable tool for scRNAseq data. I've tried to search for papers and I couldn't find a stable answer to this question.

Thank you very much for your help!

Regards, Anna

scRNAseq limma • 1.3k views
2
Entering edit mode
11 months ago
igor 12k

Soneson et al compared a few different methods, including limma, so it's certainly possible:

2
Entering edit mode

(I haven't read the paper in full) If I read this figure correctly, it's curious that methods specific for scRNA-seq are not better, if not worse, than bulk RNAseq methods. Notably, the good old t-test and Wilcoxon tests are not bad at all!

2
Entering edit mode

The Wilcoxon test is the default DE method in many tools as it apparently performs well if sample sizes (so clusters per cell) is large enough, and because it scales well. Say you have 20 clusters and want to find markers so you have to perform DE for every cluster against every other cluster, that is a lot of computation time if you use tools like edgeR which have to estimate dispersion and fit models for dozens/hundreds/thousands of cells.

0
Entering edit mode

Maybe you don't really need to reinvent the wheel. Something like the t-test or the Wilcoxon test have been used for all sorts of data over many years. The advantage of a generic test is that it is generic.

1
Entering edit mode

I guess for single-sample data it is fine given that you have hundreds of cells per cluster and simply want to get the top marker genes. I personally feel safer though (if I have at least n=2 replicates per condition) to use edgeR, maybe after pseudobulk aggregation.

1
Entering edit mode

You could also treat the replicates as a covariate.

0
Entering edit mode

Thank you! I am using limma for other types of data and I was curious to know if it can be used for the scRNAseq data as well. I currently use Seurat, which as far as I know uses Wilcoxon test, but I was wondering about more complex designs with several factors.

0
Entering edit mode

Seurat has multiple tests. Check the documentation for FindMarkers() test.use parameter. The latent.vars parameter is used for more complex designs.

0
Entering edit mode

Thank you very much! This figure is very informative and I will read the paper for sure.

1
Entering edit mode
11 months ago
ATpoint 49k

Yes, the limma-trend and limma/voom pipelines can be used.

See for a more detailed discussion this benchmarking paper => https://www.nature.com/articles/nmeth.4612 which ranks limma-trend among the better approaches for scRNA-seq DE analysis. It is the paper that the figure igor links is from.

The code that this study used is deposited at GitHub: https://github.com/csoneson/conquer_comparison/blob/master/scripts/apply_limmatrend.R

0
Entering edit mode

Thank you very much! I will read that paper and will look at the code - I like limma because it is very versatile and allows to perform various comparisons with very variable designs. I will be glad to know that I can use limma for scRNAseq as well.