comparison tools/ncbi_blast_plus/ncbi_blastx_wrapper.xml @ 0:9071e359b9a3

Uploaded
author xuebing
date Fri, 09 Mar 2012 19:37:19 -0500
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:9071e359b9a3
1 <tool id="ncbi_blastx_wrapper" name="NCBI BLAST+ blastx" version="0.0.11">
2 <description>Search protein database with translated nucleotide query sequence(s)</description>
3 <version_command>blastx -version</version_command>
4 <command interpreter="python">hide_stderr.py
5 ## The command is a Cheetah template which allows some Python based syntax.
6 ## Lines starting hash hash are comments. Galaxy will turn newlines into spaces
7 blastx
8 -query "$query"
9 #if $db_opts.db_opts_selector == "db":
10 -db "${db_opts.database.fields.path}"
11 #else:
12 -subject "$db_opts.subject"
13 #end if
14 -evalue $evalue_cutoff
15 -out $output1
16 ##Set the extended list here so if/when we add things, saved workflows are not affected
17 #if str($out_format)=="ext":
18 -outfmt "6 std sallseqid score nident positive gaps ppos qframe sframe qseq sseq qlen slen"
19 #else:
20 -outfmt $out_format
21 #end if
22 -num_threads 8
23 #if $adv_opts.adv_opts_selector=="advanced":
24 $adv_opts.filter_query
25 $adv_opts.strand
26 -matrix $adv_opts.matrix
27 ## Need int(str(...)) because $adv_opts.max_hits is an InputValueWrapper object not a string
28 ## Note -max_target_seqs overrides -num_descriptions and -num_alignments
29 #if (str($adv_opts.max_hits) and int(str($adv_opts.max_hits)) > 0):
30 -max_target_seqs $adv_opts.max_hits
31 #end if
32 #if (str($adv_opts.word_size) and int(str($adv_opts.word_size)) > 0):
33 -word_size $adv_opts.word_size
34 #end if
35 $adv_opts.ungapped
36 $adv_opts.parse_deflines
37 ## End of advanced options:
38 #end if
39 </command>
40 <inputs>
41 <param name="query" type="data" format="fasta" label="Nucleotide query sequence(s)"/>
42 <conditional name="db_opts">
43 <param name="db_opts_selector" type="select" label="Subject database/sequences">
44 <option value="db" selected="True">BLAST Database</option>
45 <option value="file">FASTA file</option>
46 </param>
47 <when value="db">
48 <param name="database" type="select" label="Protein BLAST database">
49 <options from_file="blastdb_p.loc">
50 <column name="value" index="0"/>
51 <column name="name" index="1"/>
52 <column name="path" index="2"/>
53 </options>
54 </param>
55 <param name="subject" type="hidden" value="" />
56 </when>
57 <when value="file">
58 <param name="database" type="hidden" value="" />
59 <param name="subject" type="data" format="fasta" label="Protein FASTA file to use as database"/>
60 </when>
61 </conditional>
62 <param name="evalue_cutoff" type="float" size="15" value="0.001" label="Set expectation value cutoff" />
63 <param name="out_format" type="select" label="Output format">
64 <option value="6" selected="True">Tabular (standard 12 columns)</option>
65 <option value="ext">Tabular (extended 24 columns)</option>
66 <option value="5">BLAST XML</option>
67 <option value="0">Pairwise text</option>
68 <option value="0 -html">Pairwise HTML</option>
69 <option value="2">Query-anchored text</option>
70 <option value="2 -html">Query-anchored HTML</option>
71 <option value="4">Flat query-anchored text</option>
72 <option value="4 -html">Flat query-anchored HTML</option>
73 <!--
74 <option value="-outfmt 11">BLAST archive format (ASN.1)</option>
75 -->
76 </param>
77 <conditional name="adv_opts">
78 <param name="adv_opts_selector" type="select" label="Advanced Options">
79 <option value="basic" selected="True">Hide Advanced Options</option>
80 <option value="advanced">Show Advanced Options</option>
81 </param>
82 <when value="basic" />
83 <when value="advanced">
84 <!-- Could use a select (yes, no, other) where other allows setting 'window locut hicut' -->
85 <param name="filter_query" type="boolean" label="Filter out low complexity regions (with SEG)" truevalue="-seg yes" falsevalue="-seg no" checked="true" />
86 <param name="strand" type="select" label="Query strand(s) to search against database/subject">
87 <option value="-strand both">Both</option>
88 <option value="-strand plus">Plus (forward)</option>
89 <option value="-strand minus">Minus (reverse complement)</option>
90 </param>
91 <param name="matrix" type="select" label="Scoring matrix">
92 <option value="BLOSUM90">BLOSUM90</option>
93 <option value="BLOSUM80">BLOSUM80</option>
94 <option value="BLOSUM62" selected="true">BLOSUM62 (default)</option>
95 <option value="BLOSUM50">BLOSUM50</option>
96 <option value="BLOSUM45">BLOSUM45</option>
97 <option value="PAM250">PAM250</option>
98 <option value="PAM70">PAM70</option>
99 <option value="PAM30">PAM30</option>
100 </param>
101 <!-- Why doesn't optional override a validator? I want to accept an empty string OR a non-negative integer -->
102 <param name="max_hits" type="integer" value="0" label="Maximum hits to show" help="Use zero for default limits">
103 <validator type="in_range" min="0" />
104 </param>
105 <!-- I'd like word_size to be optional, with minimum 2 for blastx -->
106 <param name="word_size" type="integer" value="0" label="Word size for wordfinder algorithm" help="Use zero for default, otherwise minimum 2.">
107 <validator type="in_range" min="0" />
108 </param>
109 <param name="ungapped" type="boolean" label="Perform ungapped alignment only?" truevalue="-ungapped" falsevalue="" checked="false" />
110 <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"/>
111 </when>
112 </conditional>
113 </inputs>
114 <outputs>
115 <data name="output1" format="tabular" label="blastx on ${db_opts.db_opts_selector}">
116 <change_format>
117 <when input="out_format" value="0" format="txt"/>
118 <when input="out_format" value="0 -html" format="html"/>
119 <when input="out_format" value="2" format="txt"/>
120 <when input="out_format" value="2 -html" format="html"/>
121 <when input="out_format" value="4" format="txt"/>
122 <when input="out_format" value="4 -html" format="html"/>
123 <when input="out_format" value="5" format="blastxml"/>
124 </change_format>
125 </data>
126 </outputs>
127 <requirements>
128 <requirement type="binary">blastx</requirement>
129 </requirements>
130 <tests>
131 <test>
132 <param name="query" value="rhodopsin_nucs.fasta" ftype="fasta" />
133 <param name="db_opts_selector" value="file" />
134 <param name="subject" value="four_human_proteins.fasta" ftype="fasta" />
135 <param name="database" value="" />
136 <param name="evalue_cutoff" value="1e-10" />
137 <param name="out_format" value="5" />
138 <param name="adv_opts_selector" value="basic" />
139 <output name="output1" file="blastx_rhodopsin_vs_four_human.xml" ftype="blastxml" />
140 </test>
141 <test>
142 <param name="query" value="rhodopsin_nucs.fasta" ftype="fasta" />
143 <param name="db_opts_selector" value="file" />
144 <param name="subject" value="four_human_proteins.fasta" ftype="fasta" />
145 <param name="database" value="" />
146 <param name="evalue_cutoff" value="1e-10" />
147 <param name="out_format" value="6" />
148 <param name="adv_opts_selector" value="basic" />
149 <output name="output1" file="blastx_rhodopsin_vs_four_human.tabular" ftype="tabular" />
150 </test>
151 <test>
152 <param name="query" value="rhodopsin_nucs.fasta" ftype="fasta" />
153 <param name="db_opts_selector" value="file" />
154 <param name="subject" value="four_human_proteins.fasta" ftype="fasta" />
155 <param name="database" value="" />
156 <param name="evalue_cutoff" value="1e-10" />
157 <param name="out_format" value="ext" />
158 <param name="adv_opts_selector" value="basic" />
159 <output name="output1" file="blastx_rhodopsin_vs_four_human_ext.tabular" ftype="tabular" />
160 </test>
161 </tests>
162 <help>
163
164 .. class:: warningmark
165
166 **Note**. Database searches may take a substantial amount of time.
167 For large input datasets it is advisable to allow overnight processing.
168
169 -----
170
171 **What it does**
172
173 Search a *protein database* using a *translated nucleotide query*,
174 using the NCBI BLAST+ blastx command line tool.
175
176 -----
177
178 **Output format**
179
180 Because Galaxy focuses on processing tabular data, the default output of this
181 tool is tabular. The standard BLAST+ tabular output contains 12 columns:
182
183 ====== ========= ============================================
184 Column NCBI name Description
185 ------ --------- --------------------------------------------
186 1 qseqid Query Seq-id (ID of your sequence)
187 2 sseqid Subject Seq-id (ID of the database hit)
188 3 pident Percentage of identical matches
189 4 length Alignment length
190 5 mismatch Number of mismatches
191 6 gapopen Number of gap openings
192 7 qstart Start of alignment in query
193 8 qend End of alignment in query
194 9 sstart Start of alignment in subject (database hit)
195 10 send End of alignment in subject (database hit)
196 11 evalue Expectation value (E-value)
197 12 bitscore Bit score
198 ====== ========= ============================================
199
200 The BLAST+ tools can optionally output additional columns of information,
201 but this takes longer to calculate. Most (but not all) of these columns are
202 included by selecting the extended tabular output. The extra columns are
203 included *after* the standard 12 columns. This is so that you can write
204 workflow filtering steps that accept either the 12 or 24 column tabular
205 BLAST output.
206
207 ====== ============= ===========================================
208 Column NCBI name Description
209 ------ ------------- -------------------------------------------
210 13 sallseqid All subject Seq-id(s), separated by a ';'
211 14 score Raw score
212 15 nident Number of identical matches
213 16 positive Number of positive-scoring matches
214 17 gaps Total number of gaps
215 18 ppos Percentage of positive-scoring matches
216 19 qframe Query frame
217 20 sframe Subject frame
218 21 qseq Aligned part of query sequence
219 22 sseq Aligned part of subject sequence
220 23 qlen Query sequence length
221 24 slen Subject sequence length
222 ====== ============= ===========================================
223
224 The third option is BLAST XML output, which is designed to be parsed by
225 another program, and is understood by some Galaxy tools.
226
227 You can also choose several plain text or HTML output formats which are designed to be read by a person (not by another program).
228 The HTML versions use basic webpage formatting and can include links to the hits on the NCBI website.
229 The pairwise output (the default on the NCBI BLAST website) shows each match as a pairwise alignment with the query.
230 The two query anchored outputs show a multiple sequence alignment between the query and all the matches,
231 and differ in how insertions are shown (marked as insertions or with gap characters added to the other sequences).
232
233 -------
234
235 **References**
236
237 Altschul et al. Gapped BLAST and PSI-BLAST: a new generation of protein database search programs. 1997. Nucleic Acids Res. 25:3389-3402.
238
239 </help>
240 </tool>