monkeybread.calc.cell_neighbors
- monkeybread.calc.cell_neighbors(adata, groupby, group1, group2, basis='X_spatial', radius=None)
Calculate cell neighbors.
For each cell within a given group of cells, calculate all neighbors that are members of a second group of cells (e.g., for all T cells, calculate all neighbors that are B cells).
The output takes the form of a dictionary mapping from cells in
group1to cells ingroup2that are neighbors. Note, if a cell is present in bothgroup1andgroup2, the mapping will be reflexive - the cell may both appear in the keys and the values.- Parameters:
adata (
AnnData) – Annotated data matrix.groupby (
str) – A categorical column inadata.obsto classify groups.group1 (
Union[str,List[str]]) – Either one group or a list of groups fromadata.obs[groupby].group2 (
Union[str,List[str]]) – Either one group or a list of groups fromadata.obs[groupby].basis (
Optional[str] (default:'X_spatial')) – Coordinates inadata.obsm[{basis}]to use. Defaults tospatial.radius (
Optional[float] (default:None)) – The radius in which cells are considered touching. If not provided, will be calculated using half of the average radius of group1 + half of the average radius of group2. This requires width and height columns to be present inadata.obs.
- Return type:
- Returns:
: A mapping from cell ids in
group1to sets of cell ids ingroup2that are its neighbors (i.e., withinradiusdistance).