changeset 29:26371a1df031 draft

"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hisat2 commit f18e8826ecb395a40fc321b5f3b66ab6d7f51625"
author iuc
date Mon, 25 Jan 2021 17:29:15 +0000
parents d4b55e2beb12
children 6c19daec423d
files hisat2.xml test-data/hisat_output_5.bam
diffstat 2 files changed, 99 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/hisat2.xml	Thu Nov 26 10:10:04 2020 +0000
+++ b/hisat2.xml	Mon Jan 25 17:29:15 2021 +0000
@@ -1,11 +1,11 @@
-<tool id="hisat2" name="HISAT2" version="2.1.0+galaxy6" profile="17.01">
+<tool id="hisat2" name="HISAT2" version="2.1.0+galaxy7" profile="17.01">
     <description>A fast and sensitive alignment program</description>
     <macros>
         <import>hisat2_macros.xml</import>
     </macros>
     <requirements>
         <requirement type="package" version="2.1.0">hisat2</requirement>
-        <requirement type="package" version="1.9">samtools</requirement>
+        <requirement type="package" version="1.11">samtools</requirement>
         <requirement type="package" version="1.3">seqtk</requirement>
     </requirements>
     <stdio>
@@ -300,6 +300,26 @@
 #end if
 
 
+## SAM options
+
+#if str($adv.sam_options.sam_options_selector) == "advanced":
+    #if $adv.sam_options.no_unal:
+        --no-unal
+    #end if
+    #if str($adv.sam_options.read_groups.rg_labels) == "Yes":
+        --rg-id '$adv.sam_options.read_groups.rg_id'
+        #if len('$adv.sam_options.read_groups.read_groups'):
+            #for $i, $id in enumerate($adv.sam_options.read_groups.read_groups):
+                --rg '$id.rg'
+            #end for
+        #end if
+    #end if
+    $adv.sam_options.chr_text
+    #if $adv.sam_options.omit_sec_seq:
+        --omit-sec-seq
+    #end if
+#end if
+
 ## Other options
 
 #if str( $adv.other_options.other_options_selector ) == "advanced":
@@ -406,8 +426,8 @@
 
         <!-- Summary Options -->
         <section name="sum" title="Summary Options" expanded="False">
-            <param name="new_summary" argument="--new-summary" type="boolean" checked="False" label="Output alignment summary in a more machine-friendly style." help="Select this option for compatibility with MultiQC" />
-            <param name="summary_file" argument="--summary-file" type="boolean" checked="False" label="Print alignment summary to a file." help="Output alignment summary to a file in addition to stderr." />
+            <param name="new_summary" argument="--new-summary" type="boolean" checked="false" label="Output alignment summary in a more machine-friendly style." help="Select this option for compatibility with MultiQC" />
+            <param name="summary_file" argument="--summary-file" type="boolean" checked="false" label="Print alignment summary to a file." help="Output alignment summary to a file in addition to stderr." />
         </section>
 
         <!-- Advanced Options  -->
@@ -427,8 +447,8 @@
                          <option value="--phred33" selected="True">Input qualities are ASCII chars equal to the Phred quality plus 33. This is also called the "Phred+33" encoding, which is used by the very latest Illumina pipelines (--phred33)</option>
                          <option value="--phred64">Input qualities are ASCII chars equal to the Phred quality plus 64. This is also called the "Phred+64" encoding (--phred64)</option>
                     </param>
-                    <param name="solexa_quals" argument="--solexa-quals" type="boolean" truevalue="--solexa-quals" falsevalue="" checked="False" label="Convert input qualities from Solexa (which can be negative) to Phred (which can't). This scheme was used in older Illumina GA Pipeline versions (prior to 1.3)" help="--solexa-quals; default: False"/>
-                    <param name="int_quals" argument="--int-quals" type="boolean" truevalue="--int-quals" falsevalue="" checked="False" label="Are quality values provided as space separated integers?" help="Quality values are represented in the read input file as space-separated ASCII integers, e.g., 40 40 30 40..., rather than ASCII characters, e.g., II?I.... Integers are treated as being on the Phred quality scale unless --solexa-quals is also specified [default: False]"/>
+                    <param name="solexa_quals" argument="--solexa-quals" type="boolean" truevalue="--solexa-quals" falsevalue="" checked="false" label="Convert input qualities from Solexa (which can be negative) to Phred (which can't). This scheme was used in older Illumina GA Pipeline versions (prior to 1.3)" help="--solexa-quals; default: False"/>
+                    <param name="int_quals" argument="--int-quals" type="boolean" truevalue="--int-quals" falsevalue="" checked="false" label="Are quality values provided as space separated integers?" help="Quality values are represented in the read input file as space-separated ASCII integers, e.g., 40 40 30 40..., rather than ASCII characters, e.g., II?I.... Integers are treated as being on the Phred quality scale unless --solexa-quals is also specified [default: False]"/>
                 </when>
             </conditional>
 
@@ -529,11 +549,41 @@
                 </param>
                 <when value="defaults" />
                 <when value="advanced">
-                    <param name="unaligned_file" argument="--un/--un-conc" type="boolean" truevalue="true" falsevalue="false" checked="False" label="Write unaligned reads (in fastq format) to separate file(s)" help="This triggers --un parameter for single reads and --un-conc for paired reads" />
-                    <param name="aligned_file" argument="--al/--al-conc" type="boolean" truevalue="true" falsevalue="false" checked="False" label="Write aligned reads (in fastq format) to separate file(s)" help="This triggers --al parameter for single reads and --al-conc for paired reads" />
+                    <param name="unaligned_file" argument="--un/--un-conc" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Write unaligned reads (in fastq format) to separate file(s)" help="This triggers --un parameter for single reads and --un-conc for paired reads" />
+                    <param name="aligned_file" argument="--al/--al-conc" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Write aligned reads (in fastq format) to separate file(s)" help="This triggers --al parameter for single reads and --al-conc for paired reads" />
                 </when>
             </conditional>
 
