INNER CODE UNIT · Python
fit_genewise_dispersions
scverse/PyDESeq2 · src/pydeseq2/dds.py:676
def fit_genewise_dispersions(self, vst=False) -> None:
"""Fit gene-wise dispersion estimates.
Fits a negative binomial per gene, independently.
Parameters
----------
vst
Whether the dispersion estimates are being fitted as part of the VST pipeline. (default: ``False``).
"""
# Check that size factors are available. If not, compute them.
if "size_factors" not in self.obs:
self.fit_size_factors(fit_type=self.size_factors_fit_type)
# Exclude genes with all zeroes
self.var["non_zero"] = ~(self.X == 0).all(axis=0)
self.non_zero_idx = np.arange(self.n_vars)[self.var["non_zero"]]
self.non_zero_genes = self.var_names[self.var["non_zero"]]