smftools.tools.calculate_knn

Contents

smftools.tools.calculate_knn#

smftools.tools.calculate_knn(adata, obsm='X_pca', knn_neighbors=100, overwrite=True, threads=8, random_state=0, symmetrize=True)#

Compute a KNN distance graph on an embedding in adata.obsm[obsm].

Stores:
  • adata.obsp[f"knn_distances_{obsm}"] : CSR sparse matrix of distances

  • adata.uns[f"knn_distances_{obsm}"]["params"] : metadata

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

  • obsm (str (default: 'X_pca')) -- Key in adata.obsm to use as the embedding.

  • knn_neighbors (int (default: 100)) -- Target number of neighbors (will be clipped to n_obs-1).

  • overwrite (bool (default: True)) -- If False and graph exists, do nothing.

  • threads (int (default: 8)) -- Parallel jobs for pynndescent.

  • random_state (int | None (default: 0)) -- Seed for pynndescent.

  • symmetrize (bool (default: True)) -- If True, make distance graph symmetric via min(A, A.T).

Return type:

AnnData

Returns:

Updated AnnData.