changeset 5:c147e3a10573 draft

"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tool_collections/samtools/samtools_calmd commit 0f75269223c0821c6c82acf98fde947d0f816f2b"
author iuc
date Tue, 28 Sep 2021 16:12:02 +0000
parents 06dc50b7b711
children 92ec40abcdcf
files macros.xml samtools_calmd.xml test-data/samtools_calmd_out_1.bam test-data/samtools_calmd_out_2.bam
diffstat 4 files changed, 86 insertions(+), 57 deletions(-) [+]
line wrap: on
line diff
--- a/macros.xml	Thu Oct 17 02:18:43 2019 -0400
+++ b/macros.xml	Tue Sep 28 16:12:02 2021 +0000
@@ -5,10 +5,16 @@
             <yield/>
         </requirements>
     </xml>
-    <token name="@TOOL_VERSION@">1.9</token>
-    <token name="@FLAGS@">#set $flags = sum(map(int, str($filter).split(',')))</token>
+    <token name="@TOOL_VERSION@">1.13</token>
+    <token name="@PROFILE@">20.05</token>
+    <token name="@FLAGS@"><![CDATA[
+        #set $flags = 0
+        #if $filter
+            #set $flags = sum(map(int, str($filter).split(',')))
+        #end if
+    ]]></token>
     <token name="@PREPARE_IDX@"><![CDATA[
-        ##prepare input and indices 
+        ##prepare input and indices
         ln -s '$input' infile &&
         #if $input.is_of_type('bam'):
             #if str( $input.metadata.bam_index ) != "None":
@@ -25,7 +31,7 @@
         #end if
     ]]></token>
     <token name="@PREPARE_IDX_MULTIPLE@"><![CDATA[
-        ##prepare input and indices 
+        ##prepare input and indices
         #for $i, $bam in enumerate( $input_bams ):
             ln -s '$bam' '${i}' &&
             #if $bam.is_of_type('bam'):
@@ -63,6 +69,51 @@
             #set reffai=None
         #end if
     ]]></token>
