2
|
1 <tool id="blat_wrapper" name="BLAT" version="0.3">
|
0
|
2 <description></description>
|
|
3 <requirements>
|
5
|
4 <requirement type="package" version="35x1">blat</requirement>
|
0
|
5 </requirements>
|
1
|
6 <version_command>blat|head -n 1</version_command>
|
0
|
7 <command>
|
2
|
8 blat
|
|
9 #if $database_source.database_source_select == 'fasta_db'
|
|
10 $database_source.database.fields.path
|
|
11 #else if $database_source.database_source_select == 'twobit_db'
|
|
12 #if $database_source.range
|
|
13 $database_source.database.fields.path:$database_source.range
|
|
14 #else
|
|
15 $database_source.database.fields.path
|
|
16 #end if
|
|
17 #else
|
|
18 $database_source.database
|
|
19 #end if
|
|
20 $query -t=$databaseType.databaseType_select -q=$databaseType.queryType
|
0
|
21 #if str($databaseType.tileSize)
|
|
22 -tileSize=$databaseType.tileSize
|
|
23 #end if
|
|
24 #if str($stepSize)
|
|
25 -stepSize=$stepSize
|
|
26 #end if
|
|
27 #if $oneOff
|
|
28 -oneOff=1
|
|
29 #end if
|
|
30 #if str($databaseType.minMatch)
|
|
31 -minMatch=$databaseType.minMatch
|
|
32 #end if
|
|
33 #if str($minScore)
|
|
34 -minScore=$minScore
|
|
35 #end if
|
|
36 #if str($databaseType.minIdentity)
|
|
37 -minIdentity=$databaseType.minIdentity
|
|
38 #end if
|
|
39 #if str($maxGap)
|
|
40 -maxGap=$maxGap
|
|
41 #end if
|
|
42 #if str($repMatch)
|
|
43 -repMatch=$repMatch
|
|
44 #end if
|
|
45 #if $mask.mask_select
|
|
46 -mask=$mask.mask_select
|
|
47 #else if $mask.repeats
|
|
48 -repeats=$mask.repeats
|
|
49 #end if
|
|
50 #if $qMask
|
|
51 -qMask=$qMask
|
|
52 #end if
|
|
53 #if str($dots)
|
|
54 -dots=$dots
|
|
55 #end if
|
|
56 #if $trimT
|
|
57 -trimT
|
|
58 #end if
|
|
59 #if $noTrimA
|
|
60 -noTrimA
|
|
61 #end if
|
|
62 #if $trimHardA
|
|
63 -trimHardA
|
|
64 #end if
|
|
65 #if $fastMap
|
|
66 -fastMap
|
|
67 #end if
|
|
68 #if $fine
|
|
69 -fine
|
|
70 #end if
|
|
71 #if str($maxIntron)
|
|
72 -maxIntron=$maxIntron
|
|
73 #end if
|
|
74 #if $extendThroughN
|
|
75 -extendThroughN
|
|
76 #end if
|
|
77 -out=$out
|
|
78 $output > $logfile
|
|
79 </command>
|
|
80
|
|
81 <inputs>
|
2
|
82 <conditional name="database_source">
|
|
83 <param name="database_source_select" type="select" label="Database source">
|
|
84 <option value="fasta_db">Locally installed FASTA database</option>
|
|
85 <option value="twobit_db">Locally installed 2bit database</option>
|
|
86 <option value="file">FASTA or 2bit file from your history</option>
|
|
87 </param>
|
|
88 <when value="fasta_db">
|
|
89 <param name="database" type="select" label="Select a FASTA database">
|
|
90 <options from_data_table="all_fasta">
|
3
|
91 <filter type="sort_by" column="2" />
|
2
|
92 <validator type="no_options" message="No FASTA database available" />
|
|
93 </options>
|
|
94 </param>
|
|
95 </when>
|
|
96 <when value="twobit_db">
|
|
97 <param name="database" type="select" label="Select a 2bit database">
|
|
98 <options from_data_table="lastz_seqs">
|
3
|
99 <filter type="sort_by" column="1" />
|
2
|
100 <validator type="no_options" message="No 2bit database available" />
|
|
101 </options>
|
|
102 </param>
|
|
103 <param name="range" type="text" optional="true" value="" label="Restrict the search space to this genomic range in the sequence database" help="Format = 'chr1:250000-260000' (i.e. name:startposition-endposition)">
|
|
104 <validator type="regex" message="Invalid range">\w+:\d+-\d+</validator>
|
|
105 </param>
|
|
106 </when>
|
|
107 <when value="file">
|
|
108 <param name="database" type="data" format="fasta,twobit" label="Database file" help="FASTA or 2bit format" />
|
|
109 </when>
|
|
110 </conditional>
|
0
|
111 <conditional name="databaseType">
|
|
112 <param name="databaseType_select" type="select" label="Database type (-t)">
|
|
113 <option value="dna" selected="true">DNA sequence (dna)</option>
|
|
114 <option value="prot">Protein sequence (prot)</option>
|
|
115 <option value="dnax">DNA sequence translated in six frames to protein (dnax)</option>
|
|
116 </param>
|
|
117 <when value="dna">
|
|
118 <param name="queryType" type="select" label="Select the query type (-q)">
|
|
119 <option value="dna" selected="true">DNA sequence (dna)</option>
|
|
120 <option value="rna">RNA sequence (rna)</option>
|
|
121 </param>
|
|
122 <param name="tileSize" type="integer" value="11" min="6" max="18" optional="true" label="Size of match that triggers an alignment (-tileSize)" help="Usually between 8 and 12" />
|
|
123 <param name="minMatch" type="integer" value="2" optional="true" label="Number of tile matches (-minMatch)">
|
|
124 <validator type="in_range" min="1" />
|
|
125 </param>
|
|
126 <param name="minIdentity" type="integer" value="90" optional="true" label="Minimum sequence identity (%) (-minIdentity)" />
|
|
127 </when>
|
|
128 <when value="prot">
|
|
129 <param name="queryType" type="select" label="Select the query type (-q)">
|
|
130 <option value="prot">Protein sequence (prot)</option>
|
|
131 </param>
|
|
132 <param name="tileSize" type="integer" value="5" min="3" max="8" optional="true" label="Size of match that triggers an alignment (-tileSize)" help="Usually between 8 and 12" />
|
|
133 <param name="minMatch" type="integer" value="1" optional="true" label="Number of tile matches (-minMatch)">
|
|
134 <validator type="in_range" min="1" />
|
|
135 </param>
|
|
136 <param name="minIdentity" type="integer" value="25" optional="true" label="Minimum sequence identity (%) (-minIdentity)" />
|
|
137 </when>
|
|
138 <when value="dnax">
|
|
139 <param name="queryType" type="select" label="Select the query type (-q)">
|
|
140 <option value="prot">Protein sequence (prot)</option>
|
|
141 <option value="dnax">DNA sequence translated in six frames to protein (dnax)</option>
|
|
142 <option value="rnax">DNA sequence translated in three frames to protein (rnax)</option>
|
|
143 </param>
|
|
144 <param name="tileSize" type="integer" value="5" min="3" max="8" optional="true" label="Size of match that triggers an alignment (-tileSize)" help="Usually between 8 and 12" />
|
|
145 <param name="minMatch" type="integer" value="1" optional="true" label="Number of tile matches (-minMatch)">
|
|
146 <validator type="in_range" min="1" />
|
|
147 </param>
|
|
148 <param name="minIdentity" type="integer" value="25" optional="true" label="Minimum sequence identity (%) (-minIdentity)" />
|
|
149 </when>
|
|
150 </conditional>
|
2
|
151 <param name="query" type="data" format="fasta,twobit" label="Query" help="FASTA or 2bit format" />
|
0
|
152 <!-- <param name="ooc" type="data" format="ooc" optional="true" label="Over-occuring N-mers file (-ooc) produced with blat -makeOoc" help="Use N as tileSize below." /> This should wait for a makeOoc wrapper -->
|
|
153
|
|
154 <param name="stepSize" type="integer" value="" optional="true" label="Spacing between tiles (-stepSize)" help="Default is tileSize">
|
|
155 <validator type="in_range" min="1" />
|
|
156 </param>
|
|
157
|
|
158 <param name="oneOff" type="boolean" checked="false" label="If set, this allows one mismatch in tile and still triggers an alignments (-oneOff)" />
|
|
159
|
|
160 <param name="minScore" type="integer" value="30" optional="true" label="Minimum score (-minScore)" help="It is the matches minus the mismatches minus some sort of gap penalty" />
|
|
161
|
|
162 <param name="maxGap" type="integer" value="2" optional="true" label="Maximum gap between tiles in a clump (-maxGap)" help="Usually set from 0 to 3. Only relevant for minMatch > 1" />
|
|
163
|
|
164 <!-- <param name="makeOoc" type="boolean" checked="false" label="Make overused tile file N.ooc (-makeOoc)" help="Target needs to be a complete genome" /> This should go in a separate wrapper since after making the ooc file, blat exits -->
|
|
165
|
|
166 <param name="repMatch" type="integer" value="" optional="true" label="Number of repetitions of a tile allowed before it is marked as overused (-repMatch)" help="Typically this is 256 for tileSize 12, 1024 for tileSize 11, 4096 for tileSize 10. Also affected by stepSize. When stepSize is halved repMatch is doubled to compensate" />
|
|
167
|
|
168 <conditional name="mask">
|
|
169 <param name="mask_select" type="select" label="Mask out repeats in database sequences (-mask)" help="Alignments won't be started in masked region but may extend through it in nucleotide searches. Masked areas are ignored completely in protein or translated searches">
|
|
170 <option value="">No masking</option>
|
|
171 <option value="lower">Mask out lower cased sequence</option>
|
|
172 <option value="upper">Mask out upper cased sequence</option>
|
|
173 <!-- <option value="out">Mask out according to database.out RepeatMasker.out file</option>
|
|
174 <option value="file.out">Mask database according to RepeatMasker file.out</option>-->
|
|
175 </param>
|
|
176 <when value="">
|
|
177 <param name="repeats" type="select" label="Select repeat type if matches in repeat areas should be reported separately from matches in other areas (-repeats)">
|
|
178 <option value="">No masking</option>
|
|
179 <option value="lower">Mask out lower cased sequence</option>
|
|
180 <option value="upper">Mask out upper cased sequence</option>
|
|
181 <!-- <option value="out">Mask out according to database.out RepeatMasker.out file</option>
|
|
182 <option value="file.out">Mask database according to RepeatMasker file.out</option>-->
|
|
183 </param>
|
|
184 </when>
|
|
185 <when value="lower" />
|
|
186 <when value="upper" />
|
|
187 </conditional>
|
|
188 <param name="qMask" type="select" label="Mask out repeats in query sequences (-qMask)">
|
|
189 <option value="">No masking</option>
|
|
190 <option value="lower">Mask out lower cased sequence</option>
|
|
191 <option value="upper">Mask out upper cased sequence</option>
|
|
192 <!-- <option value="out">Mask out according to database.out RepeatMasker .out file</option>
|
|
193 <option value="file.out">Mask database according to RepeatMasker file.out</option>-->
|
|
194 </param>
|
|
195 <!-- <param name="minRepDivergence" type="integer" optional="true" value="15" label="Minimum percent divergence of repeats to allow them to be unmasked (-minRepDivergence)" help="Only relevant for masking using RepeatMasket .out files" />-->
|
|
196
|
|
197 <param name="dots" type="integer" value="" optional="true" label="Output a dot every N sequences in log (-dots)" help="Dots show program's progress" />
|
|
198
|
|
199 <param name="trimT" type="boolean" checked="false" label="Trim leading poly-T (-trimT)" />
|
|
200
|
|
201 <param name="noTrimA" type="boolean" checked="false" label="Don't trim trailing poly-A (-noTrimA)" />
|
|
202
|
|
203 <param name="trimHardA" type="boolean" checked="false" label="Remove poly-A tail from qSize and alignments in .psl output (-trimHardA)" />
|
|
204
|
|
205 <param name="fastMap" type="boolean" checked="false" label="Run for fast DNA/DNA remapping (-fastMap)" help="It does not allow introns and require high %ID. Query sizes must not exceed 5000" />
|
|
206
|
|
207 <param name="fine" type="boolean" checked="false" label="Refine search for small initial and terminal exons (-fine)" help="For high-quality mRNAs. Not recommended for ESTs" />
|
|
208 <param name="maxIntron" type="integer" value="750000" optional="true" label="Maximum intron size (-maxIntron)" />
|
|
209 <param name="extendThroughN" type="boolean" checked="false" label="Allow extension of alignment through large blocks of N's (-extendThroughN)" />
|
|
210 <param name="out" type="select" label="Select output file format (-out)">
|
|
211 <option value="psl">Tab-separated format, no sequence (psl)</option>
|
|
212 <option value="psl -noHead">Tab-separated format, no sequence, no header (psl -noHead)</option>
|
|
213 <option value="pslx">Tab-separated format with sequence (pslx)</option>
|
|
214 <option value="pslx -noHead">Tab-separated format with sequence, no header (pslx -noHead)</option>
|
|
215 <option value="axt">Blastz-associated axt format (axt)</option>
|
|
216 <option value="maf">Multiz-associated maf format (maf)</option>
|
|
217 <option value="sim4">Similar to sim4 format (sim4)</option>
|
|
218 <option value="wublast">Similar to WU-BLAST format (wublast)</option>
|
|
219 <option value="blast">Similar to NCBI BLAST format (blast)</option>
|
|
220 <option value="blast8">NCBI BLAST tabular format (blast8)</option>
|
|
221 <option value="blast9">NCBI BLAST tabular format with comments (blast9)</option>
|
|
222 </param>
|
|
223 </inputs>
|
|
224
|
|
225 <outputs>
|
|
226 <data name="logfile" format="txt" label="${tool.name} on ${on_string}: log" />
|
|
227 <data name="output" format="txt" label="${tool.name} on ${on_string}: alignment">
|
|
228 <change_format>
|
|
229 <when input="out" value="psl -noHead" format="tabular" />
|
|
230 <when input="out" value="pslx -noHead" format="tabular" />
|
|
231 <when input="out" value="axt" format="axt" />
|
|
232 <when input="out" value="maf" format="maf" />
|
|
233 <when input="out" value="blast8" format="tabular" />
|
|
234 </change_format>
|
|
235 </data>
|
|
236 </outputs>
|
|
237 <tests>
|
1
|
238 <test>
|
2
|
239 <param name="database_source_select" value="file" />
|
1
|
240 <param name="database" value="databasetest1.fasta" ftype="fasta" />
|
|
241 <param name="databaseType_select" value="dna" />
|
|
242 <param name="queryType" value="dna" />
|
2
|
243 <param name="query" value="input83.fasta" ftype="fasta" />
|
1
|
244 <param name="tileSize" value="11" />
|
|
245 <param name="minMatch" value="2" />
|
|
246 <param name="stepSize" value="11" />
|
|
247 <param name="oneOff" value="false" />
|
|
248 <param name="minScore" value="30" />
|
|
249 <param name="maxGap" value="2" />
|
|
250 <param name="mask_select" value="lower" />
|
|
251 <param name="qMask" value="lower" />
|
|
252 <param name="trimT" value="true" />
|
|
253 <param name="noTrimA" value="false" />
|
|
254 <param name="fine" value="false" />
|
|
255 <param name="maxIntron" value="750000" />
|
|
256 <param name="extendThroughN" value="false" />
|
|
257 <param name="out" value="blast8" />
|
|
258 <output name="logfile" file="log.txt" />
|
|
259 <output name="output" file="outputtest1.txt" />
|
|
260 </test>
|
0
|
261 </tests>
|
|
262 <help>
|
|
263 **What it does**
|
|
264
|
|
265 BLAT produces two major classes of alignments:
|
|
266
|
|
267 - at the DNA level between two sequences that are of 95% or greater identity, but which may include large inserts;
|
|
268 - at the protein or translated DNA level between sequences that are of 80% or greater identity and may also include large inserts.
|
|
269
|
|
270 The output of BLAT is flexible. By default it is a simple tab-delimited file which describes the alignment, but which does not include the sequence of the alignment itself. Optionally it can produce BLAST and WU-BLAST compatible output as well as a number of other formats.
|
|
271
|
|
272 **License and citation**
|
|
273
|
|
274 This Galaxy tool is Copyright © 2013 `CRS4 Srl.`_ and is released under the `MIT license`_.
|
|
275
|
|
276 .. _CRS4 Srl.: http://www.crs4.it/
|
|
277 .. _MIT license: http://opensource.org/licenses/MIT
|
|
278
|
|
279 If you use this tool in Galaxy, please cite |Cuccuru2013|_.
|
|
280
|
|
281 .. |Cuccuru2013| replace:: Cuccuru, G., Orsini, M., Pinna, A., Sbardellati, A., Soranzo, N., Travaglione, A., Uva, P., Zanetti, G., Fotia, G. (2013) Orione, a web-based framework for NGS analysis in microbiology. *Submitted*
|
|
282 .. _Cuccuru2013: http://orione.crs4.it/
|
|
283
|
|
284 This tool uses `BLAT`_, which is licensed separately. Please cite |Kent2002|_.
|
|
285
|
|
286 .. _BLAT: http://genome.ucsc.edu/FAQ/FAQblat.html
|
|
287 .. |Kent2002| replace:: Kent, W. J. (2002) BLAT – The BLAST-Like Alignment Tool. *Genome Res.* 12(4), 656-664
|
|
288 .. _Kent2002: http://genome.cshlp.org/content/12/4/656
|
|
289 </help>
|
|
290 </tool>
|