smftools.tools.calculate_nmf

Contents

smftools.tools.calculate_nmf#

smftools.tools.calculate_nmf(adata, layer='nan_half', var_mask=None, n_components=2, max_iter=200, random_state=0, overwrite=True, embedding_key='X_nmf', components_key='H_nmf', uns_key='nmf', suffix=None)#

Compute a low-dimensional NMF embedding.

Parameters:
  • adata (AnnData) -- AnnData object to update.

  • layer (str | None (default: 'nan_half')) -- Layer name to use for NMF (None uses adata.X).

  • var_mask (Union[ndarray, Sequence[bool], None] (default: None)) -- Optional boolean mask to subset features.

  • n_components (int (default: 2)) -- Number of NMF components to compute.

  • max_iter (int (default: 200)) -- Maximum number of NMF iterations.

  • random_state (int (default: 0)) -- Random seed for the NMF initializer.

  • overwrite (bool (default: True)) -- Whether to recompute if the embedding already exists.

  • embedding_key (str (default: 'X_nmf')) -- Key for the embedding in adata.obsm.

  • components_key (str (default: 'H_nmf')) -- Key for the components matrix in adata.varm.

  • uns_key (str (default: 'nmf')) -- Key for metadata stored in adata.uns.

Returns:

Updated AnnData object.

Return type:

anndata.AnnData