omicverse.pp.highly_variable_genes#
- omicverse.pp.highly_variable_genes(adata, *, layer=None, n_top_genes=None, min_disp=0.5, max_disp=None, min_mean=0.0125, max_mean=3, span=0.3, n_bins=20, flavor='seurat', subset=False, inplace=True, batch_key=None, filter_unexpressed_genes=None, check_values=True, **kwargs)[source]#
Annotate highly variable genes (Satija 2015 / Zheng 2017 / Stuart 2019).
- Parameters:
adata (anndata.AnnData) – Expression matrix. Expects log-normalised data except for
flavor='seurat_v3'/'seurat_v3_paper'which expect counts.layer (
str|None(default:None)) – Layer to use.Noneusesadata.X.n_top_genes (
int|None(default:None)) – Number of HVGs to keep. Required forflavor='seurat_v3'.min_disp (
float(default:0.5)) – Dispersion / mean cutoffs forflavor='seurat'andflavor='cell_ranger'.max_disp (default:
None) – Dispersion / mean cutoffs forflavor='seurat'andflavor='cell_ranger'.min_mean (
float(default:0.0125)) – Dispersion / mean cutoffs forflavor='seurat'andflavor='cell_ranger'.max_mean (
float(default:3)) – Dispersion / mean cutoffs forflavor='seurat'andflavor='cell_ranger'.span (
float(default:0.3)) – Loess smoothing span forflavor='seurat_v3'.n_bins (
int(default:20)) – Dispersion normalisation bins.flavor (
str(default:'seurat')) –'seurat'(default),'cell_ranger','seurat_v3', or'seurat_v3_paper'.subset (
bool(default:False)) – If True, subset the AnnData to the HVGs in place.inplace (
bool(default:True)) – Write statistics intoadata.varrather than returning a DataFrame.batch_key (
str|None(default:None)) – If set, HVG detection is done per batch.filter_unexpressed_genes (
bool|None(default:None)) – Drop genes with zero total expression before selection.check_values (
bool(default:True)) – Input validation (log-normalised vs counts).**kwargs – Extra options forwarded to
omicverse.pp._highly_variable_genes.highly_variable_genes.
- Returns:
Mutates
adata.var; also returns the stats DataFrame unlessinplace=True.- Return type:
pandas.DataFrame | None