diff samtools_markdup.xml @ 0:046cbf29795a draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tool_collections/samtools/samtools_markdup commit 0fe00966500158720fb63dc9b28f6a4ca0d1e1eb
author iuc
date Fri, 28 Sep 2018 04:29:07 -0400
parents
children 83b8e36e9cbe
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/samtools_markdup.xml	Fri Sep 28 04:29:07 2018 -0400
@@ -0,0 +1,80 @@
+<tool id="samtools_markdup" name="Samtools markdup" version="@TOOL_VERSION@">
+    <description>marks duplicate alignments</description>
+    <macros>
+        <import>macros.xml</import>
+    </macros>
+    <expand macro="requirements"/>
+    <expand macro="stdio"/>
+    <expand macro="version_command"/>
+    <command><![CDATA[
+@ADDTHREADS@
+## coordinate sort input 
+#if not $bamfile.is_of_type('bam'):
+    samtools sort
+    -@ \$addthreads -m \${GALAXY_MEMORY_MB:-768}M -T sorttemp
+    -O sam
+    -o coordsort.sam
+    '$bamfile' &&
+#else:
+    ln -s '$bamfile' coordsort.sam &&
+#end if
+
+samtools markdup 
+
+-@ \$addthreads
+#if str($maxlen) != '':
+    -l $maxlen
+#end if 
+$remove 
+$stats 
+$supp
+coordsort.sam 
+'$output'
+    ]]></command>
+    <inputs>
+        <param name="bamfile" type="data" format="sam,bam,cram" optional="false" label="Alignment" />
+        <param name="remove" type="boolean" argument="-r" truevalue="-r" falsevalue="" label="Remove duplicate reads" />
+        <param name="maxlen" type="integer" optional="true" argument="-l" min="0" label="Expected maximum read length of INT bases. (default 300)"/>
+	<param name="stats" type="boolean" argument="-s" truevalue="-s" falsevalue="" label="Print basic statistics" />
+	<param name="supp" type="boolean" argument="-S" truevalue="-S" falsevalue="" label="Mark supplementary reads of duplicates as duplicates" />
+    </inputs>
+    <outputs>
+	<!-- output bam, if input was name sorted then restore this sorting order -->
+	<data name="output" format="bam"/>
+    </outputs>
+    <tests>
+        <!-- tests and data extracted from 
+	     https://github.com/samtools/samtools/blob/6d79411685d8f0fbb34e123f52d72b63271f4dcb/test/test.pl#L2616 
+             TODO the 1st 4 tests are negative, I do not know how to test for the error code 
+-->
+<!--    test_cmd($opts, out=>'markdup/1_name_sort.expected.sam', err=>'1_name_sort.expected.sam.err', cmd=>"$$opts{bin}/samtools markdup${threads} -O sam $$opts{path}/markdup/1_name_sort.sam -", expect_fail=>1);
+    test_cmd($opts, out=>'markdup/2_bad_order.expected.sam', err=>'2_bad_order.expected.sam.err', cmd=>"$$opts{bin}/samtools markdup${threads} -O sam $$opts{path}/markdup/2_bad_order.sam -", expect_fail=>1);
+    test_cmd($opts, out=>'markdup/3_missing_mc.expected.sam', err=>'3_missing_mc.expected.sam.err', cmd=>"$$opts{bin}/samtools markdup${threads} -O sam $$opts{path}/markdup/3_missing_mc.sam -", expect_fail=>1);
+    test_cmd($opts, out=>'markdup/4_missing_ms.expected.sam', err=>'4_missing_ms.expected.sam.err', cmd=>"$$opts{bin}/samtools markdup${threads} -O sam $$opts{path}/markdup/4_missing_ms.sam -", expect_fail=>1);-->
+        <test>
+            <param name="bamfile" value="5_markdup.sam" />
+            <output name="output" file="5_markdup.expected.bam" />
+        </test>
+        <!--    test_cmd($opts, out=>'markdup/5_markdup.expected.sam', cmd=>"$$opts{bin}/samtools markdup${threads} -O sam $$opts{path}/markdup/5_markdup.sam -");-->
+        <test>
+            <param name="bamfile" value="6_remove_dups.sam" />
+            <param name="remove" value="-r" />
+            <output name="output" file="6_remove_dups.expected.bam" />
+        </test>
+        <!--    test_cmd($opts, out=>'markdup/6_remove_dups.expected.sam', cmd=>"$$opts{bin}/samtools markdup${threads} -O sam -r $$opts{path}/markdup/6_remove_dups.sam -");-->
+        <test>
+            <param name="bamfile" value="7_mark_supp_dup.bam" />
+            <param name="supp" value="-S" />
+            <output name="output" file="7_mark_supp_dup.expected.bam" />
+        </test>
+        <!--
+        test_cmd($opts, out=>'markdup/7_mark_supp_dup.expected.sam', cmd=>"$$opts{bin}/samtools markdup${threads} -S -O sam $$opts{path}/markdup/7_mark_supp_dup.sam -");-->
+    </tests>
+    <help>
+Mark duplicate alignments from a coordinate sorted file that has been run through fixmate with the -m option. This program relies on the MC and ms tags that fixmate provides. 
+
+Note: The Galaxy tool sorts the data automatically if the input is SAM or query name sorted. 
+The output is BAM (which is query name sorted again if the input is).
+    </help>
+    <expand macro="citations"/>
+</tool>