diff decoupler_pathway_inference.xml @ 0:77d680b36e23 draft

planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 1034a450c97dcbb77871050cf0c6d3da90dac823
author ebi-gxa
date Fri, 15 Mar 2024 12:17:49 +0000
parents
children 9864fd2cc1f0
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/decoupler_pathway_inference.xml	Fri Mar 15 12:17:49 2024 +0000
@@ -0,0 +1,129 @@
+<tool id="decoupler_pathway_inference" name="Decoupler Pathway Inference" version="1.4.0+galaxy0" profile="20.05" license="MIT">
+    <description>
+        of functional genesets/pathways for scRNA-seq data.
+    </description>
+    <requirements>
+        <requirement type="package" version="1.4.0">decoupler</requirement>
+    </requirements>
+    <command>
+        python '$__tool_directory__/decoupler_pathway_inference.py'
+            -i '$input_anndata'
+            -n '$input_network_file'
+            --min_n "$min_n"
+            --method '$method'
+            $use_raw
+            --source $source
+            --target $target
+            --weight $weight
+            --output "inference"
+            $write_activities_path
+    </command>
+    <inputs>
+        <param name="input_anndata" type="data" format="h5ad" label="Input AnnData file" />
+        <param name="input_network_file" type="data" format="tabular" label="Input Network file" help="Tabular file with columns Source, Target and Weight. A source gene/pathway regulates/contains a target gene, weights can be either positive or negative. The source element needs to be part of the network, the target is a gene in the network and in the dataset" />
+        <param name="min_n" type="integer" min="0" value="5" label="Minimum targets per source." help="If targets are less than minimum, sources are removed" />
+        <param name="method" type="select" label="Activity inference method">
+            <option value="mlm" selected="true">Multivariate linear model (MLM)</option>
+            <option value="ulm">Univariate linear model (ULM)</option>
+        </param>
+        <param name="use_raw" type="boolean" truevalue="--use_raw" falsevalue="" checked="false" label="Use the raw part of the AnnData object" />
+        <param name="write_activities_path" type="boolean" truevalue="--activities_path anndata_activities_path.h5ad" falsevalue="" checked="true" label="Write the activities AnnData object (contains the MLM/ULM activity results for each pathway and each cell in the main matrix, it is not a replacement of the original AnnData provided as input)." />
+        <param name="source" type="text" value='source' label="Column name in network with source nodes." help="If empty then default is 'source' is used." />
+        <param name="target" type="text" value='target' label="Column name in network with target nodes." help="If empty then default is 'target' is used." />
+        <param name="weight" type="text" value='weight' label="Column name in network with weight." help="If empty then default is 'weight' is used." />
+    </inputs>
+    <outputs>
+        <data name="output_ad" format="h5ad" from_work_dir="anndata_activities_path.h5ad" label="${tool.name} on ${on_string}: Regulators/Pathways activity AnnData file">
+            <filter>write_activities_path</filter>
+        </data>
+        <data name="output_table" format="tabular" from_work_dir="inference.tsv" label="${tool.name} on ${on_string}: Output estimate table" />
+    </outputs>
+    <tests>
+        <!-- Hint: You can use [ctrl+alt+t] after defining the inputs/outputs to auto-scaffold some basic test cases. -->
+
+    <test expect_num_outputs="2">
+        <param name="input_anndata" value="pbmc3k_processed.h5ad"/>
+        <param name="input_network_file" value="progeny_test.tsv"/>
+        <param name="min_n" value="0"/>
+        <param name="method" value="mlm"/>
+        <param name="use_raw" value="false"/>
+        <param name="write_activities_path" value="true"/>
+        <param name="source" value="source"/>
+        <param name="target" value="target"/>
+        <param name="weight" value="weight"/>
+        <output name="output_ad">
+            <assert_contents>
+                <has_h5_keys keys="obsm/mlm_estimate"/>
+            </assert_contents>
+        </output>
+        <output name="output_table">
+            <assert_contents>
+                <has_n_columns n="5"/>
+            </assert_contents>
+        </output>
+    </test>
+    <test>
+        <param name="input_anndata" value="pbmc3k_processed.h5ad"/>
+        <param name="input_network_file" value="progeny_test_2.tsv"/>
+        <param name="min_n" value="0"/>
+        <param name="method" value="ulm"/>
+        <param name="use_raw" value="false"/>
+        <param name="write_activities_path" value="true"/>
+        <param name="source" value="source"/>
+        <param name="target" value="target"/>
+        <param name="weight" value="weight"/>
+        <output name="output_ad">
+            <assert_contents>
+                <has_h5_keys keys="obsm/ulm_estimate"/>
+            </assert_contents>
+        </output>
+        <output name="output_table">
+            <assert_contents>
+                <has_n_columns n="5"/>
+            </assert_contents>
+        </output>
+    </test>
+    </tests>
+    <help>
+**What it does**
+
+Usage
+.....
+
+
+**Description**
+
+This tool extracts pathway activity inference using decoupler.
+
+**Input** 
+
+The input file should be an AnnData object in H5AD format. The tool accepts an H5AD file containing raw or normalized data.
+
+The tool also takes network file containing a collection of pathways and their target genes, with weights for each interaction.
+        Example:
+        ```
+                source    target    weight
+            0    T1    G01    1.0
+            1    T1    G02    1.0
+            2    T1    G03    0.7
+            3    T2    G04    1.0
+            4    T2    G06    -0.5
+        ```
+
+You can also specify whether to use the raw data in the AnnData object instead of the X matrix using the "use_raw" parameter and Minimum of targets per source using "min_n".
+
+
+**Output**
+
+The tool outputs an AnnData object containing the scores in the "obs" field, and tab-separated text files containing the scores for each cell.
+
+If the "write_activities_path" parameter is set to "true", the tool will write the modified AnnData object to an H5AD file. 
+If the "write_inference" parameter is set to "true", the tool will output a tab-separated text file containing the scores for each cell.
+
+
+
+    </help>
+    <citations>
+        <citation type="doi">10.1093/bioadv/vbac016 </citation>
+    </citations>
+</tool>