From 5162cfae67eff204a8a97acfc3c27b4f5e9b73e7 Mon Sep 17 00:00:00 2001 From: Lukas Heumos Date: Fri, 9 Jan 2026 14:45:02 +0100 Subject: [PATCH] Add relative abundance warning Signed-off-by: Lukas Heumos --- pertpy/tools/_coda/_base_coda.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pertpy/tools/_coda/_base_coda.py b/pertpy/tools/_coda/_base_coda.py index c1b58a5a..2c9e3a44 100644 --- a/pertpy/tools/_coda/_base_coda.py +++ b/pertpy/tools/_coda/_base_coda.py @@ -1,5 +1,6 @@ from __future__ import annotations +import warnings from abc import ABC, abstractmethod from pathlib import Path from typing import TYPE_CHECKING, Literal @@ -167,6 +168,15 @@ def prepare( sample_adata.obsm["sample_counts"] = np.sum(sample_adata.X, axis=1) + # Check for relative abundances + if np.allclose(sample_adata.obsm["sample_counts"], 1.0): + warnings.warn( + "All samples sum to ~1, suggesting relative abundances were provided. " + "scCODA requires absolute cell counts. Results may be meaningless.", + UserWarning, + stacklevel=2, + ) + # Check input data if covariate_matrix.shape[0] != sample_adata.X.shape[0]: row_len_covariate_matrix = sample_adata.obsm["covariate_matrix"].shape[0]