omicverse.space.spatial_neighbors

omicverse.space.spatial_neighbors(adata, spatial_key='spatial', n_neighs=6, radius=None, set_diag=False, key_added='spatial', copy=False)[source]

Build a spatial neighborhood graph from coordinates stored in adata.obsm.

The resulting connectivity and distance matrices are stored in adata.obsp['{key_added}_connectivities'] and adata.obsp['{key_added}_distances']. Graph metadata is written to adata.uns['{key_added}_neighbors'].

Parameters:
  • adata – AnnData object with spatial coordinates in adata.obsm[spatial_key].

  • spatial_key (str (default: 'spatial')) – Key in adata.obsm that stores 2-D spatial coordinates. Default: ‘spatial’.

  • n_neighs (int (default: 6)) – Number of nearest spatial neighbors (used when radius is None). Default: 6.

  • radius (default: None) – Radius (or (min_radius, max_radius) tuple) for radius-based graph. When set, n_neighs is ignored. Default: None.

  • set_diag (bool (default: False)) – Whether to include self-loops in the connectivity matrix. Default: False.

  • key_added (str (default: 'spatial')) – Prefix for the keys added to adata.obsp and adata.uns. Default: ‘spatial’.

  • copy (bool (default: False)) – If True, return (connectivities, distances) as sparse matrices. Default: False.

Returns:

Modifies adata in-place. Returns matrices when copy is True.

Return type:

None or (connectivities, distances)

Examples

>>> import omicverse as ov
>>> ov.space.spatial_neighbors(adata, n_neighs=6)
>>> # radius graph
>>> ov.space.spatial_neighbors(adata, radius=150)