diff decoupler_pseudobulk.py @ 17:2557d7869e78 draft default tip

planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 626c1018b662202de10ce77f123fc27f584beb9c
author ebi-gxa
date Fri, 13 Jun 2025 09:08:00 +0000
parents 508a93e34599
children
line wrap: on
line diff
--- a/decoupler_pseudobulk.py	Wed Feb 19 16:55:58 2025 +0000
+++ b/decoupler_pseudobulk.py	Fri Jun 13 09:08:00 2025 +0000
@@ -324,21 +324,28 @@
     >>> check_fields(["bulk_labels", "louvain"], adata, obs=True)
     """
 
+    # Fields that will be created during the pseudobulking process
+    pseudobulk_generated_fields = ['psbulk_n_cells', 'psbulk_counts']
+
+    # Filter out the pseudobulk-generated fields from checking
+    fields_to_check = [field for field in fields
+                       if field not in pseudobulk_generated_fields]
+
     legend = ""
     if context:
         legend = f", passed in {context},"
     if obs:
-        if not set(fields).issubset(set(adata.obs.columns)):
+        if not set(fields_to_check).issubset(set(adata.obs.columns)):
             raise ValueError(
                 f"Some of the following fields {legend} are not present \
-                    in adata.obs: {fields}. \
+                    in adata.obs: {fields_to_check}. \
                         Possible fields are: {list(set(adata.obs.columns))}"
             )
     else:
-        if not set(fields).issubset(set(adata.var.columns)):
+        if not set(fields_to_check).issubset(set(adata.var.columns)):
             raise ValueError(
                 f"Some of the following fields {legend} are not present \
-                    in adata.var: {fields}. \
+                    in adata.var: {fields_to_check}. \
                         Possible fields are: {list(set(adata.var.columns))}"
             )