+
+    <xml name="optional_reference">
+        <conditional name="addref_cond">
+            <param name="addref_select" type="select" label="Use a reference sequence">
+                <help>@HELP@</help>
+                <option value="no">No</option>
+                <option value="history">Use a genome/index from the history</option>
+                <option value="cached">Use a built-in genome</option>
+            </param>
+            <when value="no"/>
+            <when value="history">
+                <param name="ref" argument="@ARGUMENT@" type="data" format="fasta,fasta.gz" label="Reference"/>
+            </when>
+            <when value="cached">
+                <param name="ref" argument="@ARGUMENT@" type="select" label="Reference">
+                    <options from_data_table="fasta_indexes">
+                        <filter type="data_meta" ref="input" key="dbkey" column="dbkey"/>
+                    </options>
+                    <validator  type="no_options" message="No reference genome is available for the build associated with the selected input dataset"/>
+                </param>
+            </when>
+        </conditional>
+    </xml>
+    <xml name="mandatory_reference" token_help="" token_argument="">
+        <conditional name="addref_cond">
+            <param name="addref_select" type="select" label="Use a reference sequence">
+                <help>@HELP@</help>
+                <option value="history">Use a genome/index from the history</option>
+                <option value="cached">Use a built-in genome</option>
+            </param>
+            <when value="history">
+                <param name="ref" argument="@ARGUMENT@" type="data" format="fasta,fasta.gz" label="Reference"/>
+            </when>
+            <when value="cached">
+                <param name="ref" argument="@ARGUMENT@" type="select" label="Reference">
+                    <options from_data_table="fasta_indexes">
+                        <filter type="data_meta" ref="input" key="dbkey" column="dbkey"/>
+                        <validator message="No reference genome is available for the build associated with the selected input dataset" type="no_options" />
+                    </options>
+                </param>
+            </when>
+        </conditional>
+    </xml>
+
+
     <token name="@ADDTHREADS@"><![CDATA[
         ##compute the number of ADDITIONAL threads to be used by samtools (-@)
         addthreads=\${GALAXY_SLOTS:-1} && (( addthreads-- )) &&
@@ -70,28 +121,28 @@
     <token name="@ADDMEMORY@"><![CDATA[
         ##compute the number of memory available to samtools sort (-m)
         ##use only 75% of available: https://github.com/samtools/samtools/issues/831
-        addmemory=\${GALAXY_MEMORY_MB_PER_SLOT:-768} && 
+        addmemory=\${GALAXY_MEMORY_MB_PER_SLOT:-768} &&
         ((addmemory=addmemory*75/100)) &&
     ]]></token>
     <xml name="seed_input">
-       <param name="seed" type="integer" optional="True" label="Seed for random number generator" help="If empty a random seed is used." /> 
+       <param name="seed" type="integer" optional="True" label="Seed for random number generator" help="If empty a random seed is used." />
     </xml>
-    <xml name="flag_options">
-        <option value="1">read is paired</option>
-        <option value="2">read is mapped in a proper pair</option>
-        <option value="4">read is unmapped</option>
-        <option value="8">mate is unmapped</option>
-        <option value="16">read reverse strand</option>
-        <option value="32">mate reverse strand</option>
-        <option value="64">read is the first in a pair</option>
-        <option value="128">read is the second in a pair</option>
-        <option value="256">alignment or read is not primary</option>
-        <option value="512">read fails platform/vendor quality checks</option>
-        <option value="1024">read is a PCR or optical duplicate</option>
-        <option value="2048">supplementary alignment</option>
+    <xml name="flag_options" token_s1="false" token_s2="false" token_s4="false" token_s8="false" token_s16="false" token_s32="false" token_s64="false" token_s128="false" token_s256="false" token_s512="false" token_s1024="false" token_s2048="false">
+        <option value="1" selected="@S1@">Read is paired</option>
+        <option value="2" selected="@S2@">Read is mapped in a proper pair</option>
+        <option value="4" selected="@S4@">Read is unmapped</option>
+        <option value="8" selected="@S8@">Mate is unmapped</option>
+        <option value="16" selected="@S16@">Read is mapped to the reverse strand of the reference</option>
+        <option value="32" selected="@S32@">Mate is mapped to the reverse strand of the reference</option>
+        <option value="64" selected="@S64@">Read is the first in a pair</option>
+        <option value="128" selected="@S128@">Read is the second in a pair</option>
+        <option value="256" selected="@S256@">Alignment of the read is not primary</option>
+        <option value="512" selected="@S512@">Read fails platform/vendor quality checks</option>
+        <option value="1024" selected="@S1024@">Read is a PCR or optical duplicate</option>
+        <option value="2048" selected="@S2048@">Alignment is supplementary</option>
     </xml>
 
-    <!-- region specification macros and tokens for tools that allow the specification 
+    <!-- region specification macros and tokens for tools that allow the specification
          of region by bed file / space separated list of regions -->
     <token name="@REGIONS_FILE@"><![CDATA[
         #if $cond_region.select_region == 'tab':
--- a/samtools_calmd.xml	Thu Oct 17 02:18:43 2019 -0400
+++ b/samtools_calmd.xml	Tue Sep 28 16:12:02 2021 +0000
@@ -1,4 +1,4 @@
-<tool id="samtools_calmd" name="CalMD" version="2.0.2">
+<tool id="samtools_calmd" name="Samtools calmd" version="2.0.3" profile="@PROFILE@">
     <description>recalculate MD/NM tags</description>
     <macros>
         <import>macros.xml</import>
@@ -8,13 +8,7 @@
     <expand macro="version_command"/>
     <command><![CDATA[
 @ADDTHREADS@
-#if str( $reference_source.reference_source_selector ) == "history":
-    #set ref_fa = 'ref.fa'
-    ln -s '${reference_source.ref_fasta}' ref.fa &&
-    samtools faidx ref.fa &&
-#else:
-    #set ref_fa = str( $reference_source.ref_fasta.fields.path )
-#end if
+@PREPARE_FASTA_IDX@
 
 samtools calmd
     $baq_settings.use_baq $baq_settings.modify_quality $baq_settings.extended_baq
@@ -23,29 +17,13 @@
     #end if
     -b
     -@ \$addthreads
-    '$input_bam'
-    '$ref_fa'
+    '$input'
+    '$reffa'
     > '$calmd_output'
     ]]></command>
     <inputs>
-        <param name="input_bam" type="data" format="bam" label="BAM file to recalculate" />
-        <conditional name="reference_source">
-            <param name="reference_source_selector" type="select" label="Choose the source for the reference genome">
-                <option value="cached">Use a built-in genome</option>
-                <option value="history">Use a genome from the history</option>
-            </param>
-            <when value="cached">
-                <param name="ref_fasta" type="select" label="Using reference genome">
-                    <options from_data_table="fasta_indexes">
-                        <filter type="data_meta" column="dbkey" key="dbkey" ref="input_bam" />
-                        <validator type="no_options" message="A built-in reference genome is not available for the build associated with the selected input file" />
-                    </options>
-                </param>
-            </when>
-            <when value="history">
-                <param name="ref_fasta" type="data" format="fasta" label="Using reference file" />
-            </when>
-        </conditional>
+        <param name="input" type="data" format="bam" label="BAM file to recalculate" />
+        <expand macro="mandatory_reference"/>
         <conditional name="baq_settings">
             <param name="use_baq" argument="-r" type="select"
             label="Do you also want BAQ (Base Alignment Quality) scores to be calculated?">
@@ -86,10 +64,10 @@
         <test>
             <param name="use_baq" value="" />
             <param name="option_sets" value="default" />
-            <param name="input_bam" value="phiX.bam"/>
-            <param name="reference_source_selector" value="history" />
-            <param name="ref_fasta" value="phiX.fasta" />
-            <output name="calmd_output" file="samtools_calmd_out_1.bam" ftype="bam" />
+            <param name="input" value="phiX.bam"/>
+            <param name="addref_select" value="history" />
+            <param name="ref" value="phiX.fasta" />
+            <output name="calmd_output" file="samtools_calmd_out_1.bam" ftype="bam" lines_diff="4" />
         </test>
         <test>
             <param name="use_baq" value="-r" />
@@ -97,10 +75,10 @@
             <param name="option_sets" value="advanced" />
             <param name="change_identical" value="true" />
             <param name="adjust_mq" value="50" />
-            <param name="input_bam" value="phiX.bam"/>
-            <param name="reference_source_selector" value="history" />
-            <param name="ref_fasta" value="phiX.fasta" />
-            <output name="calmd_output" file="samtools_calmd_out_2.bam" ftype="bam" />
+            <param name="input" value="phiX.bam"/>
+            <param name="addref_select" value="history" />
+            <param name="ref" value="phiX.fasta" />
+            <output name="calmd_output" file="samtools_calmd_out_2.bam" ftype="bam" lines_diff="4" />
         </test>
     </tests>
     <help><![CDATA[
@@ -125,7 +103,7 @@
 
   MD (string)  String for mismatching positions. Regex : [0-9]+(([A-Z]|\^[A-Z]+)[0-9]+)*7
   NM (integer) Edit distance to the reference, including ambiguous bases but excluding clipping
-  BQ (string)  String of offsets to base alignment quality (BAQ), of the same length as the read sequence. 
+  BQ (string)  String of offsets to base alignment quality (BAQ), of the same length as the read sequence.
                At the i-th read base, BAQ i = Q i − (BQ i − 64) where Q i is the i-th base quality.
 
 See references for more information about SAM format tags.
Binary file test-data/samtools_calmd_out_1.bam has changed
Binary file test-data/samtools_calmd_out_2.bam has changed