Hi Kevin,
Thank you for the reply. I think I kinda figured it out. Basically, it is described here: https://support.bioconductor.org/p/62927/
For every gene (row) DeSeq2 does a plus 1, to avoid 0 counts. Then it normalizes all samples based on the total count of each sample, and that gives a size factor for each sample (sizeFactor()). Thus like you said, if I have two samples contains 0 counts for many genes, I will have a same log2(1*sizeFactor) (y axis) for any of these genes, while the base mean being different depending on all samples of the row. This would gives me a horizontal line.
