patpy.pp.calculate_compositional_metrics

patpy.pp.calculate_compositional_metrics#

patpy.pp.calculate_compositional_metrics(adata, sample_key, composition_keys, normalize_to=100)#

Calculate compositional metrics for the given AnnData object.

Parameters:
  • adata (AnnData) – Annotated data object

  • sample_key (str) – Key for the sample information in adata.obs

  • composition_keys (list[str]) – List of columns from adata.obs representing the composition categories (e.g. cell type)

  • normalize_to (int (default: 100)) – Value to which the compositional metrics will be normalized. Default is 100

Return type:

DataFrame

Returns:

-compositional_metrics (DataFrame) DataFrame containing compositional metrics. Rows are samples, and columns are categories from each of composition_keys. Values are fractions of categories in samples

Examples

>>> example = sc.AnnData(
        X=np.random.normal(size=(4, 2)),
        obs=pd.DataFrame(
            {"sample": ["a", "a", "b", "b"],
             "cell_type": ["A", "B", "A", "A"]})
        )
>>> calculate_compositional_metrics(example, sample_key="sample", composition_keys=["cell_type"])
cell_type  cell_type_A  cell_type_B
sample
a                 50.0         50.0
b                100.0          0.0