changeset 10:da8d655e2154 draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hisat2 commit d3803bf87eb04a8c2a239e270c8c5c0596277890
author iuc
date Mon, 10 Apr 2017 17:40:42 -0400
parents 2dbb7f0ea66f
children e926afbd9e10
files hisat2.xml hisat2_macros.xml test-data/hisat_input_2_forward.fastq.bz2 test-data/hisat_input_2_forward.fastq.gz test-data/hisat_input_2_reverse.fastq.bz2 test-data/hisat_input_2_reverse.fastq.gz
diffstat 6 files changed, 127 insertions(+), 16 deletions(-) [+]
line wrap: on
line diff
--- a/hisat2.xml	Tue Apr 04 08:15:43 2017 -0400
+++ b/hisat2.xml	Mon Apr 10 17:40:42 2017 -0400
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<tool id="hisat2" name="HISAT2" version="2.0.5">
+<tool id="hisat2" name="HISAT2" version="2.0.5" profile="17.01">
     <description>A fast and sensitive alignment program</description>
     <macros>
         <import>hisat2_macros.xml</import>
@@ -20,6 +20,9 @@
             ln -s '${spliced_options.known_splice_gtf}' splice_sites.gtf &&
             hisat2_extract_splice_sites.py splice_sites.gtf > splice_sites.txt &&
         #end if
+
+        @FASTQGZ_SETUP@
+
         #if $reference_genome.reference_genome_source == "history":
             ln -s '$reference_genome.history_item' genome.fa &&
             hisat2-build -p \${GALAXY_SLOTS:-1} genome.fa genome &&
@@ -28,19 +31,28 @@
             #set index_path = $reference_genome.index.fields.path
         #end if
         hisat2 -p \${GALAXY_SLOTS:-1} -x '${index_path}'
-        #if str($input_format.paired.paired_selector) == 'paired':
-            -1 '${input_format.paired.reads_f}' -2 '${input_format.paired.reads_r}'
-            @paired_end_options@
-        #else if str($input_format.paired.paired_selector) == 'paired_collection':
-            -1 '${input_format.paired.reads.forward}' -2 '${input_format.paired.reads.reverse}'
+        #if str($input_format.paired.paired_selector) != 'single':
+            -1 '${read1}' -2 '${read2}'
             @paired_end_options@
         #else:
-            -U '${input_format.paired.reads}'
+            -U '${read1}'
             #if str( $input_format.paired.unaligned_file ) == "true":
-                --un '$output_unaligned_reads_l'
+                #if $compressed == "GZ":
+                    --un-gz '$output_unaligned_reads_l'
+                #else if $compressed == "BZ2":
+                    --un-gz '$output_unaligned_reads_l'
+                #else:
+                    --un '$output_unaligned_reads_l'
+                #end if
             #end if
             #if str( $input_format.paired.aligned_file ) == "true":
-                --al '$output_aligned_reads_l'
+                #if $compressed == "GZ":
+                    --al-gz '$output_aligned_reads_l'
+                #else if $compressed == "BZ2":
+                    --al-bz2 '$output_aligned_reads_l'
+                #else:
+                    --al '$output_aligned_reads_l'
+                #end if
             #end if
         #end if
         #if $input_format.input_format_selector == 'fasta':
@@ -125,7 +137,7 @@
                 <expand macro="paired_input_conditional" ftype="fasta" />
             </when>
             <when value="fastq">
-                <expand macro="paired_input_conditional" ftype="fastq" />
+                <expand macro="paired_input_conditional" ftype="fastq,fastqsanger,fastq.gz,fastqsanger.gz,fastq.bz2,fastqsanger.bz2" />
             </when>
         </conditional>
         <conditional name="reference_genome">
@@ -427,6 +439,36 @@
             <output name="output_unaligned_reads_l" file="test_unaligned_reads.fasta" />
             <output name="output_unaligned_reads_r" file="test_unaligned_reads.fasta" />
         </test>
