comparison tools/ncbi_blast_plus/ncbi_tblastn_wrapper.xml @ 2:45ba7c750bc8 draft

This update should have no functional effect. Renamed files (since xml.py will be inaccurate once BLAST databases are added in future update).
author peterjc
date Thu, 20 Sep 2012 10:12:43 -0400
parents
children
comparison
equal deleted inserted replaced
1:10dce68b584b 2:45ba7c750bc8
1 <tool id="ncbi_tblastn_wrapper" name="NCBI BLAST+ tblastn" version="0.0.13">
2 <description>Search translated nucleotide database with protein query sequence(s)</description>
3 <!-- If job splitting is enabled, break up the query file into parts -->
4 <parallelism method="multi" split_inputs="query" split_mode="to_size" split_size="1000" shared_inputs="subject" merge_outputs="output1"></parallelism>
5 <version_command>tblastn -version</version_command>
6 <command>
7 ## The command is a Cheetah template which allows some Python based syntax.
8 ## Lines starting hash hash are comments. Galaxy will turn newlines into spaces
9 tblastn
10 -query "$query"
11 #if $db_opts.db_opts_selector == "db":
12 -db "${db_opts.database.fields.path}"
13 #else:
14 -subject "$db_opts.subject"
15 #end if
16 -evalue $evalue_cutoff
17 -out $output1
18 ##Set the extended list here so if/when we add things, saved workflows are not affected
19 #if str($out_format)=="ext":
20 -outfmt "6 std sallseqid score nident positive gaps ppos qframe sframe qseq sseq qlen slen"
21 #else:
22 -outfmt $out_format
23 #end if
24 -num_threads 8
25 #if $adv_opts.adv_opts_selector=="advanced":
26 -db_gencode $adv_opts.db_gencode
27 $adv_opts.filter_query
28 -matrix $adv_opts.matrix
29 ## Need int(str(...)) because $adv_opts.max_hits is an InputValueWrapper object not a string
30 ## Note -max_target_seqs overrides -num_descriptions and -num_alignments
31 #if (str($adv_opts.max_hits) and int(str($adv_opts.max_hits)) > 0):
32 -max_target_seqs $adv_opts.max_hits
33 #end if
34 #if (str($adv_opts.word_size) and int(str($adv_opts.word_size)) > 0):
35 -word_size $adv_opts.word_size
36 #end if
37 ##Ungapped disabled for now - see comments below
38 ##$adv_opts.ungapped
39 $adv_opts.parse_deflines
40 ## End of advanced options:
41 #end if
42 </command>
43 <stdio>
44 <exit_code range="1:" />
45 <exit_code range="://0" />
46 </stdio>
47 <inputs>
48 <param name="query" type="data" format="fasta" label="Protein query sequence(s)"/>
49 <conditional name="db_opts">
50 <param name="db_opts_selector" type="select" label="Subject database/sequences">
51 <option value="db" selected="True">BLAST Database</option>
52 <option value="file">FASTA file (pairwise e-values)</option>
53 </param>
54 <when value="db">
55 <param name="database" type="select" label="Nucleotide BLAST database">
56 <options from_file="blastdb.loc">
57 <column name="value" index="0"/>
58 <column name="name" index="1"/>
59 <column name="path" index="2"/>
60 </options>
61 </param>
62 <param name="subject" type="hidden" value="" />
63 </when>
64 <when value="file">
65 <param name="database" type="hidden" value="" />
66 <param name="subject" type="data" format="fasta" label="Nucleotide FASTA file to use as database"/>
67 </when>
68 </conditional>
69 <param name="evalue_cutoff" type="float" size="15" value="0.001" label="Set expectation value cutoff" />
70 <param name="out_format" type="select" label="Output format">
71 <option value="6" selected="True">Tabular (standard 12 columns)</option>
72 <option value="ext">Tabular (extended 24 columns)</option>
73 <option value="5">BLAST XML</option>
74 <option value="0">Pairwise text</option>
75 <option value="0 -html">Pairwise HTML</option>
76 <option value="2">Query-anchored text</option>
77 <option value="2 -html">Query-anchored HTML</option>
78 <option value="4">Flat query-anchored text</option>
79 <option value="4 -html">Flat query-anchored HTML</option>
80 <!--
81 <option value="-outfmt 11">BLAST archive format (ASN.1)</option>
82 -->
83 </param>
84 <conditional name="adv_opts">
85 <param name="adv_opts_selector" type="select" label="Advanced Options">
86 <option value="basic" selected="True">Hide Advanced Options</option>
87 <option value="advanced">Show Advanced Options</option>
88 </param>
89 <when value="basic" />
90 <when value="advanced">
91 <param name="db_gencode" type="select" label="Database/subject genetic code">
92 <!-- See http://www.ncbi.nlm.nih.gov/Taxonomy/Utils/wprintgc.cgi for details -->
93 <option value="1" select="True">1. Standard</option>
94 <option value="2">2. Vertebrate Mitochondrial</option>
95 <option value="3">3. Yeast Mitochondrial</option>
96 <option value="4">4. Mold, Protozoan, and Coelenterate Mitochondrial Code and the Mycoplasma/Spiroplasma Code</option>
97 <option value="5">5. Invertebrate Mitochondrial</option>
98 <option value="6">6. Ciliate, Dasycladacean and Hexamita Nuclear Code</option>
99 <option value="9">9. Echinoderm Mitochondrial</option>
100 <option value="10">10. Euplotid Nuclear</option>
101 <option value="11">11. Bacteria and Archaea</option>
102 <option value="12">12. Alternative Yeast Nuclear</option>
103 <option value="13">13. Ascidian Mitochondrial</option>
104 <option value="14">14. Flatworm Mitochondrial</option>
105 <option value="15">15. Blepharisma Macronuclear</option>
106 <option value="16">16. Chlorophycean Mitochondrial Code</option>
107 <option value="21">21. Trematode Mitochondrial Code</option>
108 <option value="22">22. Scenedesmus obliquus mitochondrial Code</option>
109 <option value="23">23. Thraustochytrium Mitochondrial Code</option>
110 <option value="24">24. Pterobranchia mitochondrial code</option>
111 </param>
112 <!-- Could use a select (yes, no, other) where other allows setting 'window locut hicut' -->
113 <param name="filter_query" type="boolean" label="Filter out low complexity regions (with SEG)" truevalue="-seg yes" falsevalue="-seg no" checked="true" />
114 <param name="matrix" type="select" label="Scoring matrix">
115 <option value="BLOSUM90">BLOSUM90</option>
116 <option value="BLOSUM80">BLOSUM80</option>
117 <option value="BLOSUM62" selected="true">BLOSUM62 (default)</option>
118 <option value="BLOSUM50">BLOSUM50</option>
119 <option value="BLOSUM45">BLOSUM45</option>
120 <option value="PAM250">PAM250</option>
121 <option value="PAM70">PAM70</option>
122 <option value="PAM30">PAM30</option>
123 </param>
124 <!-- Why doesn't optional override a validator? I want to accept an empty string OR a non-negative integer -->
125 <param name="max_hits" type="integer" value="0" label="Maximum hits to show" help="Use zero for default limits">
126 <validator type="in_range" min="0" />
127 </param>
128 <!-- I'd like word_size to be optional, with minimum 2 for blastp -->
129 <param name="word_size" type="integer" value="0" label="Word size for wordfinder algorithm" help="Use zero for default, otherwise minimum 2.">
130 <validator type="in_range" min="0" />
131 </param>
132 <!--
133 Can't use '-ungapped' on its own, error back is:
134 Composition-adjusted searched are not supported with an ungapped search, please add -comp_based_stats F or do a gapped search
135 Tried using '-ungapped -comp_based_stats F' and tblastn crashed with 'Attempt to access NULL pointer.'
136 <param name="ungapped" type="boolean" label="Perform ungapped alignment only?" truevalue="-ungapped -comp_based_stats F" falsevalue="" checked="false" />
137 -->
138 <param name="parse_deflines" type="boolean" label="Should the query and subject defline(s) be parsed?" truevalue="-parse_deflines" falsevalue="" checked="false" help="This affects the formatting of the query/subject ID strings"/>
139 </when>
140 </conditional>
141 </inputs>
142 <outputs>
143 <data name="output1" format="tabular" label="tblastn on ${db_opts.db_opts_selector}">
144 <change_format>
145 <when input="out_format" value="0" format="txt"/>
146 <when input="out_format" value="0 -html" format="html"/>
147 <when input="out_format" value="2" format="txt"/>
148 <when input="out_format" value="2 -html" format="html"/>
149 <when input="out_format" value="4" format="txt"/>
150 <when input="out_format" value="4 -html" format="html"/>
151 <when input="out_format" value="5" format="blastxml"/>
152 </change_format>
153 </data>
154 </outputs>
155 <requirements>
156 <requirement type="binary">tblastn</requirement>
157 </requirements>
158 <tests>
159 <test>
160 <param name="query" value="four_human_proteins.fasta" ftype="fasta" />
161 <param name="db_opts_selector" value="file" />
162 <param name="subject" value="rhodopsin_nucs.fasta" ftype="fasta" />
163 <param name="database" value="" />
164 <param name="evalue_cutoff" value="1e-10" />
165 <param name="out_format" value="5" />
166 <param name="adv_opts_selector" value="advanced" />
167 <param name="filter_query" value="false" />
168 <param name="matrix" value="BLOSUM80" />
169 <param name="max_hits" value="0" />
170 <param name="word_size" value="0" />
171 <param name="parse_deflines" value="false" />
172 <output name="output1" file="tblastn_four_human_vs_rhodopsin.xml" ftype="blastxml" />
173 </test>
174 <test>
175 <param name="query" value="four_human_proteins.fasta" ftype="fasta" />
176 <param name="db_opts_selector" value="file" />
177 <param name="subject" value="rhodopsin_nucs.fasta" ftype="fasta" />
178 <param name="database" value="" />
179 <param name="evalue_cutoff" value="1e-10" />
180 <param name="out_format" value="ext" />
181 <param name="adv_opts_selector" value="advanced" />
182 <param name="filter_query" value="false" />
183 <param name="matrix" value="BLOSUM80" />
184 <param name="max_hits" value="0" />
185 <param name="word_size" value="0" />
186 <param name="parse_deflines" value="false" />
187 <output name="output1" file="tblastn_four_human_vs_rhodopsin_ext.tabular" ftype="tabular" />
188 </test>
189 <test>
190 <param name="query" value="four_human_proteins.fasta" ftype="fasta" />
191 <param name="db_opts_selector" value="file" />
192 <param name="subject" value="rhodopsin_nucs.fasta" ftype="fasta" />
193 <param name="database" value="" />
194 <param name="evalue_cutoff" value="1e-10" />
195 <param name="out_format" value="6" />
196 <param name="adv_opts_selector" value="advanced" />
197 <param name="filter_query" value="false" />
198 <param name="matrix" value="BLOSUM80" />
199 <param name="max_hits" value="0" />
200 <param name="word_size" value="0" />
201 <param name="parse_deflines" value="false" />
202 <output name="output1" file="tblastn_four_human_vs_rhodopsin.tabular" ftype="tabular" />
203 </test>
204 <test>
205 <!-- Same as above, but parse deflines - on BLAST 2.2.25+ makes no difference -->
206 <param name="query" value="four_human_proteins.fasta" ftype="fasta" />
207 <param name="db_opts_selector" value="file" />
208 <param name="subject" value="rhodopsin_nucs.fasta" ftype="fasta" />
209 <param name="database" value="" />
210 <param name="evalue_cutoff" value="1e-10" />
211 <param name="out_format" value="6" />
212 <param name="adv_opts_selector" value="advanced" />
213 <param name="filter_query" value="false" />
214 <param name="matrix" value="BLOSUM80" />
215 <param name="max_hits" value="0" />
216 <param name="word_size" value="0" />
217 <param name="parse_deflines" value="true" />
218 <output name="output1" file="tblastn_four_human_vs_rhodopsin.tabular" ftype="tabular" />
219 </test>
220 <test>
221 <param name="query" value="four_human_proteins.fasta" ftype="fasta" />
222 <param name="db_opts_selector" value="file" />
223 <param name="subject" value="rhodopsin_nucs.fasta" ftype="fasta" />
224 <param name="database" value="" />
225 <param name="evalue_cutoff" value="1e-10" />
226 <param name="out_format" value="0 -html" />
227 <param name="adv_opts_selector" value="advanced" />
228 <param name="filter_query" value="false" />
229 <param name="matrix" value="BLOSUM80" />
230 <param name="max_hits" value="0" />
231 <param name="word_size" value="0" />
232 <param name="parse_deflines" value="false" />
233 <output name="output1" file="tblastn_four_human_vs_rhodopsin.html" ftype="html" />
234 </test>
235 </tests>
236 <help>
237
238 .. class:: warningmark
239
240 **Note**. Database searches may take a substantial amount of time.
241 For large input datasets it is advisable to allow overnight processing.
242
243 -----
244
245 **What it does**
246
247 Search a *translated nucleotide database* using a *protein query*,
248 using the NCBI BLAST+ tblastn command line tool.
249
250 -----
251
252 **Output format**
253
254 Because Galaxy focuses on processing tabular data, the default output of this
255 tool is tabular. The standard BLAST+ tabular output contains 12 columns:
256
257 ====== ========= ============================================
258 Column NCBI name Description
259 ------ --------- --------------------------------------------
260 1 qseqid Query Seq-id (ID of your sequence)
261 2 sseqid Subject Seq-id (ID of the database hit)
262 3 pident Percentage of identical matches
263 4 length Alignment length
264 5 mismatch Number of mismatches
265 6 gapopen Number of gap openings
266 7 qstart Start of alignment in query
267 8 qend End of alignment in query
268 9 sstart Start of alignment in subject (database hit)
269 10 send End of alignment in subject (database hit)
270 11 evalue Expectation value (E-value)
271 12 bitscore Bit score
272 ====== ========= ============================================
273
274 The BLAST+ tools can optionally output additional columns of information,
275 but this takes longer to calculate. Most (but not all) of these columns are
276 included by selecting the extended tabular output. The extra columns are
277 included *after* the standard 12 columns. This is so that you can write
278 workflow filtering steps that accept either the 12 or 24 column tabular
279 BLAST output.
280
281 ====== ============= ===========================================
282 Column NCBI name Description
283 ------ ------------- -------------------------------------------
284 13 sallseqid All subject Seq-id(s), separated by a ';'
285 14 score Raw score
286 15 nident Number of identical matches
287 16 positive Number of positive-scoring matches
288 17 gaps Total number of gaps
289 18 ppos Percentage of positive-scoring matches
290 19 qframe Query frame
291 20 sframe Subject frame
292 21 qseq Aligned part of query sequence
293 22 sseq Aligned part of subject sequence
294 23 qlen Query sequence length
295 24 slen Subject sequence length
296 ====== ============= ===========================================
297
298 The third option is BLAST XML output, which is designed to be parsed by
299 another program, and is understood by some Galaxy tools.
300
301 You can also choose several plain text or HTML output formats which are designed to be read by a person (not by another program).
302 The HTML versions use basic webpage formatting and can include links to the hits on the NCBI website.
303 The pairwise output (the default on the NCBI BLAST website) shows each match as a pairwise alignment with the query.
304 The two query anchored outputs show a multiple sequence alignment between the query and all the matches,
305 and differ in how insertions are shown (marked as insertions or with gap characters added to the other sequences).
306
307 -------
308
309 **References**
310
311 Altschul et al. Gapped BLAST and PSI-BLAST: a new generation of protein database search programs. 1997. Nucleic Acids Res. 25:3389-3402.
312
313 </help>
314 </tool>