Skip to content

Commit b3e1ffb

Browse files
authored
Merge pull request #8088 from mvdbeek/fasta_gz_bwa_mem
BWA/BWA-MEM: support gzipped (fasta.gz) reference from history
2 parents 054af73 + 0812241 commit b3e1ffb

4 files changed

Lines changed: 108 additions & 45 deletions

File tree

tools/bwa/bwa-mem.xml

Lines changed: 105 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0"?>
2-
<tool id="bwa_mem" name="Map with BWA-MEM" version="@TOOL_VERSION@" profile="22.05">
2+
<tool id="bwa_mem" name="Map with BWA-MEM" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="22.05">
33
<description>- map medium and long reads (&gt; 100 bp) against reference genome</description>
44
<macros>
55
<import>read_group_macros.xml</import>
@@ -284,68 +284,130 @@ bwa mem
284284
<tests>
285285
<!-- `samtools sort` in the new update adds PG lines to the output so the lines_diff is changed from "2" to "4" -->
286286
<test expect_num_outputs="1">
287-
<param name="reference_source_selector" value="history" />
288-
<param name="ref_file" ftype="fasta" value="bwa-mem-mt-genome.fa"/>
289-
<param name="fastq_input_selector" value="paired"/>
290-
<param name="fastq_input1" ftype="fastqsanger" value="bwa-mem-fastq1.fq"/>
291-
<param name="fastq_input2" ftype="fastqsanger" value="bwa-mem-fastq2.fq"/>
292-
<param name="analysis_type_selector" value="illumina"/>
287+
<conditional name="reference_source">
288+
<param name="reference_source_selector" value="history" />
289+
<param name="ref_file" ftype="fasta" value="bwa-mem-mt-genome.fa"/>
290+
</conditional>
291+
<conditional name="fastq_input">
292+
<param name="fastq_input_selector" value="paired"/>
293+
<param name="fastq_input1" ftype="fastqsanger" value="bwa-mem-fastq1.fq"/>
294+
<param name="fastq_input2" ftype="fastqsanger" value="bwa-mem-fastq2.fq"/>
295+
</conditional>
296+
<conditional name="analysis_type">
297+
<param name="analysis_type_selector" value="illumina"/>
298+
</conditional>
293299
<output name="bam_output" ftype="bam" file="bwa-mem-test1.bam" lines_diff="4" />
294300
</test>
295301
<test expect_num_outputs="1">
296-
<param name="reference_source_selector" value="history" />
297-
<param name="ref_file" ftype="fasta" value="bwa-mem-mt-genome.fa"/>
298-
<param name="fastq_input_selector" value="single"/>
299-
<param name="fastq_input1" ftype="fastqsanger" value="bwa-mem-fasta1.fa"/>
300-
<param name="analysis_type_selector" value="illumina"/>
302+
<!-- gzip-compressed reference from history; bwa reads it transparently, so output matches the plain-fasta test above -->
303+
<conditional name="reference_source">
304+
<param name="reference_source_selector" value="history" />
305+
<param name="ref_file" ftype="fasta.gz" value="bwa-mem-mt-genome.fa.gz"/>
306+
</conditional>
307+
<conditional name="fastq_input">
308+
<param name="fastq_input_selector" value="paired"/>
309+
<param name="fastq_input1" ftype="fastqsanger" value="bwa-mem-fastq1.fq"/>
310+
<param name="fastq_input2" ftype="fastqsanger" value="bwa-mem-fastq2.fq"/>
311+
</conditional>
312+
<conditional name="analysis_type">
313+
<param name="analysis_type_selector" value="illumina"/>
314+
</conditional>
315+
<output name="bam_output" ftype="bam" file="bwa-mem-test1.bam" lines_diff="4" />
316+
</test>
317+
<test expect_num_outputs="1">
318+
<conditional name="reference_source">
319+
<param name="reference_source_selector" value="history" />
320+
<param name="ref_file" ftype="fasta" value="bwa-mem-mt-genome.fa"/>
321+
</conditional>
322+
<conditional name="fastq_input">
323+
<param name="fastq_input_selector" value="single"/>
324+
<param name="fastq_input1" ftype="fastqsanger" value="bwa-mem-fasta1.fa"/>
325+
</conditional>
326+
<conditional name="analysis_type">
327+
<param name="analysis_type_selector" value="illumina"/>
328+
</conditional>
301329
<output name="bam_output" ftype="bam" file="bwa-mem-test1-fasta.bam" lines_diff="4" />
302330
</test>
303331
<test expect_num_outputs="1">
304-
<param name="reference_source_selector" value="history" />
305-
<param name="ref_file" ftype="fasta" value="bwa-mem-mt-genome.fa"/>
306-
<param name="fastq_input_selector" value="paired"/>
307-
<param name="fastq_input1" ftype="fastqsanger.gz" value="bwa-mem-fastq1.fq.gz"/>
308-
<param name="fastq_input2" ftype="fastqsanger" value="bwa-mem-fastq2.fq"/>
309-
<param name="analysis_type_selector" value="illumina"/>
332+
<conditional name="reference_source">
333+
<param name="reference_source_selector" value="history" />
334+
<param name="ref_file" ftype="fasta" value="bwa-mem-mt-genome.fa"/>
335+
</conditional>
336+
<conditional name="fastq_input">
337+
<param name="fastq_input_selector" value="paired"/>
338+
<param name="fastq_input1" ftype="fastqsanger.gz" value="bwa-mem-fastq1.fq.gz"/>
339+
<param name="fastq_input2" ftype="fastqsanger" value="bwa-mem-fastq2.fq"/>
340+
</conditional>
341+
<conditional name="analysis_type">
342+
<param name="analysis_type_selector" value="illumina"/>
343+
</conditional>
310344
<output name="bam_output" ftype="bam" file="bwa-mem-test1.bam" lines_diff="4" />
311345
</test>
312346
<test expect_num_outputs="1">
313-
<param name="reference_source_selector" value="history" />
314-
<param name="ref_file" ftype="fasta" value="bwa-mem-mt-genome.fa"/>
315-
<param name="index_a" value="is"/>
316-
<param name="fastq_input_selector" value="paired"/>
317-
<param name="fastq_input1" ftype="fastqsanger" value="bwa-mem-fastq1.fq"/>
318-
<param name="fastq_input2" ftype="fastqsanger" value="bwa-mem-fastq2.fq"/>
319-
<param name="rg_selector" value="set"/>
320-
<param name="ID" value="rg1"/>
321-
<param name="PL" value="CAPILLARY"/>
322-
<param name="LB" value="AARDVARK-1" />
323-
<param name="analysis_type_selector" value="illumina"/>
347+
<conditional name="reference_source">
348+
<param name="reference_source_selector" value="history" />
349+
<param name="ref_file" ftype="fasta" value="bwa-mem-mt-genome.fa"/>
350+
<param name="index_a" value="is"/>
351+
</conditional>
352+
<conditional name="fastq_input">
353+
<param name="fastq_input_selector" value="paired"/>
354+
<param name="fastq_input1" ftype="fastqsanger" value="bwa-mem-fastq1.fq"/>
355+
<param name="fastq_input2" ftype="fastqsanger" value="bwa-mem-fastq2.fq"/>
356+
</conditional>
357+
<conditional name="rg">
358+
<param name="rg_selector" value="set"/>
359+
<conditional name="read_group_id_conditional">
360+
<param name="do_auto_name" value="false"/>
361+
<param name="ID" value="rg1"/>
362+
</conditional>
363+
<param name="PL" value="CAPILLARY"/>
364+
<conditional name="read_group_lb_conditional">
365+
<param name="do_auto_name" value="false"/>
366+
<param name="LB" value="AARDVARK-1" />
367+
</conditional>
368+
</conditional>
369+
<conditional name="analysis_type">
370+
<param name="analysis_type_selector" value="illumina"/>
371+
</conditional>
324372
<output name="bam_output" ftype="bam" file="bwa-mem-test2.bam" lines_diff="4" />
325373
</test>
326374
<test expect_num_outputs="1">
327-
<param name="reference_source_selector" value="history" />
328-
<param name="ref_file" ftype="fasta" value="bwa-mem-mt-genome.fa"/>
329-
<param name="fastq_input_selector" value="paired"/>
330-
<param name="fastq_input1" ftype="fastqsanger" value="bwa-mem-fastq1.fq"/>
331-
<param name="fastq_input2" ftype="fastqsanger" value="bwa-mem-fastq2.fq"/>
332-
<param name="analysis_type_selector" value="illumina"/>
375+
<conditional name="reference_source">
376+
<param name="reference_source_selector" value="history" />
377+
<param name="ref_file" ftype="fasta" value="bwa-mem-mt-genome.fa"/>
378+
</conditional>
379+
<conditional name="fastq_input">
380+
<param name="fastq_input_selector" value="paired"/>
381+
<param name="fastq_input1" ftype="fastqsanger" value="bwa-mem-fastq1.fq"/>
382+
<param name="fastq_input2" ftype="fastqsanger" value="bwa-mem-fastq2.fq"/>
383+
</conditional>
384+
<conditional name="analysis_type">
385+
<param name="analysis_type_selector" value="illumina"/>
386+
</conditional>
333387
<param name="output_sort" value="unsorted"/>
334388
<output name="bam_output" ftype="qname_input_sorted.bam" file="bwa-mem-test3.bam" lines_diff="4" />
335389
</test>
336390
<test expect_num_outputs="1">
337-
<param name="reference_source_selector" value="history" />
338-
<param name="ref_file" ftype="fasta" value="bwa-mem-mt-genome.fa"/>
339-
<param name="fastq_input_selector" value="paired"/>
340-
<param name="fastq_input1" ftype="fastqsanger" value="bwa-mem-fastq1.fq"/>
341-
<param name="fastq_input2" ftype="fastqsanger" value="bwa-mem-fastq2.fq"/>
342-
<param name="analysis_type_selector" value="illumina"/>
391+
<conditional name="reference_source">
392+
<param name="reference_source_selector" value="history" />
393+
<param name="ref_file" ftype="fasta" value="bwa-mem-mt-genome.fa"/>
394+
</conditional>
395+
<conditional name="fastq_input">
396+
<param name="fastq_input_selector" value="paired"/>
397+
<param name="fastq_input1" ftype="fastqsanger" value="bwa-mem-fastq1.fq"/>
398+
<param name="fastq_input2" ftype="fastqsanger" value="bwa-mem-fastq2.fq"/>
399+
</conditional>
400+
<conditional name="analysis_type">
401+
<param name="analysis_type_selector" value="illumina"/>
402+
</conditional>
343403
<param name="output_sort" value="name"/>
344404
<output name="bam_output" ftype="qname_sorted.bam" file="bwa-mem-test4.bam" lines_diff="4" />
345405
</test>
346406
<test expect_num_outputs="1">
347-
<param name="reference_source_selector" value="history" />
348-
<param name="ref_file" ftype="fasta" value="bwa-mem-mt-genome.fa"/>
407+
<conditional name="reference_source">
408+
<param name="reference_source_selector" value="history" />
409+
<param name="ref_file" ftype="fasta" value="bwa-mem-mt-genome.fa"/>
410+
</conditional>
349411
<conditional name="fastq_input">
350412
<param name="fastq_input_selector" value="paired_collection"/>
351413
<param name="fastq_input1">

