FACSPy.tl.flowsom

Contents

FACSPy.tl.flowsom#

FACSPy.tl.flowsom(adata, gate, layer, key_added=None, use_only_fluo=True, exclude=None, scaling=None, copy=False, **kwargs)#

Computes FlowSOM clustering.

Parameters:
  • adata (AnnData) – The anndata object of shape n_obs x n_vars where rows correspond to cells and columns to the channels.

  • gate (str) – The gate to be analyzed, called by the population name. This parameter has a default stored in fp.settings, but can be superseded by the user.

  • layer (str) – The layer corresponding to the data matrix. Similar to the gate parameter, it has a default stored in fp.settings which can be overwritten by user input.

  • key_added (Optional[str]) – Name of the .obs column that is filled with the cluster annotations. Defaults to f’{gate}_{layer}_flowsom’.

  • use_only_fluo (bool) – Parameter to specify if the UMAP should only be calculated for the fluorescence channels. Specify recalculate_pca to repeat PCA calculation.

  • exclude (Optional[Union`[:py:class:`list[str], str]]) – Can be used to exclude channels from calculating the embedding. Specify recalculate_pca to repeat PCA calculation.

  • scaling (Optional[Literal['MinMaxScaler', 'RobustScaler', 'StandardScaler']]) – Whether to apply scaling to the data for display. One of MinMaxScaler, RobustScaler or StandardScaler (Z-score). Defaults to None.

  • kwargs (dict, optional) – keyword arguments passed to the FlowSOMEstimator class. The defaults include a map size of 10x10 Neurons as well as n_clusters of 30.

  • copy (bool) – Return a copy of adata instead of modifying inplace

Returns:

Returns adata if copy = True, otherwise adds fields to the anndata object:

.obs[f’{gate}_{layer}_flowsom]

cluster annotations

.uns[‘settings’][f’_flowsom_{gate}_{layer}]

Settings that were used for FlowSOM calculation

Return type:

AnnData or None

Examples

>>> import FACSPy as fp
>>> dataset
AnnData object with n_obs × n_vars = 615936 × 22
obs: 'sample_ID', 'file_name', 'condition', 'sex'
var: 'pns', 'png', 'pne', 'pnr', 'type', 'pnn', 'cofactors'
uns: 'metadata', 'panel', 'workspace', 'gating_cols', 'dataset_status_hash'
obsm: 'gating'
layers: 'compensated', 'transformed'
>>> fp.settings.default_gate = "T_cells"
>>> fp.settings.default_layer = "transformed"
>>> fp.tl.pca(dataset)
>>> fp.tl.neighbors(dataset)
>>> fp.tl.flowsom(dataset,
                  cluster_kwargs = {"xdim": 15,
                                    "ydim": 15),
                  metacluster_kwargs = {"n_clusters": 25})