pairot.pp.rank_genes_limma

pairot.pp.rank_genes_limma#

pairot.pp.rank_genes_limma(adata, cluster_label, sample_label, n_samples_auroc=10000)#

Calculate pseudobulk differential expression (DE) statistics using limmaR package.

See pairot.pp.filter_genes_ova() for downstream processing of the OVA (one vs. all) DE results.

See pairot.pp.filter_genes_ava() for downstream processing of the AVA (all vs. all) DE results.

See pairot.pp.select_genes() for combining OVA and AVA DE results.

Parameters:
  • adata (AnnData) – AnnData object containing single-cell data. AnnData.X should contain raw counts. AnnData.obs should contain cluster labels and sample labels. AnnData.var should contain gene names.

  • cluster_label (str) – Column in adata.obs containing cluster labels.

  • sample_label (str) – Column in adata.obs containing sample labels.

  • n_samples_auroc (int | None (default: 10000)) – Number of samples to use for AUROC calculation. If None, use all samples.

Return type:

tuple[dict[str, DataFrame], dict[str, dict[str, DataFrame]]]

Returns:

de_res_ova

Dictionary containing one DataFrame per cluster with OVA (one vs. all) DE results.

de_res_ava

Dictionary containing one dictionary per cluster with AVA (all vs. all) DE results.

Examples

>>> import pairot as pr
>>>
>>> # Calculate pseudobulk DE statistics
>>> de_res_ova, de_res_ava = pr.pp.rank_genes_limma(
...     adata,
...     cluster_label="cell_type",
...     sample_label="sample_id",
... )