metachat.tl.communication_flow

metachat.tl.communication_flow(adata, database_name=None, sum_metabolites=None, sum_metapathways=None, sum_customerlists=None, sum_ms_pairs=None, spatial_key='spatial', k=5, pos_idx=None, copy=False)[source]

Construct spatial vector fields representing metabolic communication flow.

Parameters

adataanndata.AnnData

The data matrix of shape n_obs × n_var. If compute MCC flow from specific metabolites, metapathways or customerlists, please run mc.tl.summary_communication() first.

database_namestr

Name of the Metabolite-Sensor interaction database (e.g., "MetaChatDB").

sum_metaboliteslist of str, optional

Specific metabolites to summarize and compute flow for. For example, sum_metabolites = [‘HMDB0000148’,’HMDB0000674’].

sum_metapathwayslist of str, optional

Specific metabolic pathways to summarize and compute flow for. Example: ['Alanine, aspartate and glutamate metabolism', 'Glycerolipid Metabolism'].

sum_customerlistsdict, optional

Custom metabolite–sensor pair groups to summarize. Example: ``{‘CustomerA’: [(‘HMDB0000148’, ‘Grm5’), (‘HMDB0000148’, ‘Grm8’)],

‘CustomerB’: [(‘HMDB0000674’, ‘Trpc4’), (‘HMDB0000674’, ‘Trpc5’)]}``.

sum_ms_pairslist of str, optional

Specific metabolite–sensor pairs, e.g. ['HMDB0000148-Grm5'].

spatial_keystr, default=’spatial’

Key in .obsm that contains spatial coordinates.

kint, default=5

Top-k senders/receivers used for computing the flow direction.

pos_idxnp.ndarray, optional

Column indices of .obsm[spatial_key] to use for flow computation. Example: np.array([0, 2]) uses x–z coordinates.

copybool, default=False

If True, return a modified copy of adata; otherwise modify in place.

Returns

anndata.AnnData or None

Adds sender and receiver vector fields to .obsm, for example: - .obsm['MetaChat-vf-databaseX-sender-HMDB0000148'] - .obsm['MetaChat-vf-databaseX-receiver-HMDB0000148'] If copy=True, returns the modified AnnData object; otherwise returns None.