FACSPy.tl.pca

Contents

FACSPy.tl.pca#

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

Principal component analysis

Computes PCA coordinates, loadings and variance decomposition

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.

  • 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.

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

  • **kwargs (dict, optional) – keyword arguments that are passed directly to the _compute_pca function. Please refer to its documentation.

Returns:

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

.obsm[f’X_pca_{gate}_{layer}]

PCA representation of the data

.varm[f’PCs_{gate}_{layer}]

Principal components containing the loadings

.uns[f’pca_{gate}_{layer}][‘variance’]

Explained variance, equivalent to the eigenvalues of the covariance matrix

.uns[f’pca_{gate}_{layer}][‘variance_ratio’]

Ratio of explained variance.

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

Settings that were used for PCA 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)