diff bcftools_consensus.xml @ 17:95c6f3f4c77f draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/bcftools commit db275932cbb485cb44ae91e0b421d6f57698db49
author iuc
date Tue, 20 Sep 2022 12:48:09 +0000
parents edc3d484b99a
children 1171446da5db
line wrap: on
line diff
--- a/bcftools_consensus.xml	Sat Jul 23 13:32:35 2022 +0000
+++ b/bcftools_consensus.xml	Tue Sep 20 12:48:09 2022 +0000
@@ -1,5 +1,5 @@
 <?xml version='1.0' encoding='utf-8'?>
-<tool name="bcftools @EXECUTABLE@" id="bcftools_@EXECUTABLE@" version="@TOOL_VERSION@+galaxy1">
+<tool name="bcftools @EXECUTABLE@" id="bcftools_@EXECUTABLE@" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
     <description>Create consensus sequence by applying VCF variants to a reference fasta file</description>
     <macros>
         <token name="@EXECUTABLE@">consensus</token>
@@ -30,6 +30,18 @@
   --mask '${section.mask}'
 #end if
 
+#if $section.mark_del
+    --mark-del '$section.mark_del'
+#end if
+
+#if $section.mark_ins
+    --mark-ins $section.mark_ins
+#end if
+
+#if $section.mark_snv
+    --mark-snv $section.mark_snv
+#end if
+
 #if $section.select_haplotype:
   --haplotype '${section.select_haplotype}'
 #end if
@@ -40,7 +52,11 @@
 @EXCLUDE@
 
 #if $chain:
-  --chain '$chain_file'
+    --chain '$chain_file'
+#end if
+
+#if $absent
+    --absent '$absent'
 #end if
 
 ## Primary Input/Outputs
@@ -66,9 +82,51 @@
                 <option value="1">1</option>
                 <option value="2">2</option>
             </param>
+            <param argument="--mark-del" type="text" value="" optional="true" label="Mark deletions" help="Instead of removing sequence, insert CHAR for deletions">
+                <sanitizer invalid_char="">
+                    <valid initial="string.letters,string.digits">
+                        <add value="_" />
+                    </valid>
+                </sanitizer>
+                <validator type="regex">[0-9a-zA-Z_]+</validator>
+            </param>
+            <param argument="--mark-ins" type="select" optional="true" label="Mark insertions" help="Highlight insertions in uppercase (uc) or lowercase (lc), leaving the rest as is">
+                <option value="uc">Uppercase</option>
+                <option value="lc">Lowercase</option>
+            </param>
+            <param argument="--mark-snv" type="select" optional="true" label="Mark substitutions" help="Highlight substitutions in uppercase (uc) or lowercase (lc), leaving the rest as is">
+                <option value="uc">Uppercase</option>
+                <option value="lc">Lowercase</option>
+            </param>
+            <conditional name="conditional_mask">
+                <param name="selector" type="select" label="Mask file option">
+                    <option value="disabled">Disabled</option>
+                    <option value="enabled">Enabled</option>
+                </param>
+                <when value="disabled"/>
+                <when value="enabled">
+                    <param argument="--mask" type="data" format="tabular" label="Mask" help="Replace regions according to the next --mask-with option" />
+                    <param argument="--mask-with" type="text" value="N" optional="true" label="Mask with" help="Replace with CHAR (skips overlapping variants); change to uppercase (uc) or lowercase (lc)">
+                        <sanitizer invalid_char="">
+                            <valid initial="string.letters,string.digits">
+                                <add value="_" />
+                            </valid>
+                        </sanitizer>
+                        <validator type="regex">[0-9a-zA-Z_]+</validator>
+                    </param>
+                </when>
+            </conditional>
         </section>
         <param name="chain" type="boolean" truevalue="yes" falsevalue="no" label="Write a chain file for liftover" />
         <param name="rename" type="boolean" truevalue="yes" falsevalue="no" label="Set output FASTA ID from name of VCF" />
+        <param argument="--absent" type="text" value="" label="Absent" optional="true" help="It allows to set positions with no supporting evidence to N (or any other character)">
+            <sanitizer invalid_char="">
+                <valid initial="string.letters,string.digits,string.punctuation">
+                    <remove value="@" />
+                    <remove value="'" />
+                </valid>
+            </sanitizer>
+        </param>
         <section name="sec_restrict" expanded="false" title="Restrict to">    
             <expand macro="macro_include" />
             <expand macro="macro_exclude" />
@@ -140,6 +198,46 @@
                 </assert_contents>
             </output>
         </test>
+        <!--Test absent option-->
+        <test>
+            <expand macro="test_using_reference" ref="consensus.fa" />
+            <param name="input_file" ftype="vcf" value="consensus.vcf" />
+            <section name="sec_restrict">
+                <param name="include" value='TYPE="snp"' />
+            </section>
+            <param name="absent" value="W"/>
+            <output name="output_file">
+                <assert_contents>
+                    <has_text text="WWWAWAWWAWWWWWWWWCWWWWWWWW" />
+                </assert_contents>
+            </output>
+            <assert_command>
+                <has_text text="--absent" />
+            </assert_command>
+        </test>
+        <!--Test mask options -->
+        <test>
+            <expand macro="test_using_reference" ref="consensus.fa" />
+            <param name="input_file" ftype="vcf" value="consensus.vcf" />
+            <section name="sec_restrict">
+                <param name="include" value='TYPE="snp"' />
+            </section>
+            <section name="sec_default">
+                <param name="mark_del" value="DEL"/>
+                <param name="mark_ins" value="uc"/>
+                <param name="mark_snv" value="uc"/>
+            </section>
+            <output name="output_file">
+                <assert_contents>
+                    <has_text text="TACAAAATATGACATATCAAAAAGAACATAACCTACGTATCAACTAAAGTGGTTGTTTGA" />
+                </assert_contents>
+            </output>
+            <assert_command>
+                <has_text text="--mark-del" />
+                <has_text text="--mark-ins" />
+                <has_text text="--mark-snv" />
+            </assert_command>
+        </test>
     </tests>
     <help><![CDATA[
 =====================================