Repository 'decoupler_pseudobulk'
hg clone https://toolshed.g2.bx.psu.edu/repos/ebi-gxa/decoupler_pseudobulk

Changeset 2:130e25d3ce92 (2023-10-13)
Previous changeset 1:046d8ff974ff (2023-09-27) Next changeset 3:4fa5f370599f (2023-11-09)
Commit message:
planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 85a3118a571246d88aaad26733d0c62009cb736b
modified:
decoupler_pseudobulk.py
decoupler_pseudobulk.xml
b
diff -r 046d8ff974ff -r 130e25d3ce92 decoupler_pseudobulk.py
--- a/decoupler_pseudobulk.py Wed Sep 27 01:11:32 2023 +0000
+++ b/decoupler_pseudobulk.py Fri Oct 13 15:19:51 2023 +0000
[
@@ -165,9 +165,11 @@
 
     # Merge adata.obs fields specified in args.adata_obs_fields_to_merge
     if args.adata_obs_fields_to_merge:
-        fields = args.adata_obs_fields_to_merge.split(",")
-        check_fields(fields, adata)
-        adata = merge_adata_obs_fields(fields, adata)
+        # first split potential groups by ":" and iterate over them
+        for group in args.adata_obs_fields_to_merge.split(":"):
+            fields = group.split(",")
+            check_fields(fields, adata)
+            adata = merge_adata_obs_fields(fields, adata)
 
     check_fields([args.groupby, args.sample_key], adata)
 
@@ -274,7 +276,7 @@
         "-m",
         "--adata_obs_fields_to_merge",
         type=str,
-        help="Fields in adata.obs to merge, comma separated",
+        help="Fields in adata.obs to merge, comma separated. You can have more than one set of fields, separated by semi-colon ;",
     )
     parser.add_argument(
         "--groupby",
b
diff -r 046d8ff974ff -r 130e25d3ce92 decoupler_pseudobulk.xml
--- a/decoupler_pseudobulk.xml Wed Sep 27 01:11:32 2023 +0000
+++ b/decoupler_pseudobulk.xml Fri Oct 13 15:19:51 2023 +0000
b
@@ -1,4 +1,4 @@
-<tool id="decoupler_pseudobulk" name="Decoupler pseudo-bulk" version="1.4.0+galaxy1" profile="20.05">
+<tool id="decoupler_pseudobulk" name="Decoupler pseudo-bulk" version="1.4.0+galaxy2" 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>
@@ -8,14 +8,14 @@
 mkdir plots_output_dir &&
 python '$__tool_directory__/decoupler_pseudobulk.py' $input_file
     #if $adata_obs_fields_to_merge:
-    --adata_obs_fields_to_merge $adata_obs_fields_to_merge
+    --adata_obs_fields_to_merge '$adata_obs_fields_to_merge'
     #end if
-    --groupby $groupby
-    --sample_key $sample_key
+    --groupby '$groupby'
+    --sample_key '$sample_key'
     #if $layer:
-    --layer $layer
+    --layer '$layer'
     #end if
-    --mode $mode
+    --mode '$mode'
     #if $use_raw:
     --use_raw
     #end if
@@ -32,7 +32,7 @@
     --min_total_counts $min_total_counts
     #end if
     #if $produce_anndata:
-    --anndata_output_path $pbulk_anndata
+    --anndata_output_path '$pbulk_anndata'
     #end if
     #if $filter_expr:
     --filter_expr
@@ -50,7 +50,7 @@
     </environment_variables>
     <inputs>
         <param type="data" name="input_file" format="data" label="Input AnnData file"/>
-        <param type="text" name="adata_obs_fields_to_merge" label="Obs Fields to Merge" optional="true" help="Fields in adata.obs to merge, comma separated (optional). They will be available as field1_field2_field3 in the AnnData Obs dataframe."/>
+        <param type="text" name="adata_obs_fields_to_merge" label="Obs Fields to Merge" optional="true" help="Fields in adata.obs to merge, comma separated (optional). They will be available as field1_field2_field3 in the AnnData Obs dataframe. You can have multiple groups to merge, separated by colon (:)."/>
         <param type="text" name="groupby" label="Groupby column" help="The column in adata.obs that defines the groups. Merged columns in the above field are available here."/>
         <param type="text" name="sample_key" label="Sample Key column" help="The column in adata.obs that defines the samples. Merged columns in the above field are available here."/>
         <param type="text" name="layer" label="Layer" optional="true" help="The name of the layer of the AnnData object to use. It needs to be present in the AnnData object."/>
@@ -87,7 +87,7 @@
     <tests>
         <test expect_num_outputs="6">
             <param name="input_file" value="mito_counted_anndata.h5ad"/>
-            <param name="adata_obs_fields_to_merge" value="batch,sex"/>
+            <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"/>