scPTR / src /scptr /preprocessing /_neighbors.py
bryan7264's picture
Add files using upload-large-folder tool
4e2940e verified
Raw
History Blame Contribute Delete
1.13 kB
"""Neighbor graph computation (thin scanpy wrapper)."""
from __future__ import annotations
from anndata import AnnData
from .._constants import DEFAULT_N_NEIGHBORS
from .._utils import log_params
def neighbors(
adata: AnnData,
n_neighbors: int = DEFAULT_N_NEIGHBORS,
use_rep: str | None = None,
**kwargs,
) -> None:
"""Compute a kNN graph using scanpy.
Wrapper around :func:`scanpy.pp.neighbors` that logs parameters
to ``adata.uns['scptr']``.
Parameters
----------
adata
Annotated data matrix. If ``X_pca`` is not present, PCA is
computed automatically by scanpy.
n_neighbors
Number of nearest neighbors.
use_rep
Representation to use. Passed to scanpy.
**kwargs
Additional keyword arguments passed to ``scanpy.pp.neighbors``.
"""
import scanpy as sc
if use_rep is None and "X_pca" not in adata.obsm:
sc.tl.pca(adata)
sc.pp.neighbors(adata, n_neighbors=n_neighbors, use_rep=use_rep, **kwargs)
log_params(adata, "neighbors", {
"n_neighbors": n_neighbors,
"use_rep": use_rep,
})