Description
Van den Berge et al, Genome Biol 2019 argue that using a Zero-inflated negative binomial (ZINB) model significantly boosts the performance of differential gene expression analysis on single-cell data.
Using their package, zingeR or zinbWAVE it is possible to compute per-cell weights, which can be factored in most linear models. Once #117 is fixed, this would also be possible with diffxpy.
However, zingeR and zinbWAVE are quite slow, and it could probably be sped up significantly, or at least massively parallelized when implemented with tensorflow. Ideally, this would be available right from diffxpy
as an additional noise model.
There's already a tensorflow implementation of a ZINB model available in the scqtl package. Also there's a ZINB model implemented in numpy within the statsmodels package from which you could draw some inspiration ;)
Is that something you would consider implementing in a future version of diffxpy?
Best,
Gregor
CC @abyssum