57
|
1 <tool id="pl_diamond" name="PL_Diamond" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="19.01">
|
|
2 <description>alignment tool for short sequences against a protein database</description>
|
|
3 <macros>
|
|
4 <import>macros.xml</import>
|
|
5 </macros>
|
|
6 <expand macro="stdio" />
|
|
7 <expand macro="version_command" />
|
|
8 <command detect_errors="aggressive">
|
|
9 <![CDATA[
|
|
10
|
|
11 #if $ref_db_source.db_source == "history":
|
|
12 ln -s $ref_db_source.reference_database ./database.dmnd<
|
|
13 #end if
|
|
14
|
|
15 &&
|
|
16
|
|
17 /usr/bin/diamond
|
|
18 $method_cond.method_select
|
|
19 --quiet
|
|
20 --threads "\${GALAXY_SLOTS:-12}"
|
|
21 #if $ref_db_source.db_source == "history":
|
|
22 --db ./database
|
|
23 #else
|
|
24 --db $ref_db_source.index.fields.db_path
|
|
25 #end if
|
|
26 --query '$query'
|
|
27 #if $method_cond.method_select == "blastx"
|
|
28 --query-gencode '$method_cond.query_gencode'
|
|
29 --strand '$method_cond.query_strand'
|
|
30 --min-orf $method_cond.min_orf
|
|
31 #if $method_cond.frameshift_cond.frameshift_select == 'yes'
|
|
32 --frameshift $method_cond.frameshift_cond.frameshift
|
|
33 $method_cond.frameshift_cond.range_culling
|
|
34 #end if
|
|
35 #else if $method_cond.method_select == "blastp"
|
|
36 $method_cond.no_self_hits
|
|
37 #end if
|
|
38
|
|
39 @OUTPUT_ARGS@
|
|
40
|
|
41 #if $output_section.output.outfmt != '100'
|
|
42 --compress '0'
|
|
43 #end if
|
|
44 $sens_cond.sensitivity
|
|
45 $iterate
|
|
46 --algo $algo
|
|
47 #if $global_ranking
|
|
48 --global-ranking $global_ranking
|
|
49 #end if
|
|
50 #if str($gapopen) != "":
|
|
51 --gapopen '$gapopen'
|
|
52 #end if
|
|
53 #if str($gapextend) != "":
|
|
54 --gapextend '$gapextend'
|
|
55 #end if
|
|
56 --matrix '$matrix'
|
|
57 --comp-based-stats '$method_cond.comp_based_stats'
|
|
58 --masking '$masking'
|
|
59
|
|
60 @HITFILTER_ARGS@
|
|
61
|
|
62 #if str($filter_score.filter_score_select) == 'evalue':
|
|
63 --evalue '$filter_score.evalue'
|
|
64 #else:
|
|
65 --min-score '$filter_score.min_score'
|
|
66 #end if
|
|
67
|
|
68 --id '$id'
|
|
69 --query-cover '$query_cover'
|
|
70 --subject-cover '$subject_cover'
|
|
71 --block-size '$sens_cond.block_size'
|
|
72 #if $output_section.output_unal
|
|
73 #if "--un" in $output_section.output_unal
|
|
74 --un '$unalqueries'
|
|
75 #if $query.ext.startswith("fasta"):
|
|
76 --unfmt fasta
|
|
77 #else
|
|
78 --unfmt fastq
|
|
79 #end if
|
|
80 #end if
|
|
81 #if "--al" in $output_section.output_unal
|
|
82 --al '$alqueries'
|
|
83 #if $query.ext.startswith("fasta"):
|
|
84 --alfmt fasta
|
|
85 #else
|
|
86 --alfmt fastq
|
|
87 #end if
|
|
88 #end if
|
|
89 #end if
|
|
90 #if $output_section.max_hsps
|
|
91 --max-hsps $output_section.max_hsps
|
|
92 #end if
|
|
93 #if $tax_cond.tax_select == 'file':
|
|
94 --taxonlist `cat '$tax_cond.taxonlistfile' | grep -v "^#" | grep -v "^$" | tr "\n" "," | sed 's/,$//'`
|
|
95 #else if $tax_cond.tax_select == 'list':
|
|
96 --taxonlist '$tax_cond.taxonlist'
|
|
97 #end if
|
|
98 #if $advanced_section.seed_cut
|
|
99 --seed-cut $advanced_section.seed_cut
|
|
100 #end if
|
|
101 $advanced_section.freq_masking
|
|
102 --motif-masking $advanced_section.motif_masking
|
|
103 ]]>
|
|
104 </command>
|
|
105 <inputs>
|
|
106 <conditional name="method_cond">
|
|
107 <param name="method_select" type="select" label="Alignment mode" help="(blastp/blastx)">
|
|
108 <option value="blastp">Amino acid query sequences (blastp)</option>
|
|
109 <option value="blastx">DNA query sequences (blastx)</option>
|
|
110 </param>
|
|
111 <when value="blastx">
|
|
112 <param argument="--query-gencode" type="select" label="Genetic code used for translation of query in BLASTX mode" help="">
|
|
113 <option value="1">Standard Code</option>
|
|
114 <option value="2">Vertebrate Mitochondrial Code</option>
|
|
115 <option value="3">Yeast Mitochondrial Code</option>
|
|
116 <option value="4">Mold, Protozoan, and Coelenterate Mitochondrial Code and the Mycoplasma/Spiroplasma Code</option>
|
|
117 <option value="5">Invertebrate Mitochondrial Code</option>
|
|
118 <option value="6">Ciliate, Dasycladacean and Hexamita Nuclear Code</option>
|
|
119 <option value="9">Echinoderm and Flatworm Mitochondrial Code</option>
|
|
120 <option value="10">Euplotid Nuclear Code</option>
|
|
121 <option value="11">Bacterial, Archaeal and Plant Plastid Code</option>
|
|
122 <option value="12">Alternative Yeast Nuclear Code</option>
|
|
123 <option value="13">Ascidian Mitochondrial Code</option>
|
|
124 <option value="14">Alternative Flatworm Mitochondrial Code</option>
|
|
125 <option value="16">Chlorophycean Mitochondrial Code</option>
|
|
126 <option value="21">Trematode Mitochondrial Code</option>
|
|
127 <option value="22">Scenedesmus obliquus Mitochondrial Code</option>
|
|
128 <option value="23">Thraustochytrium Mitochondrial Code</option>
|
|
129 <option value="24">Pterobranchia Mitochondrial Code</option>
|
|
130 <option value="25">Candidate Division SR1 and Gracilibacteria Code</option>
|
|
131 <option value="26">Pachysolen tannophilus Nuclear Code</option>
|
|
132 </param>
|
|
133 <param argument="--min-orf" type="integer" value="1" label="ignore translated sequences without an open reading frame of at least this length" help="By default this feature is disabled for sequences of length below 30, set to 20 for sequences of length below 100, and set to 40 otherwise. Setting this option to 1 will disable this feature" />
|
|
134
|
|
135 <param name="query_strand" argument="--strand" type="select" label="query strands to search" help="">
|
|
136 <option value="both" selected="True">Both</option>
|
|
137 <option value="plus">Plus</option>
|
|
138 <option value="minus">Minus</option>
|
|
139 </param>
|
|
140 <conditional name="frameshift_cond">
|
|
141 <param name="frameshift_select" type="select" label="Allow for frameshifts?" help="">
|
|
142 <option value="yes">yes</option>
|
|
143 <option value="no" selected="true">no</option>
|
|
144 </param>
|
|
145 <when value="yes">
|
|
146 <param argument="--range-culling" type="boolean" truevalue="--range-culling" falsevalue="" checked="false" label="restrict hit culling to overlapping query ranges" help="This feature is designed for long query DNA sequences that may span several genes. In these cases, the default of reporting the 25 best overall hits could cause hits to a lower scoring gene to be overshadowed. But just increasing the number of alignments reported will bloat the output size and reduce performance. Using this feature along with -k 25 (default), a hit will only be deleted if at least 50% of its query range is spanned by at least 25 higher or equal scoring hits. Using this feature along with --top 10, a hit will only be deleted if its score is more than 10% lower than that of a higher scoring hit over at least 50% of its query range. The percentage is configurable using --range-cover. Note that this feature is currently only available in frameshift alignment mode"/>
|
|
147 <param argument="--frameshift" type="integer" value="0" label="frame shift penalty" help="Values around 15 are reasonable for this parameter. Enabling this feature will have the aligner tolerate missing bases in DNA sequences and is most recommended for long, error-prone sequences like MinION reads. In the pairwise output format, frameshifts will be indicated by \ and / for a shift by +1 and -1 nucleotide in the direction of translation respectively." />
|
|
148 </when>
|
|
149 <when value="no"/>
|
|
150 </conditional>
|
|
151
|
|
152 <param argument="--comp-based-stats" type="select" label="Composition based statistics" help="Compositionally biased sequences often cause false positive matches, which are effectively filtered by this algorithm in a way similar to the composition based statistics used by BLAST">
|
|
153 <option value="0">Disable</option>
|
|
154 <option value="1" selected="True">Default mode (Hauser, 2016)</option>
|
|
155 </param>
|
|
156 </when>
|
|
157 <when value="blastp">
|
|
158 <param argument="--no-self-hits" type="boolean" truevalue="--no-self-hits" falsevalue="" checked="true"
|
|
159 label="Suppress reporting of identical self-hits between sequences"
|
|
160 help="The FASTA sequence identifiers as well as the sequences of query and target need to be identical for a hit to be deleted"/>
|
|
161
|
|
162 <param argument="--comp-based-stats" type="select" label="Composition based statistics" help="Compositionally biased sequences often cause false positive matches, which are effectively filtered by this algorithm in a way similar to the composition based statistics used by BLAST">
|
|
163 <option value="0">Disable</option>
|
|
164 <option value="1" selected="True">Default mode (Hauser, 2016)</option>
|
|
165 <option value="2">Compositional matrix adjust conditioned on sequence properties, simplified (Yu, 2005)</option>
|
|
166 <option value="3">Compositional matrix adjust conditioned on sequence properties (Yu, 2005)</option>
|
|
167 <option value="4">Compositional matrix adjust unconditionally (Yu, 2005)</option>
|
|
168 </param>
|
|
169 </when>
|
|
170 </conditional>
|
|
171 <param argument="--query" type="data" format="fasta,fastq" label="Input query file in FASTA or FASTQ format" />
|
|
172 <conditional name="ref_db_source">
|
|
173 <param name="db_source" type="select" label="Will you select a reference database from your history or use a built-in index?" help="Built-ins were indexed using default options">
|
|
174 <option value="indexed">Use a built-in index</option>
|
|
175 <option value="history">Use one from the history</option>
|
|
176 </param>
|
|
177 <when value="indexed">
|
|
178 <param name="index" type="select" label="Select a reference database" help="If your database of interest is not listed, contact your Galaxy admin">
|
|
179 <options from_data_table="pl_diamond_database">
|
|
180 <filter type="sort_by" column="2"/>
|
|
181 <validator type="no_options" message="No indexes are available for the selected input dataset"/>
|
|
182 </options>
|
|
183 </param>
|
|
184 </when>
|
|
185 <when value="history">
|
|
186 <param name="reference_database" argument="--db" type="data" format="dmnd" label="Select the reference database" />
|
|
187 </when>
|
|
188 </conditional>
|
|
189 <conditional name="tax_cond">
|
|
190 <param name="tax_select" type="select" label="Restrict search taxonomically?" help="Any taxonomic rank can be used, and only reference sequences matching one of the specified taxon ids will be searched against.">
|
|
191 <option value="no" selected="True">No</option>
|
|
192 <option value="list">List of taxids entered manually</option>
|
|
193 <option value="file">List of taxids from single column tabular file</option>
|
|
194 </param>
|
|
195 <when value="no"/>
|
|
196 <when value="list">
|
|
197 <param name="taxonlist" argument="--taxonlist" type="text" value="" label="Comma separated list of taxon ids" help="">
|
|
198 <validator type="regex" message="Taxonlist needs to be a comma separated list of integers">[0-9,]*</validator>
|
|
199 </param>
|
|
200 </when>
|
|
201 <when value="file">
|
|
202 <param name="taxonlistfile" argument="--taxonlist" type="data" format="tabular" label="Keep alignments within the given percentage range of the top alignment score for a quer" help="" />
|
|
203 </when>
|
|
204 </conditional>
|
|
205 <conditional name="sens_cond">
|
|
206 <param name='sensitivity' type="select" label="Sensitivity Mode" help="Choose one of the sensitivity modes. The default mode is mainly designed for short read alignment, i.e. finding significant matches of >50 bits on 30-40aa fragments. The sensitive mode is a lot more sensitive than the default and generally recommended for aligning longer sequences. The more sensitive mode provides even more sensitivity. More sensitivity may increase computation time.">
|
|
207 <option value="--fast">Fast (--fast)</option>
|
|
208 <option value="" selected="True">Default</option>
|
|
209 <option value="--mid-sensitive">Mid Sensitive (--mid-sensitive)</option>
|
|
210 <option value="--sensitive">Sensitive (--sensitive)</option>
|
|
211 <option value="--more-sensitive">More Sensitive (--more-sensitive)</option>
|
|
212 <option value="--very-sensitive">Very Sensitive (--very-sensitive)</option>
|
|
213 <option value="--ultra-sensitive">Ultra Sensitive (--ultra-sensitive)</option>
|
|
214 </param>
|
|
215 <when value="--fast">
|
|
216 <expand macro="block_size_low_sens"/>
|
|
217 </when>
|
|
218 <when value="">
|
|
219 <expand macro="block_size_low_sens"/>
|
|
220 </when>
|
|
221 <when value="--mid-sensitive">
|
|
222 <expand macro="block_size_low_sens"/>
|
|
223 </when>
|
|
224 <when value="--sensitive">
|
|
225 <expand macro="block_size_low_sens"/>
|
|
226 </when>
|
|
227 <when value="--more-sensitive">
|
|
228 <expand macro="block_size_low_sens"/>
|
|
229 </when>
|
|
230 <when value="--very-sensitive">
|
|
231 <expand macro="block_size_hi_sens"/>
|
|
232 </when>
|
|
233 <when value="--ultra-sensitive">
|
|
234 <expand macro="block_size_hi_sens"/>
|
|
235 </when>
|
|
236 </conditional>
|
|
237 <param argument="--matrix" type="select" label="Scoring matrix" help="In parentheses are the supported values for (gap open)/(gap extend). In brackets are default gap penalties">
|
|
238 <option value="BLOSUM45">BLOSUM45 ((10-13)/3; (12-16)/2; (16-19)/1) [14/2]</option>
|
|
239 <option value="BLOSUM50">BLOSUM50 ((9-13)/3; (12-16)/2; (15-19)/1) [13/2]</option>
|
|
240 <option value="BLOSUM62" selected="True">BLOSUM62 ((6-11)/2; (9-13)/1) [11/1]</option>
|
|
241 <option value="BLOSUM80">BLOSUM80 ((6-9)/2; 13/2; 25/2; (9-11)/1) [10/1]</option>
|
|
242 <option value="BLOSUM90">BLOSUM90 ((6-9)/2; (9-11)/1) [10/1]</option>
|
|
243 <option value="PAM250">PAM250 ((11-15)/3; (13-17)/2; (17-21)/1) [14/2]</option>
|
|
244 <option value="PAM70">PAM70 ((6-8)/2; (9-11)/1) [10/1]</option>
|
|
245 <option value="PAM30">PAM30 ((5-7)/2; (8-10)/1) [9/1]</option>
|
|
246 </param>
|
|
247 <param argument="--gapopen" type="integer" optional="True" value="" label="Gap open penalty" help="Leave empty for default (see scoring matrix)" />
|
|
248 <param argument="--gapextend" type="integer" optional="True" value="" label="Gap extension penalty" help="Leave empty for default (see scoring matrix)" />
|
|
249 <param argument="--masking" type="select" label="Masking algorithm" help="DIAMOND by default applies the tantan repeat masking algorithm to the query and target sequences as described in (Frith, 2011).
|
|
250 This masking procedure increases the specificity of alignments and serves to filter out spurious hits. Note that when using --comp-based-stats (2,3,4), tantan masking is disabled by default.">
|
|
251 <option value="0">Disabled</option>
|
|
252 <option value="1" selected="true">Tantan</option>
|
|
253 <option value="seg">SEG</option>
|
|
254 </param>
|
|
255 <conditional name="filter_score">
|
|
256 <param name="filter_score_select" type="select" label="Method to filter?" help="(--evalue/--min-score)">
|
|
257 <option value="evalue" selected="True">Maximum e-value to report alignments</option>
|
|
258 <option value="min-score">Minimum bit score to report alignments</option>
|
|
259 </param>
|
|
260 <when value="evalue">
|
|
261 <param argument="--evalue" type="float" value="0.001" label="Maximum expected value to keep an alignment" />
|
|
262 </when>
|
|
263 <when value="min-score">
|
|
264 <param name="min_score" argument="--min-score" type="integer" value="0" label="Minimum bit score to keep an alignment" help="(--min-score)" />
|
|
265 </when>
|
|
266 </conditional>
|
|
267 <param argument="--iterate" type="boolean" truevalue="--iterate" falsevalue="" checked="false"
|
|
268 label="Run multiple rounds of searches with increasing sensitivity" help="he query dataset will first be searched at a lower sensitivity setting, only searching those query sequences at
|
|
269 the target sensitivity that fail to produce a significant alignment at a lower sensitivity." />
|
|
270 <param argument="--algo" type="select" label="Algorithm for seed search" help="Double-indexed is the main algorithm of the program, designed for large input files but less efficient for small
|
|
271 query files. Query-indexed and improves performance for small query files. This mode will be automatically triggered based on the input. Contiguous-seed mode and further improves performance
|
|
272 for small query files. The modes differ slightly in their sensitivity, so results are not guaranteed to be 100% identical for different settings of this option.">
|
|
273 <option value="0">Doble-indexed (0)</option>
|
|
274 <option value="1">Query-indexed (1)</option>
|
|
275 <option value="ctg">Contiguous-seed mode (ctg)</option>
|
|
276 </param>
|
|
277 <expand macro="hit_filter_macro" />
|
|
278 <param argument="--global-ranking" type="integer" min="0" value="" optional="true"
|
|
279 label="Limit on the number of Smith Waterman extensions" help="Target sequences will be ranked according to their ungapped extension scores at seed hits, and gapped extensions will only
|
|
280 be computed for the best N targets for each query. Note that this option increases memory use." />
|
|
281 <param argument="--id" type="integer" value="0" label="Minimum identity percentage to report an alignment" help="Report only alignments above the given percentage of sequence identity" />
|
|
282 <param argument="--query-cover" type="integer" value="0" label="Minimum query cover percentage to report an alignment" help="Report only alignments above the given percentage of query cover" />
|
|
283 <param argument="--subject-cover" type="integer" value="0" label="Minimum subject cover percentage to report an alignment" help="Report only alignments above the given percentage of subject cover"/>
|
|
284 <section name="output_section" title="Output options">
|
|
285 <param argument="--max-hsps" type="integer" min="0" optional="true" label="Maximum number of HSPs"
|
|
286 help="The maximum number of HSPs (High-Scoring Segment Pairs) per target sequence to report for each query. The default policy is to report only the highest-scoring
|
|
287 HSP for each target, while disregarding alternative, lower-scoring HSPs that are contained in the same target." />
|
|
288 <expand macro="output_type_macro">
|
|
289 <!-- Taxonomy features are not supported for the DAA format (i.e.
|
|
290 can't be used in diamond view) -->
|
|
291 <option value="staxids">unique Subject Taxonomy ID(s), separated by a ';' (in numerical order)</option>
|
|
292 <option value="sskingdoms">Subject super kingdoms</option>
|
|
293 <option value="skingdoms">Subject kingdoms</option>
|
|
294 <option value="sphylums">Subject phylums</option>
|
|
295 </expand>
|
|
296 <param name="output_unal" type="select" optional="true" multiple="true" label="Output aligned/unaligned queries to separate file" help="">
|
|
297 <option value="--un">Output unaligned queries (--un)</option>
|
|
298 <option value="--al">Output alaligned queries (--al)</option>
|
|
299 </param>
|
|
300 </section>
|
|
301 <section name="advanced_section" title="Advanced options" expanded="false">
|
|
302 <param argument="--seed-cut" type="float" min="0" optional="true" label="Set a complexity cutoff for indexed seeds"/>
|
|
303 <param argument="--freq-masking" type="boolean" truevalue="--freq-masking" falsevalue="" checked="false" label="Enable masking seeds based on frequency" help="This option is incompatible with --sed-cut" />
|
|
304 <param argument="--motif-masking" type="select" label="Softmask abundant motifs" help="Enable or disable motif masking">
|
|
305 <option value="0">Disabled</option>
|
|
306 <option value="1">Enabled</option>
|
|
307 </param>
|
|
308 </section>
|
|
309 </inputs>
|
|
310 <outputs>
|
|
311 <expand macro="output_macro" />
|
|
312 <data format_source="query" name="unalqueries" label="${tool.name} on ${on_string}: unaligned queries">
|
|
313 <filter>output_section['output_unal'] and "--un" in output_section['output_unal']</filter>
|
|
314 </data>
|
|
315 <data format_source="query" name="alqueries" label="${tool.name} on ${on_string}: aligned queries">
|
|
316 <filter>output_section['output_unal'] and "--un" in output_section['output_unal']</filter>
|
|
317 </data>
|
|
318 </outputs>
|
|
319 <help>
|
|
320 <![CDATA[
|
|
321
|
|
322 **What it does**
|
|
323
|
|
324 DIAMOND_ is a new alignment tool for aligning short DNA sequencing reads to a protein reference database such as NCBI-NR.
|
|
325 On Illumina reads of length 100-150bp, in fast mode, DIAMOND is about 20,000 times faster than BLASTX, while reporting
|
|
326 about 80-90% of all matches that BLASTX finds, with an e-value of at most 1e-5. In sensitive mode, DIAMOND ist about 2,500
|
|
327 times faster than BLASTX, finding more than 94% of all matches.
|
|
328
|
|
329 The DIAMOND algorithm is designed for the alignment of large datasets. The algorithm is not efficient for a small number of query sequences or only a single one of them, and speed will be low. BLAST is recommended for small datasets.
|
|
330
|
|
331 .. _DIAMOND: http://ab.inf.uni-tuebingen.de/software/diamond/
|
|
332
|
|
333 **Input**
|
|
334
|
|
335 Input data is a large protein or nucleotide sequence file.
|
|
336
|
|
337
|
|
338 **Output**
|
|
339
|
|
340 Diamond gives you a tabular output file with 12 columns:
|
|
341
|
|
342 Column Description
|
|
343 1 Query Seq-id (ID of your sequence)
|
|
344 2 Subject Seq-id (ID of the database hit)
|
|
345 3 Percentage of identical matches
|
|
346 4 Alignment length
|
|
347 5 Number of mismatches
|
|
348 6 Number of gap openings
|
|
349 7 Start of alignment in query
|
|
350 8 End of alignment in query
|
|
351 9 Start of alignment in subject (database hit)
|
|
352 10 End of alignment in subject (database hit)
|
|
353 11 Expectation value (E-value)
|
|
354 12 Bit score
|
|
355
|
|
356
|
|
357 Supported values for gap open and gap extend parameters depending on the selected scoring matrix.
|
|
358
|
|
359 ======== ============================================
|
|
360 Matrix Supported values for (gap open)/(gap extend)
|
|
361 ======== ============================================
|
|
362 BLOSUM45 (10-13)/3; (12-16)/2; (16-19)/1
|
|
363 BLOSUM50 (9-13)/3; (12-16)/2; (15-19)/1
|
|
364 BLOSUM62 (6-11)/2; (9-13)/1
|
|
365 BLOSUM80 (6-9)/2; 13/2; 25/2; (9-11)/1
|
|
366 BLOSUM90 (6-9)/2; (9-11)/1
|
|
367 PAM250 (11-15)/3; (13-17)/2; (17-21)/1
|
|
368 PAM70 (6-8)/2; (9-11)/1
|
|
369 PAM30 (5-7)/2; (8-10)/1
|
|
370 ======== ============================================
|
|
371
|
|
372
|
|
373 ]]>
|
|
374 </help>
|
|
375 <expand macro="citations" />
|
|
376 </tool>
|