+            <conditional name="sam_options">
+                <param name="sam_options_selector" type="select" label="SAM options">
+                    <option value="defaults">Use default values</option>
+                    <option value="advanced">Specify output options</option>
+                </param>
+                <when value="defaults" />
+                <when value="advanced">
+                    <param name="no_unal" argument="--no-unal" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Suppress SAM records for reads that failed to align." help="Default: false"/>
+                    <conditional name="read_groups">
+                        <param name="rg_labels" type="select" label="Edit Read Group IDs">
+                            <option value="No" />
+                            <option value="Yes" />
+                        </param>
+                        <when value="No"/>
+                        <when value="Yes">
+                            <param name="rg_id" argument="--rg-id" type="text" value="read_group" label="Read Group ID" help="Set the read group ID to the value set here. This causes the SAM @RG header line to be printed, with this input value as the value associated with the ID: tag. It also causes the RG:Z: extra field to be attached to each SAM output record, with value set to the value set here." /> 
+                            <repeat name="read_groups" title="Read Groups text">
+                                <param name="rg" argument="--rg" type="text" optional="true" label="Read Group text" help="Add specified text (usually of the form TAG:VAL, e.g. SM:Pool1) as a field on the @RG header line. Note: in order for the @RG line to appear, Read Group ID must also be specified. This is because the ID tag is required by the SAM Spec. Specify --rg multiple times to set multiple fields. See the SAM Spec for details about what fields are legal." /> 
+                            </repeat>               
+                        </when>
+                    </conditional>
+                    <param name="chr_text" type="select" label="Add/remove 'chr' from reference names in alignment files">
+                        <option value="" selected="true">Use default values</option>
+                        <option value="--remove-chrname">Remove ‘chr’ from reference names in alignment (e.g., chr18 to 18)</option>
+                        <option value="--add-chrname">Add ‘chr’ to reference names in alignment (e.g., 18 to chr18)</option>
+                    </param>
+                    <param name="omit_sec_seq" argument="--omit-sec-seq" type="boolean" truevalue="true" falsevalue="false" checked="false" label="When printing secondary alignments, HISAT2 by default will write out the SEQ and QUAL strings. Specifying this option causes HISAT2 to print an asterisk in those fields instead." help="Default: false"/>
+                </when>     
+            </conditional>
+
             <conditional name="other_options">
                 <param name="other_options_selector" type="select" label="Other options">
                     <option value="defaults">Use default values</option>
@@ -877,6 +927,25 @@
             <output name="output_alignments" file="hisat_output_spliced_1.bam" ftype="bam" lines_diff="2" />
             <output name="novel_splicesite_output" file="novel_splicesite_out.tab" ftype="tabular" />
         </test>
+        <!-- Ensure SAM output settings work -->
+        <test expect_num_outputs="1" >
+            <param name="type" value="paired_interleaved" />
+            <param name="source" value="history" />
+            <param name="history_item" ftype="fasta" value="phiX.fa" />
+            <param name="input_1" ftype="fastqsanger.bz2" value="hisat_input_1_interleaved.fastq.bz2" />
+            <param name="adv|sam_options|sam_options_selector" value="advanced"/>
+            <param name="adv|sam_options|no_unal" value="true"/>
+            <param name="adv|sam_options|read_groups|rg_labels" value="Yes"/>
+            <repeat name="adv|sam_options|read_groups|read_groups">
+                <param name="rg" value="BC:test1"/> 
+            </repeat> 
+            <repeat name="adv|sam_options|read_groups|read_groups">
+                <param name="rg" value="CN:test2"/>  
+            </repeat>          
+            <param name="adv|sam_options|chr_text" value="--add-chrname"/>
+            <param name="adv|sam_options|omit_sec_seq" value="True"/>                        
+            <output name="output_alignments" file="hisat_output_5.bam" ftype="bam" lines_diff="2" />
+        </test>
     </tests>
 
     <help><![CDATA[
@@ -1218,6 +1287,28 @@
             align uniquely, but that does not satisfy the paired-end constraints
             (`--fr`/`--rf`/`--ff`, `-I`, `-X`).  This option disables that behavior.
 
+-----
+
+** SAM options
+
+    --no-unal
+        Suppress SAM records for reads that failed to align.
+    --rg-id <text>
+
+        Set the read group ID to <text>. This causes the SAM @RG header line to be printed, with <text> as the value associated with the ID: tag. It also causes the RG:Z: extra field to be attached to each SAM output record, with value set to <text>.
+    --rg <text>
+        Add <text> (usually of the form TAG:VAL, e.g. SM:Pool1) as a field on the @RG header line. Note: in order for the @RG line to appear, --rg-id must also be specified. This is because the ID tag is required by the SAM Spec. Specify --rg multiple times to set multiple fields. See the SAM Spec for details about what fields are legal.
+    
+    --remove-chrname
+        Remove ‘chr’ from reference names in alignment (e.g., chr18 to 18)
+    
+    --add-chrname
+        Add ‘chr’ to reference names in alignment (e.g., 18 to chr18)
+    
+    --omit-sec-seq
+        When printing secondary alignments, HISAT2 by default will write out the SEQ and QUAL strings. Specifying this option causes HISAT2 to print an asterisk in those fields instead.
+
+-----
 
 **Output options**::
 
Binary file test-data/hisat_output_5.bam has changed