comparison jellyfish.xml @ 0:b4038a4d48f5 draft

"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jellyfish commit 28e5c48aea5bca6ed90af701616d9fed79b74235"
author iuc
date Mon, 12 Apr 2021 18:18:53 +0000
parents
children 11658afb8c87
comparison
equal deleted inserted replaced
-1:000000000000 0:b4038a4d48f5
1 <tool id="jellyfish" name="jellyfish" version="@WRAPPER_VERSION@+@VERSION_SUFFIX@" profile="20.01">
2 <macros>
3 <token name="@WRAPPER_VERSION@">2.3.0</token>
4 <token name="@VERSION_SUFFIX@">galaxy0</token>
5 </macros>
6 <requirements>
7 <requirement type="package" version="@WRAPPER_VERSION@">kmer-jellyfish</requirement>
8 </requirements>
9 <command detect_errors="exit_code"><![CDATA[
10 jellyfish
11 #if $commands.command == "count":
12 count
13 --mer-len $commands.mer_len
14 --size $commands.size
15 #if $commands.counter_len:
16 --counter-len $commands.counter_len
17 #end if
18 $commands.canonical
19 #if $commands.bloom.filters == "bc":
20 --bc '$commands.bloom.bloom_file'
21 #if $commands.bloom.bf_fp:
22 --bf-fp $commands.bloom.bf_fp
23 #end if
24 #else if $commands.bloom.filters == "bf_size":
25 --bf-size $commands.bloom.bf_size
26 #if $commands.bloom.bf_fp:
27 --bf-fp $commands.bloom.bf_fp
28 #end if
29 #end if
30 #if $commands.if:
31 --if '$commands.if'
32 #end if
33 #if $commands.reprobes:
34 --reprobes $commands.reprobes
35 #end if
36 #if $commands.text == "text":
37 --text
38 #end if
39 #if $commands.lower_count:
40 --lower-count $commands.lower_count
41 #end if
42 #if $commands.upper_count:
43 --upper-count $commands.upper_count
44 #end if
45 '$commands.input'
46 #else if $commands.command == "histo":
47 histo
48 #if $commands.low:
49 --low $commands.low
50 #end if
51 #if $commands.high:
52 --high $commands.high
53 #end if
54 #if $commands.increment:
55 --increment $commands.increment
56 #end if
57 $commands.full
58 '$commands.input'
59 -o jellyfish_histo.txt
60 #else if $commands.command == "dump":
61 dump
62 #if $commands.lower_count:
63 --lower-count $commands.lower_count
64 #end if
65 #if $commands.upper_count:
66 --upper-count $commands.upper_count
67 #end if
68 #if $commands.format.format_select == "column":
69 --column
70 $commands.format.tab
71 '$commands.input'
72 #if $commands.format.tab == "--tab":
73 -o jellyfish_dump.tsv
74 #else:
75 -o jellyfish_dump.txt
76 #end if
77 #else:
78 '$commands.input'
79 -o jellyfish_dump.fasta
80 #end if
81 ## #else if $commands.command == "bc":
82 ## #else if $commands.command == "info":
83 ## #else if $commands.command == "stats":
84 ## #else if $commands.command == "merge":
85 ## #else if $commands.command == "query":
86 #end if
87 ]]></command>
88 <inputs>
89 <conditional name="commands">
90 <param name="command" type="select" label="Jellyfish command: ">
91 <option value="count"/>
92 <option value="histo"/>
93 <option value="dump"/>
94 <!-- <option value="bc"/>
95 <option value="info"/>
96 <option value="stats"/>
97 <option value="merge"/>
98 <option value="query"/> -->
99 </param>
100 <when value="count">
101 <param name="input" type="data" format="fasta,fastq,fastqsanger" label="Input data file"/>
102 <param argument="--mer-len" type="integer" value="20" min="1" label="Length of mer" />
103 <param argument="--size" type="integer" value="32" min="1" label="Initial hash size" />
104 <param argument="--counter-len" type="integer" min="1" optional="true" label="Counter Length in bits" />
105 <param argument="--canonical" type="boolean" truevalue="--canonical" falsevalue="" label="Count both strand and canonical representation" />
106 <conditional name="bloom">
107 <param name="filters" type="select" label="Use bloom filters">
108 <option value="default">Default</option>
109 <option value="bc">Bloom counter to filter out singleton mers</option>
110 <option value="bf_size">Use bloom filter to count high-frequency mers</option>
111 </param>
112 <when value="default"/>
113 <when value="bc">
114 <param name="bloom_file" type="data" format="tabular,tsv" label="Bloom counter file"/>
115 <param argument="--bf-fp" type="float" label="False positive rate of bloom filter" optional="true"/>
116 </when>
117 <when value="bf_size">
118 <param name="bf_size" argument="--bf-size" type="integer" label="Use bloom filter to count high-frequency mers" min="1" optional="true"/>
119 <param argument="--bf-fp" type="float" label="False positive rate of bloom filter" optional="true"/>
120 </when>
121 </conditional>
122 <param argument="--if" type="data" format="txt" label="Count only k-mers in this file" optional="true"/>
123 <param argument="--reprobes" type="integer" label="Maximum number of repropbes" min="1" optional="true"/>
124 <param argument="--text" type="boolean" label="Dump in text format" truevalue="text" falsevalue="jf"/>
125 <param argument="--lower-count" type="integer" label="Lower count" min="1" optional="true" help="Don't output k-mer with count less than this value"/>
126 <param argument="--upper-count" type="integer" label="upper count" min="1" optional="true" help="Don't output k-mer with count greater than this value"/>
127 </when>
128 <when value="histo">
129 <param name="input" type="data" format="jellyfish" label="Input data file"/>
130 <param argument="--low" type="integer" min="1" label="Lower count value of histogram" optional="true"/>
131 <param argument="--high" type="integer" min="1" label="Upper count value of histogram" optional="true"/>
132 <param argument="--increment" type="integer" min="1" label="Increment value for buckets" optional="true"/>
133 <param argument="--full" type="boolean" label="Full histogram. Don't skip count 0" truevalue="--full" falsevalue=""/>
134 </when>
135 <when value="dump">
136 <param name="input" type="data" format="jellyfish" label="Input data file"/>
137 <conditional name="format">
138 <param name="format_select" type="select" label="Output format">
139 <option value="fasta"/>
140 <option value="column"/>
141 </param>
142 <when value="fasta"/>
143 <when value="column">
144 <param argument="--tab" type="boolean" label="Use tab separator" truevalue="--tab" falsevalue=""/>
145 </when>
146 </conditional>
147 <param argument="--lower-count" type="integer" min="0" optional="true" label="Don't output k-mer with count less than lower-count" />
148 <param argument="--upper-count" type="integer" min="1" optional="true" label="Don't output k-mer with count greater than upper-count" />
149 </when>
150 <!-- <when value="bc">
151 </when>
152 <when value="info">
153
154 </when>
155 <when value="stats">
156
157 </when>
158 <when value="merge">
159
160 </when>
161 <when value="query">
162
163 </when> -->
164 </conditional>
165 </inputs>
166 <outputs>
167 <data name="jellyfish_db" format="jellyfish" from_work_dir="mer_counts.jf" label="${tool.name} on ${on_string}: jellyfish db">
168 <filter>commands["command"] == "count" and not commands["text"]</filter>
169 </data>
170 <data name="jellyfish_db_txt" format="txt" from_work_dir="mer_counts.jf" label="${tool.name} on ${on_string}: jellyfish db text">
171 <filter>commands["command"] == "count" and commands["text"]</filter>
172 </data>
173 <data name="jellyfish_histo" format="txt" from_work_dir="jellyfish_histo.txt" label="${tool.name} on ${on_string}: histogram">
174 <filter>commands["command"] == "histo"</filter>
175 </data>
176 <data name="jellyfish_fasta" format="fasta" from_work_dir="jellyfish_dump.fasta" label="${tool.name} on ${on_string}: fasta dump">
177 <filter>commands["command"] == "dump" and commands["format"]["format_select"] == "fasta"</filter>
178 </data>
179 <data name="jellyfish_txt" format="txt" from_work_dir="jellyfish_dump.txt" label="${tool.name} on ${on_string}: txt dump">
180 <filter>commands["command"] == "dump" and commands["format"]["format_select"] == "column" and not commands["format"]["tab"]</filter>
181 </data>
182 <data name="jellyfish_tsv" format="tsv" from_work_dir="jellyfish_dump.tsv" label="${tool.name} on ${on_string}: tabular dump">
183 <filter>commands["command"] == "dump" and commands["format"]["format_select"] == "column" and commands["format"]["tab"]</filter>
184 </data>
185 </outputs>
186 <tests>
187 <test expect_num_outputs="1">
188 <conditional name="commands">
189 <param name="commands" value="count"/>
190 <param name="input" value="test.fastq"/>
191 <param name="mer_len" value="22"/>
192 <param name="size" value="16"/>
193 <param name="canonical" value="--canonical"/>
194 </conditional>
195 <output name="jellyfish_db" file="out.jf" compare="sim_size" delta="1000"/>
196 </test>
197 <test expect_num_outputs="1">
198 <conditional name="commands">
199 <param name="commands" value="count"/>
200 <param name="input" value="test.fastq"/>
201 <param name="mer_len" value="22"/>
202 <param name="size" value="16"/>
203 <param name="canonical" value="--canonical"/>
204 <conditional name="bloom">
205 <param name="filters" value="bf_size"/>
206 <param name="bf_size" value="2"/>
207 <param name="bf_fp" value="0.01"/>
208 </conditional>
209 <param name="text" value="text"/>
210 <param name="lower" value="1"/>
211 <param name="upper" value="20"/>
212 </conditional>
213 <output name="jellyfish_db_txt" file="out.jf.txt" lines_diff="2"/>
214 </test>
215 <test expect_num_outputs="1">
216 <conditional name="commands">
217 <param name="command" value="histo"/>
218 <param name="input" value="out.jf"/>
219 <param name="low" value="1"/>
220 <param name="high" value="10000"/>
221 <param name="full" value="--full"/>
222 <param name="increment" value="100"/>
223 </conditional>
224 <output name="jellyfish_histo" ftype="txt" file="histo.txt"/>
225 </test>
226 <test expect_num_outputs="1">
227 <conditional name="commands">
228 <param name="command" value="dump"/>
229 <param name="input" value="out.jf"/>
230 <param name="lower_count" value="3"/>
231 </conditional>
232 <output name="jellyfish_fasta" ftype="fasta" file="dump.fasta"/>
233 </test>
234 <test expect_num_outputs="1">
235 <conditional name="commands">
236 <param name="command" value="dump"/>
237 <param name="input" value="out.jf"/>
238 <conditional name="format">
239 <param name="format_select" value="column"/>
240 <param name="tab" value="--tab"/>
241 </conditional>
242 <param name="upper_count" value="100"/>
243 </conditional>
244 <output name="jellyfish_tsv" ftype="tsv" file="dump.tsv"/>
245 </test>
246 </tests>
247 <help><![CDATA[
248 Jellyfish is a tool for fast, memory-efficient counting of k-mers in DNA. A k-mer is a substring of length k, and counting the occurrences of all such substrings is a central step in many analyses of DNA sequence. Jellyfish can count k-mers using an order of magnitude less memory and an order of magnitude faster than other k-mer counting packages by using an efficient encoding of a hash table and by exploiting the "compare-and-swap" CPU instruction to increase parallelism.
249
250 JELLYFISH is a command-line program that reads FASTA and multi-FASTA files containing DNA sequences. It outputs its k-mer counts in a binary format, which can be translated into a human-readable text format using the "jellyfish dump" command, or queried for specific k-mers with "jellyfish query". See the documentation for details.
251 ]]></help>
252 <citations>
253 <citation type="doi">10.1093/bioinformatics/btr011</citation>
254 </citations>
255 </tool>