changeset 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
files decoupler_pseudobulk.py decoupler_pseudobulk.xml
diffstat 2 files changed, 16 insertions(+), 7 deletions(-) [+]
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))}"
             )
 
--- a/decoupler_pseudobulk.xml	Wed Feb 19 16:55:58 2025 +0000
+++ b/decoupler_pseudobulk.xml	Fri Jun 13 09:08:00 2025 +0000
@@ -1,4 +1,4 @@
-<tool id="decoupler_pseudobulk" name="Decoupler pseudo-bulk" version="1.4.0+galaxy9" profile="20.05">
+<tool id="decoupler_pseudobulk" name="Decoupler pseudo-bulk" version="1.4.0+galaxy10" profile="20.05">
     <description>aggregates single cell RNA-seq data for running bulk RNA-seq methods</description>
     <requirements>
         <requirement type="package" version="1.4.0">decoupler</requirement>
@@ -245,7 +245,7 @@
             <param name="adata_obs_fields_to_merge" value="batch,sex:batch,genotype"/>
             <param name="groupby" value="batch_sex"/>
             <param name="sample_key" value="genotype"/>
-            <param name="factor_fields" value="genotype,batch_sex"/>
+            <param name="factor_fields" value="genotype,batch_sex,psbulk_n_cells"/>
             <param name="mode" value="sum"/>
             <param name="min_cells" value="10"/>
             <param name="produce_plots" value="true"/>
@@ -272,7 +272,7 @@
             <output name="samples_metadata" ftype="tabular">
                 <assert_contents>
                     <has_n_lines n="22"/>
-                    <has_n_columns n="3"/>
+                    <has_n_columns n="4"/>
                 </assert_contents>
             </output>
             <output name="genes_metadata" ftype="tabular">
@@ -324,6 +324,8 @@
 
         You can obtain more information about Decoupler pseudobulk at the developers documentation `here <https://decoupler-py.readthedocs.io/en/latest/notebooks/pseudobulk.html>`_ .
 
+        1.4.0+galaxy10: Fixes ability to pass psbulk metadata fields downstream.
+
         ]]>
     </help>
     <citations>