chrysalis.pca

chrysalis.pca(adata: AnnData, n_pcs: int = 50)

Perform PCA (Principal Component Analysis) to calculate PCA coordinates, loadings, and variance decomposition.

Spatially variable genes need to be defined in .var[‘spatially_variable’] using chrysalis.detect_svgs.

Parameters:
  • adata – The AnnData data matrix of shape n_obs × n_vars. Rows correspond to cells and columns to genes.

  • n_pcs – Number of principal components to be calculated.

Returns:

Adds PCs to .obsm[‘chr_X_pca’] and updates .uns with the following fields:

  • .uns[‘chr_pca’][‘variance_ratio’] – Explained variance ratio.

  • .uns[‘chr_pca’][‘loadings’] – Spatially variable gene loadings.

  • .uns[‘chr_pca’][‘features’] – Spatially variable gene names.

Example usage:

>>> import chrysalis as ch
>>> import scanpy as sc
>>> adata = sc.datasets.visium_sge(sample_id='V1_Human_Lymph_Node')
>>> sc.pp.calculate_qc_metrics(adata, inplace=True)
>>> sc.pp.filter_cells(adata, min_counts=6000)
>>> sc.pp.filter_genes(adata, min_cells=10)
>>> ch.detect_svgs(adata)
>>> sc.pp.normalize_total(adata, inplace=True)
>>> sc.pp.log1p(adata)
>>> ch.pca(adata)