0
|
1 <tool id="bwa_mem" name="Map with BWA-MEM" version="0.7.7">
|
|
2 <requirements>
|
|
3 <requirement type="package" version="0.7.7">bwa</requirement>
|
|
4 </requirements>
|
|
5 <description></description>
|
|
6 <parallelism method="basic"></parallelism>
|
|
7 <version_command>bwa 2>&1 | grep "Version: " | sed -e 's/Version: //'</version_command>
|
|
8 <command interpreter="python">
|
|
9 bwa_mem.py
|
|
10 --threads="\${GALAXY_SLOTS:-1}"
|
|
11 --fileSource="${genomeSource.refGenomeSource}"
|
|
12 #if $genomeSource.refGenomeSource == "history":
|
|
13 ##build index on the fly
|
|
14 --ref="${genomeSource.ownFile}"
|
|
15 --dbkey="${dbkey}"
|
|
16 #else:
|
|
17 ##use precomputed indexes
|
|
18 --ref="${genomeSource.indices.fields.path}"
|
|
19 #end if
|
|
20
|
|
21 ## input file(s)
|
|
22 --fastq="${paired.fastq}"
|
|
23 #if $paired.sPaired == "paired":
|
|
24 --rfastq="${paired.rfastq}"
|
|
25 #end if
|
|
26
|
|
27 ## output file
|
|
28 --output="${output}"
|
|
29
|
|
30 ## run parameters
|
|
31 --genAlignType="${paired.sPaired}"
|
|
32 --params="${params.source_select}"
|
|
33 #if $params.source_select != "pre_set":
|
|
34 --minEditDistSeed="${params.minEditDistSeed}"
|
|
35 --bandWidth="${params.bandWidth}"
|
|
36 --offDiagonal="${params.offDiagonal}"
|
|
37 --internalSeeds="${params.internalSeeds}"
|
|
38 --seedsOccurrence="${params.seedsOccurrence}"
|
|
39 --mateRescue="${params.mateRescue}"
|
|
40 --skipPairing="${params.skipPairing}"
|
|
41 --seqMatch="${params.seqMatch}"
|
|
42 --mismatch="${params.mismatch}"
|
|
43 --gapOpen="${params.gapOpen}"
|
|
44 --gapExtension="${params.gapExtension}"
|
|
45 --clipping="${params.clipping}"
|
|
46 --unpairedReadpair="${params.unpairedReadpair}"
|
|
47 --interPairEnd="${params.interPairEnd}"
|
|
48 --minScore="${params.minScore}"
|
|
49 --mark="${params.mark}"
|
|
50
|
|
51 #if $params.readGroup.specReadGroup == "yes"
|
|
52 --rgid="${params.readGroup.rgid}"
|
|
53 --rgsm="${params.readGroup.rgsm}"
|
|
54 --rgpl="${params.readGroup.rgpl}"
|
|
55 --rglb="${params.readGroup.rglb}"
|
|
56 --rgpu="${params.readGroup.rgpu}"
|
|
57 --rgcn="${params.readGroup.rgcn}"
|
|
58 --rgds="${params.readGroup.rgds}"
|
|
59 --rgdt="${params.readGroup.rgdt}"
|
|
60 --rgfo="${params.readGroup.rgfo}"
|
|
61 --rgks="${params.readGroup.rgks}"
|
|
62 --rgpg="${params.readGroup.rgpg}"
|
|
63 --rgpi="${params.readGroup.rgpi}"
|
|
64 #end if
|
|
65 #end if
|
|
66
|
|
67 ## suppress output SAM header
|
|
68 --suppressHeader="${suppressHeader}"
|
|
69 </command>
|
|
70
|
|
71 <inputs>
|
|
72 <conditional name="genomeSource">
|
|
73 <param name="refGenomeSource" type="select" label="Will you select a reference genome from your history or use a built-in index?">
|
|
74 <option value="indexed">Use a built-in index</option>
|
|
75 <option value="history">Use one from the history</option>
|
|
76 </param>
|
|
77 <when value="indexed">
|
|
78 <param name="indices" type="select" label="Select a reference genome">
|
|
79 <options from_data_table="bwa_indexes">
|
|
80 <filter type="sort_by" column="2" />
|
|
81 <validator type="no_options" message="No indexes are available" />
|
|
82 </options>
|
|
83 </param>
|
|
84 </when>
|
|
85 <when value="history">
|
|
86 <param name="ownFile" type="data" format="fasta" metadata_name="dbkey" label="Select a reference from history" />
|
|
87 </when>
|
|
88 </conditional>
|
|
89 <conditional name="paired">
|
|
90 <param name="sPaired" type="select" label="Is this library mate-paired?">
|
|
91 <option value="single">Single-end</option>
|
|
92 <option value="paired">Paired-end</option>
|
|
93 </param>
|
|
94 <when value="single">
|
|
95 <param name="fastq" type="data" format="fastqsanger,fastqillumina" label="FASTQ file" help="FASTQ with either Sanger-scaled quality values (fastqsanger) or Illumina-scaled quality values (fastqillumina)" />
|
|
96 </when>
|
|
97 <when value="paired">
|
|
98 <param name="fastq" type="data" format="fastqsanger,fastqillumina" label="Forward FASTQ file" help="FASTQ with either Sanger-scaled quality values (fastqsanger) or Illumina-scaled quality values (fastqillumina)" />
|
|
99 <param name="rfastq" type="data" format="fastqsanger,fastqillumina" label="Reverse FASTQ file" help="FASTQ with either Sanger-scaled quality values (fastqsanger) or Illumina-scaled quality values (fastqillumina)" />
|
|
100 </when>
|
|
101 </conditional>
|
|
102 <conditional name="params">
|
|
103 <param name="source_select" type="select" label="BWA settings to use" help="For most mapping needs use Commonly Used settings. If you want full control use Full Parameter List">
|
|
104 <option value="pre_set">Commonly Used</option>
|
|
105 <option value="full">Full Parameter List</option>
|
|
106 </param>
|
|
107 <when value="pre_set" />
|
|
108 <when value="full">
|
|
109 <param name="minEditDistSeed" type="integer" value="19" label="Minimum seed length" />
|
|
110 <param name="bandWidth" type="integer" value="100" label="Band width for banded alignment" />
|
|
111 <param name="offDiagonal" type="integer" value="100" label="off-diagonal X-dropoff" />
|
|
112 <param name="internalSeeds" type="float" value="1.5" label="look for internal seeds inside a seed longer than {-k} * FLOAT [1.5]" />
|
|
113 <param name="seedsOccurrence" type="integer" value="10000" label="skip seeds with more than INT occurrences" />
|
|
114 <param name="mateRescue" type="boolean" truevalue="True" falsevalue="False" checked="False" label="skip seeds with more than INT occurrences" />
|
|
115 <param name="skipPairing" type="boolean" truevalue="True" falsevalue="False" checked="False" label="skpe pairing, mate rescue performed unless -S also in use" />
|
|
116 <param name="seqMatch" type="integer" value="1" label="score of a sequence match" />
|
|
117 <param name="mismatch" type="integer" value="4" label="penalty for a mismatch" />
|
|
118 <param name="gapOpen" type="integer" value="6" label="gap open penalty" />
|
|
119 <param name="gapExtension" type="text" value="None" label="gap extension penalty; a gap of size k cost {-O} + {-E}*k [1]" />
|
|
120 <param name="clipping" type="integer" value="5" label="penalty for clipping" />
|
|
121 <param name="unpairedReadpair" type="integer" value="17" label="penalty for an unpaired read pair" />
|
|
122 <param name="interPairEnd" type="boolean" truevalue="True" falsevalue="False" checked="False" label="first query file consists of interleaved paired-end sequences" />
|
|
123 <param name="minScore" type="integer" value="30" label="minimum score to output" />
|
|
124 <param name="mark" type="boolean" truevalue="True" falsevalue="False" checked="False" label="mark shorter split hits as secondary (for Picard/GATK compatibility)" />
|
|
125
|
|
126 <conditional name="readGroup">
|
|
127 <param name="specReadGroup" type="select" label="Specify the read group for this file? (samse/sampe -r)">
|
|
128 <option value="yes">Yes</option>
|
|
129 <option value="no" selected="True">No</option>
|
|
130 </param>
|
|
131 <when value="yes">
|
|
132 <param name="rgid" type="text" size="25" label="[Essential]Read group identifier (ID). Each @RG line must have a unique ID. The value of ID is used in the RG
|
|
133 tags of alignment records. Must be unique among all read groups in header section." help="Required if RG specified. Read group
|
|
134 IDs may be modified when merging SAM files in order to handle collisions." />
|
|
135 <param name="rgpl" type="text" size="25" label="[Essential]Platform/technology used to produce the reads (PL)" help="Required if RG specified. Valid values : CAPILLARY, LS454, ILLUMINA,
|
|
136 SOLID, HELICOS, IONTORRENT and PACBIO" />
|
|
137 <param name="rglb" type="text" size="25" label="[Essential]Library name (LB)" help="Required if RG specified" />
|
|
138 <param name="rgsm" type="text" size="25" label="[Essential]Sample (SM)" help="Required if RG specified. Use pool name where a pool is being sequenced" />
|
|
139 <param name="rgpu" type="text" size="25" label="Platform unit (PU)" help="Optional. Unique identifier (e.g. flowcell-barcode.lane for Illumina or slide for SOLiD)" />
|
|
140 <param name="rgcn" type="text" size="25" label="Sequencing center that produced the read (CN)" help="Optional" />
|
|
141 <param name="rgds" type="text" size="25" label="Description (DS)" help="Optional" />
|
|
142 <param name="rgdt" type="text" size="25" label="Date that run was produced (DT)" help="Optional. ISO8601 format date or date/time, like YYYY-MM-DD" />
|
|
143 <param name="rgfo" type="text" size="25" label="Flow order (FO). The array of nucleotide bases that correspond to the nucleotides used for each
|
|
144 flow of each read." help="Optional. Multi-base flows are encoded in IUPAC format, and non-nucleotide flows by
|
|
145 various other characters. Format : /\*|[ACMGRSVTWYHKDBN]+/" />
|
|
146 <param name="rgks" type="text" size="25" label="The array of nucleotide bases that correspond to the key sequence of each read (KS)" help="Optional" />
|
|
147 <param name="rgpg" type="text" size="25" label="Programs used for processing the read group (PG)" help="Optional" />
|
|
148 <param name="rgpi" type="text" size="25" label="Predicted median insert size (PI)" help="Optional" />
|
|
149 </when>
|
|
150 <when value="no" />
|
|
151 </conditional>
|
|
152 </when>
|
|
153 </conditional>
|
|
154 <param name="suppressHeader" type="boolean" truevalue="true" falsevalue="false" checked="False" label="Suppress the header in the output SAM file" help="BWA produces SAM with several lines of header information" />
|
|
155 </inputs>
|
|
156
|
|
157 <outputs>
|
|
158 <data format="sam" name="output" label="${tool.name} on ${on_string}: mapped reads">
|
|
159 <actions>
|
|
160 <conditional name="genomeSource.refGenomeSource">
|
|
161 <when value="indexed">
|
|
162 <action type="metadata" name="dbkey">
|
|
163 <option type="from_data_table" name="bwa_indexes" column="1">
|
|
164 <filter type="param_value" column="0" value="#" compare="startswith" keep="False"/>
|
|
165 <filter type="param_value" ref="genomeSource.indices" column="0"/>
|
|
166 </option>
|
|
167 </action>
|
|
168 </when>
|
|
169 <when value="history">
|
|
170 <action type="metadata" name="dbkey">
|
|
171 <option type="from_param" name="genomeSource.ownFile" param_attribute="dbkey" />
|
|
172 </action>
|
|
173 </when>
|
|
174 </conditional>
|
|
175 </actions>
|
|
176 </data>
|
|
177 </outputs>
|
|
178
|
|
179 <tests>
|
|
180 <test>
|
|
181 </test>
|
|
182 <test>
|
|
183 </test>
|
|
184 <test>
|
|
185 </test>
|
|
186 </tests>
|
|
187 <help>
|
|
188 **What it does**
|
|
189
|
|
190 BWA is a software package for mapping low-divergent sequences against a large reference genome, such as the human genome. BWA-MEM, which is the latest algorithm, is generally recommended for high-quality queries as it is faster and more accurate. BWA-MEM also has better performance than BWA-backtrack for 70-100bp Illumina reads.
|
|
191
|
|
192 ------
|
|
193
|
|
194 **Input formats**
|
|
195
|
|
196 BWA accepts files in either Sanger FASTQ format (galaxy type *fastqsanger*) or Illumina FASTQ format (galaxy type *fastqillumina*). Use the FASTQ Groomer to prepare your files.
|
|
197
|
|
198 ------
|
|
199
|
|
200 **License and citation**
|
|
201
|
|
202 This tool uses `BWA`_, which is licensed separately. Please cite |Li2013|_.
|
|
203
|
|
204 .. _BWA: http://bio-bwa.sourceforge.net/
|
|
205 .. |Li2013| replace:: Li, H. (2013) Aligning sequence reads, clone sequences and assembly contigs with BWA-MEM. arXiv:1303.3997 [q-bio.GN]
|
|
206 .. _Li2013: http://arxiv.org/abs/1303.3997
|
|
207 </help>
|
|
208 </tool>
|