diff umi-tools_dedup.xml @ 11:7fa28eb10fed draft

"planemo upload commit 2da1197aac6a18df9252e5da096645d2ecaece88"
author iuc
date Wed, 10 Feb 2021 19:30:35 +0000
parents c6567483aa1e
children 4098ab380097
line wrap: on
line diff
--- a/umi-tools_dedup.xml	Thu Dec 05 01:32:18 2019 -0500
+++ b/umi-tools_dedup.xml	Wed Feb 10 19:30:35 2021 +0000
@@ -1,4 +1,4 @@
-<tool id="umi_tools_dedup" name="UMI-tools deduplicate" version="@VERSION@.0">
+<tool id="umi_tools_dedup" name="UMI-tools deduplicate" version="@VERSION@+galaxy1">
     <description>Extract UMI from fastq files</description>
     <macros>
         <import>macros.xml</import>
@@ -16,6 +16,7 @@
         #end if
 
         umi_tools dedup
+            '$output_stats_bool'
             --random-seed 0
             --extract-umi-method $extract_umi_method
             #if str($extract_umi_method) != 'read_id':
@@ -63,51 +64,71 @@
         <param name="per_gene" argument="--per-gene" type="boolean" truevalue="--per-gene" falsevalue="" label="Deduplicate per gene" help="As above except with this option you can align to a reference transcriptome with more than one transcript per gene. You need to also provide a map of genes to transcripts. This will also add a metacontig ('MC') tag to the output BAM file." />
         <param name="gene_transcript_map" argument="--gene-transcript-map" type="data" format="tabular" optional="True" label="Tabular file mapping genes to transripts" />
         <param name="gene_tag" argument="--gene-tag" type="text" optional="True" label="Deduplicate by this gene tag" help="As --per-gene except here the gene information is encoded in the bam read tag specified so you do not need to supply the mapping file." />
+        <param name="output_stats_bool" type="boolean" truevalue="--output-stats=stats_outputs" falsevalue="" checked="false" label="Output UMI related statistics files?"/>
     </inputs>
     <outputs>
         <data format="bam" name="output" />
+        <collection name="output_stats" type="list" label="UMI_tools dedup stats">
+            <filter>output_stats_bool</filter>
+            <data name="edit_distance" format="tabular" from_work_dir="stats_outputs_edit_distance.tsv"/>
+            <data name="per_umi" format="tabular" from_work_dir="stats_outputs_per_umi.tsv"/>
+            <data name="per_umi_per_position" format="tabular" from_work_dir="stats_outputs_per_umi_per_position.tsv"/>
+        </collection>
     </outputs>
     <tests>
-        <test>
+        <test expect_num_outputs="1">
             <param name="input" value="group_in1.sam" ftype="sam" />
             <param name="extract_umi_method" value="read_id" />
             <param name="method" value="unique" />
             <output name="output" file="dedup_out1.bam" ftype="bam" sort="True"/>
         </test>
-        <test>
+        <test expect_num_outputs="1">
             <param name="input" value="group_in2.bam" ftype="bam" />
             <param name="extract_umi_method" value="read_id" />
             <param name="paired" value="True" />
             <param name="method" value="unique" />
             <output name="output" file="dedup_out2.bam" ftype="bam" sort="True" />
         </test>
-        <test>
+        <test expect_num_outputs="1">
             <param name="input" value="group_in3.bam" ftype="bam" />
             <param name="extract_umi_method" value="read_id" />
             <param name="method" value="unique" />
             <output name="output" file="dedup_out3.bam" ftype="bam" sort="True" />
         </test>
-        <test>
+        <test expect_num_outputs="1">
             <param name="input" value="group_in4.bam" ftype="bam" />
             <param name="extract_umi_method" value="tag" />
             <param name="umi_tag" value="BX" />
             <param name="method" value="unique" />
             <output name="output" file="dedup_out4.bam" ftype="bam" sort="True" />
         </test>
-        <test>
+        <test expect_num_outputs="1">
             <param name="input" value="group_in5.bam" ftype="bam" />
             <param name="extract_umi_method" value="read_id" />
             <param name="umi_tag" value="BX" />
             <param name="method" value="cluster" />
             <output name="output" file="dedup_out5.bam" ftype="bam" sort="True" />
         </test>
-        <test>
+        <test expect_num_outputs="1">
             <param name="input" value="group_in6.bam" ftype="bam" />
             <param name="extract_umi_method" value="read_id" />
             <param name="umi_tag" value="BX" />
             <param name="method" value="directional" />
             <output name="output" file="dedup_out6.bam" ftype="bam" sort="True" />
         </test>
+        <test expect_num_outputs="5">
+            <param name="input" value="group_in6.bam" ftype="bam" />
+            <param name="extract_umi_method" value="read_id" />
+            <param name="umi_tag" value="BX" />
+            <param name="method" value="directional" />
+            <param name="output_stats_bool" value="true"/>
+            <output name="output" file="dedup_out6.bam" ftype="bam" sort="True" />
+            <output_collection name="output_stats">
+                <element name="edit_distance" file="stats_outputs_edit_distance.tsv" />
+                <element name="per_umi" file="stats_outputs_per_umi.tsv" />
+                <element name="per_umi_per_position" file="stats_outputs_per_umi_per_position.tsv" />
+            </output_collection>
+        </test>
     </tests>
     <help><![CDATA[
 umi_tools dedup - Deduplicate reads based on their UMI