tools/bwa/bwa.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0"?>
2-
<tool id="bwa" name="Map with BWA" version="@TOOL_VERSION@" profile="22.05">
2+
<tool id="bwa" name="Map with BWA" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="22.05">
33
<description>- map short reads (&lt; 100 bp) against reference genome</description>
44
<macros>
55
<import>read_group_macros.xml</import>

tools/bwa/bwa_macros.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
<import>read_group_macros.xml</import>
33

44
<token name="@TOOL_VERSION@">0.7.19</token>
5+
<token name="@VERSION_SUFFIX@">1</token>
56

67
<token name="@pipefail@"><![CDATA[set -o | grep -q pipefail && set -o pipefail;]]></token>
78

@@ -73,7 +74,7 @@
7374
</param>
7475
</when>
7576
<when value="history">
76-
<param name="ref_file" type="data" format="fasta" label="Use the following dataset as the reference sequence" help="You can upload a FASTA sequence to the history and use it as reference" />
77+
<param name="ref_file" type="data" format="fasta,fasta.gz" label="Use the following dataset as the reference sequence" help="You can upload a FASTA sequence (optionally gzip-compressed) to the history and use it as reference" />
7778
<param name="index_a" type="select" label="Algorithm for constructing the BWT index" help="(-a)">
7879
<option value="auto">Auto. Let BWA decide the best algorithm to use</option>
7980
<option value="is">IS linear-time algorithm for constructing suffix array. It requires 5.37N memory where N is the size of the database. IS is moderately fast, but does not work with database larger than 2GB</option>
5.25 KB
Binary file not shown.

0 commit comments

Comments
 (0)