diff --git a/docs/release-notes/3792.fix.md b/docs/release-notes/3792.fix.md new file mode 100644 index 0000000000..80bdde1c34 --- /dev/null +++ b/docs/release-notes/3792.fix.md @@ -0,0 +1,2 @@ +Add a warning message to :func:`~scanpy.tl.rank_genes_groups` that it is not +appropriate for most use-cases. diff --git a/src/scanpy/tools/_rank_genes_groups.py b/src/scanpy/tools/_rank_genes_groups.py index d5e35907ef..42829545c4 100644 --- a/src/scanpy/tools/_rank_genes_groups.py +++ b/src/scanpy/tools/_rank_genes_groups.py @@ -665,6 +665,12 @@ def rank_genes_groups( # noqa: PLR0912, PLR0913, PLR0915 msg = f"reference = {reference} needs to be one of groupby = {cats}." raise ValueError(msg) + logg.warning( + "Comparing between cells leads to highly inflated p-values, " + "since cells are not independent observations (doi:10.1038/s41467-021-25960-2). " + "Consider using more appropriate methods such as pseudobulk+PyDESeq2 instead." + ) + if key_added is None: key_added = "rank_genes_groups" adata.uns[key_added] = {}