+        <test><!-- Ensure fastqsanger.gz works -->
+            <param name="input_format_selector" value="fastq" />
+            <param name="paired_selector" value="paired" />
+            <param name="reference_genome_source" value="history" />
+            <param name="history_item" value="phiX.fa" ftype="fasta" />
+            <param name="input_options_selector" value="advanced" />
+            <param name="trim_three" value="15" />
+            <param name="trim_five" value="15" />
+            <param name="reads_f" ftype="fastqsanger.gz" value="hisat_input_2_forward.fastq.gz" />
+            <param name="reads_r" ftype="fastqsanger.gz" value="hisat_input_2_reverse.fastq.gz" />
+            <param name="paired_end_options_selector" value="advanced" />
+            <param name="no_mixed" value="True" />
+            <param name="no_discordant" value="True" />
+            <output name="output_alignments" ftype="bam" file="hisat_output_3.bam" lines_diff="2" />
+        </test>
+        <test><!-- Ensure fastqsanger.bz2 works -->
+            <param name="input_format_selector" value="fastq" />
+            <param name="paired_selector" value="paired" />
+            <param name="reference_genome_source" value="history" />
+            <param name="history_item" value="phiX.fa" ftype="fasta" />
+            <param name="input_options_selector" value="advanced" />
+            <param name="trim_three" value="15" />
+            <param name="trim_five" value="15" />
+            <param name="reads_f" ftype="fastqsanger.bz2" value="hisat_input_2_forward.fastq.bz2" />
+            <param name="reads_r" ftype="fastqsanger.bz2" value="hisat_input_2_reverse.fastq.bz2" />
+            <param name="paired_end_options_selector" value="advanced" />
+            <param name="no_mixed" value="True" />
+            <param name="no_discordant" value="True" />
+            <output name="output_alignments" ftype="bam" file="hisat_output_3.bam" lines_diff="2" />
+        </test>
     </tests>
     <help>
         <![CDATA[
--- a/hisat2_macros.xml	Tue Apr 04 08:15:43 2017 -0400
+++ b/hisat2_macros.xml	Mon Apr 10 17:40:42 2017 -0400
@@ -33,8 +33,8 @@
             </when>
             <when value="single">
                 <param format="@FTYPE@" label="Reads" name="reads" type="data" />
-                <param name="unaligned_file" type="boolean" truevalue="true" falsevalue="false" checked="False" label="Write unaligned reads (in fastq format) to separate file(s)" argument="--un" />
-                <param name="aligned_file" type="boolean" truevalue="true" falsevalue="false" checked="False" label="Write aligned reads (in fastq format) to separate file(s)" argument="--al" />
+                <param name="unaligned_file" type="boolean" truevalue="true" falsevalue="false" checked="False" label="Write unaligned reads (in fastq format) to separate file(s)" argument="--un / --un-gz" />
+                <param name="aligned_file" type="boolean" truevalue="true" falsevalue="false" checked="False" label="Write aligned reads (in fastq format) to separate file(s)" argument="--al / --al-gz" />
             </when>
         </conditional>
     </xml>
@@ -55,15 +55,23 @@
         </conditional>
     </xml>
     <xml name="paired_end_output">
-        <param name="unaligned_file" type="boolean" truevalue="true" falsevalue="false" checked="False" label="Write unaligned reads (in fastq format) to separate file(s)" argument="--un-conc" />
-        <param name="aligned_file" type="boolean" truevalue="true" falsevalue="false" checked="False" label="Write aligned reads (in fastq format) to separate file(s)" argument="--al-conc" />
+        <param name="unaligned_file" type="boolean" truevalue="true" falsevalue="false" checked="False" label="Write unaligned reads (in fastq format) to separate file(s)" argument="--un-conc / --un-conc-gz" />
+        <param name="aligned_file" type="boolean" truevalue="true" falsevalue="false" checked="False" label="Write aligned reads (in fastq format) to separate file(s)" argument="--al-conc / --al-conc-gz" />
     </xml>
     <token name="@paired_end_options@">
         #if str( $input_format.paired.unaligned_file ) == "true":
-            --un-conc '${output_unaligned_reads_l}'
+            #if $compressed == "GZ":
+                --un-conc-gz '${output_unaligned_reads_l}'
+            #else:
+                --un-conc '${output_unaligned_reads_l}'
+            #end if
         #end if
         #if str( $input_format.paired.aligned_file ) == "true":
-            --al-conc '${output_aligned_reads_l}'
+            #if $compressed == "GZ":
+                --al-conc '${output_aligned_reads_l}'
+            #else:
+                --al-conc '${output_aligned_reads_l}'
+            #end if
         #end if  
         #if str($input_format.paired.paired_end_options.paired_end_options_selector) == 'advanced':
             ${input_format.paired.paired_end_options.no_mixed}
@@ -77,4 +85,65 @@
             #end if
         #end if
     </token>
+    <token name="@FASTQGZ_SETUP@">
+<![CDATA[
+        #set compressed="False"
+        #if str($input_format.paired.paired_selector) == 'paired':
+            #if $input_format.paired.reads_f.is_of_type("fastq.gz", "fastqsanger.gz"):
+                #set read1 = "input_f.fastq.gz"
+                #set compressed = "GZ"
+            #else if $input_format.paired.reads_f.is_of_type("fastq.bz2", "fastqsanger.bz2"):
+                #set read1 = "input_f.fastq.bz2"
+                #set compressed = "BZ2"
+            #else:
+                #set read1 = "input_f.fastq"
+            #end if
+            ln -f -s "${input_format.paired.reads_f}" "${read1}" &&
+
+            #if $input_format.paired.reads_r.is_of_type("fastq.gz", "fastqsanger.gz"):
+                #set read2 = "input_r.fastq.gz"
+                #set compressed = "GZ"
+            #else if $input_format.paired.reads_r.is_of_type("fastq.bz2", "fastqsanger.bz2"):
+                #set read2 = "input_r.fastq.bz2"
+                #set compressed = "BZ2"
+            #else:
+                #set read2 = "input_r.fastq"
+            #end if
+            ln -f -s "${input_format.paired.reads_r}" "${read2}" &&
+        #else if str($input_format.paired.paired_selector) == 'paired_collection':
+            #if $input_format.paired.reads.forward.is_of_type("fastq.gz", "fastqsanger.gz"):
+                #set read1 = "input_f.fastq.gz"
+                #set compressed = "GZ"
+            #else if $input_format.paired.reads.forward.is_of_type("fastq.bz2", "fastqsanger.bz2"):
+                #set read1 = "input_f.fastq.bz2"
+                #set compressed = "BZ2"
+            #else:
+                #set read1 = "input_f.fastq"
+            #end if
+            ln -s "${input_format.paired.reads.forward}" "${read1}" &&
+
+            #if $input_format.paired.reads.reverse.is_of_type("fastq.gz", "fastqsanger.gz"):
+                #set read2 = "input_r.fastq.gz"
+                #set compressed = "GZ"
+            #else if $input_format.paired.reads.reverse.is_of_type("fastq.bz2", "fastqsanger.bz2"):
+                #set read2 = "input_r.fastq.bz2"
+                #set compressed = "BZ2"
+            #else:
+                #set read2 = "input_r.fastq"
+            #end if
+            ln -s "${input_format.paired.reads.reverse}" "${read2}" &&
+        #else:
+            #if $input_format.paired.reads.is_of_type("fastq.gz", "fastqsanger.gz"):
+                #set read1 = "input_f.fastq.gz"
+                #set compressed = "GZ"
+            #else if $input_format.paired.reads.is_of_type("fastq.bz2", "fastqsanger.bz2"):
+                #set read1 = "input_f.fastq.bz2"
+                #set compressed = "BZ2"
+            #else:
+                #set read1 = "input_f.fastq"
+            #end if
+            ln -s "${input_format.paired.reads}" "${read1}" &&
+        #end if
+]]>
+    </token>
 </macros>
Binary file test-data/hisat_input_2_forward.fastq.bz2 has changed
Binary file test-data/hisat_input_2_forward.fastq.gz has changed
Binary file test-data/hisat_input_2_reverse.fastq.bz2 has changed
Binary file test-data/hisat_input_2_reverse.fastq.gz has changed