omicverse.metabol.anova#
- omicverse.metabol.anova(adata, *, group_col='group', groups=None, method='welch_anova', layer=None)[source]#
Per-metabolite test across 3+ groups.
- Parameters:
group_col (
str(default:'group')) – Factor column inadata.obs.groups (
Optional[list] (default:None)) – Subset of levels to test.None→ use every unique level ingroup_colwith at least 2 samples.method (
Literal['welch_anova','anova','kruskal'] (default:'welch_anova')) –"welch_anova"(default) — Alexander-Govern test (scipy.stats.alexandergovern), Welch’s generalisation for unequal variances. Robust and recommended."anova"— classic one-wayf_oneway. Assumes equal variances across groups; most sensitive when that holds."kruskal"— non-parametrickruskal. Use when the Gaussian / symmetry assumption fails even after log.
layer (
Optional[str] (default:None)) – AnnData layer (defaultNone→adata.X).
- Returns:
Indexed by metabolite with columns:
stat— test statistic (F, Kruskal H, or Alexander-Govern A)pvalue,padj— raw and BH-FDRmean_<level>— one column per tested group leveln_groups— number of levels actually tested
- Return type:
pd.DataFrame