drisso / zinbwave

Clone of the Bioconductor repository for the zinbwave package, see https://bioconductor.org/packages/zinbwave
43 stars 10 forks source link

Clarification on observation weights #68

Closed prajkta9 closed 3 years ago

prajkta9 commented 3 years ago

Hello,

I have patch-seq data (n = 16 samples). I am interested in using ZINB-WaVE along with DESeq2 to extract DE genes. I am comparing the results if I run DESeq2 only and ZINB-WaVE plus DESeq2. I don't see any difference if Observation weights = FALSE. The number of DE significant genes (p-adj < 0.01 and L2FC > 1.5) are 123 genes, for both the cases.

However, if I do set Observation weights = TRUE, the number of DE genes post-ZINB-WaVE plus DESeq2 goes up to 1515 genes. Can someone please explain how DESeq2 is using the observation weights for analysis?

Thanks in advance.

drisso commented 3 years ago

Hi @prajkta9 ,

it is expected that you don't see any difference when observationalWeights = FALSE since with that option no weights will be computed and hence no weights are passed to DESeq2.

To understand how DESeq2 uses the observational weights, I suggest that you read our paper about this: https://genomebiology.biomedcentral.com/articles/10.1186/s13059-018-1406-4

Once you understand how this works in theory, you can have a look at our vignette to see how to use them in practice. In particular: http://bioconductor.org/packages/release/bioc/vignettes/zinbwave/inst/doc/intro.html#differential-expression-with-deseq2

See also the section "Recommendations for single-cell analysis" in DESeq2's vignette: http://bioconductor.org/packages/release/bioc/vignettes/DESeq2/inst/doc/DESeq2.html

I hope this helps!