comparison tools/ncbi_blast_plus/ncbi_makeblastdb.xml @ 5:393a7a35383c draft

Uploaded v0.0.14 adding local BLAST database support. This *requires* the matching update to the blast_datatypes repository. This adds basic wrappers for makeblastdb and blastdbinfo. This update includes work by Edward Kirton.
author peterjc
date Fri, 09 Nov 2012 06:53:55 -0500
parents
children 9dabbfd73c8a
comparison
equal deleted inserted replaced
4:9d5beacae92b 5:393a7a35383c
1 <tool id="ncbi_makeblastdb" name="NCBI BLAST+ makeblastdb" version="0.0.1">
2 <description>Make BLAST database</description>
3 <version_command>makeblastdb -version</version_command>
4 <command>
5 makeblastdb -out ${os.path.join($outfile.extra_files_path,'blastdb')}
6 $parse_seqids
7 $hash_index
8 ## Single call to -in with multiple filenames space separated with outer quotes
9 ## (presumably any filenames with spaces would be a problem). Note this gives
10 ## some extra spaces, e.g. -in " file1 file2 file3 " but BLAST seems happy:
11 -in "
12 #for $i in $in
13 ${i.file} #end for
14 "
15 #if $title:
16 -title "$title"
17 #else:
18 ##Would default to being based on the cryptic Galaxy filenames, which is unhelpful
19 -title "BLAST Database"
20 #end if
21 -dbtype $dbtype
22 ## #set $sep = '-mask_data '
23 ## #for $i in $mask_data
24 ## $sep${i.file}
25 ## #set $set = ', '
26 ## #end for
27 ## #set $sep = '-gi_mask -gi_mask_name '
28 ## #for $i in $gi_mask
29 ## $sep${i.file}
30 ## #set $set = ', '
31 ## #end for
32 ## #if $tax.select == 'id':
33 ## -taxid $tax.id
34 ## #else if $tax.select == 'map':
35 ## -taxid_map $tax.map
36 ## #end if
37 </command>
38 <stdio>
39 <!-- Anything other than zero is an error -->
40 <exit_code range="1:" />
41 <exit_code range=":-1" />
42 <!-- In case the return code has not been set propery check stderr too -->
43 <regex match="Error:" />
44 <regex match="EXception:" />
45 </stdio>
46 <inputs>
47 <param name="dbtype" type="select" display="radio" label="Molecule type of input">
48 <option value="prot">protein</option>
49 <option value="nucl">nucleotide</option>
50 </param>
51 <!-- TODO Allow merging of existing BLAST databases (conditional on the database type)
52 <repeat name="in" title="Blast or Fasta Database" min="1">
53 <param name="file" type="data" format="fasta,blastdbn,blastdbp" label="Blast or Fasta database" />
54 </repeat>
55 -->
56 <repeat name="in" title="FASTA file" min="1">
57 <param name="file" type="data" format="fasta" />
58 </repeat>
59 <param name="title" type="text" value="" label="Title for BLAST database" help="This is the database name shown in BLAST search output" />
60 <param name="parse_seqids" type="boolean" truevalue="-parse_seqids" falsevalue="" checked="False" label="Parse the sequence identifiers" help="This is only advised if your FASTA file follows the NCBI naming conventions using pipe '|' symbols" />
61 <param name="hash_index" type="boolean" truevalue="-hash_index" falsevalue="" checked="true" label="Enable the creation of sequence hash values." help="These hash values can then be used to quickly determine if a given sequence data exists in this BLAST database." />
62
63 <!-- SEQUENCE MASKING OPTIONS -->
64 <!-- TODO
65 <repeat name="mask_data" title="Provide one or more files containing masking data">
66 <param name="file" type="data" format="asnb" label="File containing masking data" help="As produced by NCBI masking applications (e.g. dustmasker, segmasker, windowmasker)" />
67 </repeat>
68 <repeat name="gi_mask" title="Create GI indexed masking data">
69 <param name="file" type="data" format="asnb" label="Masking data output file" />
70 </repeat>
71 -->
72
73 <!-- TAXONOMY OPTIONS -->
74 <!-- TODO
75 <conditional name="tax">
76 <param name="select" type="select" label="Taxonomy options">
77 <option value="">Do not assign sequences to Taxonomy IDs</option>
78 <option value="id">Assign all sequences to one Taxonomy ID</option>
79 <option value="map">Supply text file mapping sequence IDs to taxnomy IDs</option>
80 </param>
81 <when value="">
82 </when>
83 <when value="id">
84 <param name="id" type="integer" value="" label="NCBI taxonomy ID" help="Integer &gt;=0" />
85 </when>
86 <when value="map">
87 <param name="file" type="data" format="txt" label="Seq ID : Tax ID mapping file" help="Format: SequenceId TaxonomyId" />
88 </when>
89 </conditional>
90 -->
91 </inputs>
92 <outputs>
93 <!-- If we only accepted one FASTA file, we could use its human name here... -->
94 <data name="outfile" format="data" label="BLAST database from ${on_string}">
95 <change_format>
96 <when input="dbtype" value="nucl" format="blastdbn"/>
97 <when input="dbtype" value="prot" format="blastdbp"/>
98 </change_format>
99 </data>
100 </outputs>
101 <requirements>
102 <requirement type="binary">makeblastdb</requirement>
103 </requirements>
104 <help>
105 **What it does**
106
107 Make BLAST database from one or more FASTA files and/or BLAST databases.
108
109 This is a wrapper for the NCBI BLAST+ tool 'makeblastdb', which is the
110 replacement for the 'formatdb' tool in the NCBI 'legacy' BLAST suite.
111
112 <!--
113 Applying masks to an existing BLAST database will not change the original database; a new database will be created.
114 For this reason, it's best to apply all masks at once to minimize the number of unnecessary intermediate databases.
115 -->
116
117 **Documentation**
118
119 http://www.ncbi.nlm.nih.gov/books/NBK1763/
120 </help>
121 </tool>