comparison read-it-and-keep.xml @ 1:1563b58905f4 draft

"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/read-it-and-keep commit 5fcc308928ab2417b7e40227b27a3955f227649d"
author iuc
date Thu, 17 Mar 2022 11:12:09 +0000
parents 554aa2a63f04
children fa7086274673
comparison
equal deleted inserted replaced
0:554aa2a63f04 1:1563b58905f4
1 <tool id="read_it_and_keep" name="Read It and Keep" version="@TOOL_VERSION@+galaxy0" profile="20.09"> 1 <tool id="read_it_and_keep" name="Read It and Keep" version="@TOOL_VERSION@+galaxy0" profile="20.09">
2 <macros> 2 <macros>
3 <token name="@FASTQ_FORMATS@">fastq,fastq.gz,fastqsanger,fastqsanger.gz</token> 3 <token name="@INPUT_FORMATS@">fasta,fastq,fasta.gz,fastq.gz</token>
4 <token name="@TOOL_VERSION@">0.1.0</token> 4 <token name="@TOOL_VERSION@">0.2.2</token>
5 </macros> 5 </macros>
6 <requirements> 6 <requirements>
7 <requirement type="package" version="@TOOL_VERSION@">read-it-and-keep</requirement> 7 <requirement type="package" version="@TOOL_VERSION@">read-it-and-keep</requirement>
8 <requirement type="package">python</requirement> 8 <requirement type="package" version="3.10">python</requirement>
9 </requirements> 9 </requirements>
10 <version_command><![CDATA[readItAndKeep -V]]></version_command>
10 <command detect_errors="exit_code"><![CDATA[ 11 <command detect_errors="exit_code"><![CDATA[
11 #if $ref_source.source == "history" 12 #if $ref_source.source == "history"
12 ln -s '$ref_source.ref_fasta' ref${trim_reference}.fasta && 13 ln -s '$ref_source.ref_fasta' ref${trim_reference}.fasta &&
13 #elif $ref_source.source == "builtin" 14 #elif $ref_source.source == "builtin"
14 ln -s '$ref_source.ref_fasta_builtin.path' ref${trim_reference}.fasta && 15 ln -s '$ref_source.ref_fasta_builtin.path' ref${trim_reference}.fasta &&
15 #end if 16 #end if
16 #if $trim_reference 17 #if $trim_reference
17 python '$__tool_directory__/trim_reference.py' ref${trim_reference}.fasta ref.fasta && 18 python '$__tool_directory__/trim_reference.py' ref${trim_reference}.fasta ref.fasta &&
18 #end if 19 #end if
19 #if $reads.read_type == "paired" 20 #if $reads.read_type == "paired"
20 ln -s '$reads.read1' read1.fastq && 21 #set $ext_out1 = 'fasta' if $reads.read1.ext in ['fasta', 'fasta.gz'] else 'fastq'
21 ln -s '$reads.read2' read2.fastq && 22 #set $ext_out2 = 'fasta' if $reads.read1.ext in ['fasta', 'fasta.gz'] else 'fastq'
23 ln -s '$reads.read1' read1 &&
24 ln -s '$reads.read2' read2 &&
22 #elif $reads.read_type == 'paired_collection' 25 #elif $reads.read_type == 'paired_collection'
23 ln -s '$reads.paired_reads.forward' read1.fastq && 26 #set $ext_out1 = 'fasta' if $reads.paired_reads.forward.ext in ['fasta', 'fasta.gz'] else 'fastq'
24 ln -s '$reads.paired_reads.reverse' read2.fastq && 27 #set $ext_out2 = 'fasta' if $reads.paired_reads.reverse.ext in ['fasta', 'fasta.gz'] else 'fastq'
28 ln -s '$reads.paired_reads.forward' read1 &&
29 ln -s '$reads.paired_reads.reverse' read2 &&
25 #elif $reads.read_type == 'single' 30 #elif $reads.read_type == 'single'
26 ln -s '$reads.single_read1' read1.fastq && 31 #set $ext_out1 = 'fasta' if $reads.read1.ext in ['fasta', 'fasta.gz'] else 'fastq'
32 ln -s '$reads.read1' read1 &&
27 #end if 33 #end if
28 readItAndKeep 34 readItAndKeep
29 --tech $sequencing_tech 35 --tech $sequencing_tech
30 --ref_fasta ref.fasta 36 --ref_fasta ref.fasta
31 --min_map_length $adv.min_map_length 37 --min_map_length $adv.min_map_length
32 --min_map_length_pc $adv.min_map_length_pc 38 --min_map_length_pc $adv.min_map_length_pc
33 --reads1 read1.fastq 39 $adv.enumerate_names
40 --reads1 read1
34 #if $reads.read_type != "single" 41 #if $reads.read_type != "single"
35 --reads2 read2.fastq 42 --reads2 read2
36 #end if 43 #end if
37 -o output 44 -o output
38 #if $reads.read_type == 'single' 45 #if $reads.read_type == 'single':
39 && mv output.reads.fastq.gz output.reads_1.fastq.gz 46 && mv output.reads.${ext_out1}.gz output.reads_1.${ext_out1}.gz
47 #end if
48 #if $reads.read_type == 'paired_collection':
49 #if not $reads.paired_reads.forward.ext.endswith('.gz'):
50 && gunzip ./output.reads_1.${ext_out1}.gz
51 && gunzip ./output.reads_2.${ext_out2}.gz
52 #end if
53 #elif not $reads.read1.ext.endswith('.gz'):
54 && gunzip ./output.reads_1.${ext_out1}.gz
55 #if $reads.read_type != 'single' and not $reads.read2.ext.endswith('.gz'):
56 && gunzip ./output.reads_2.${ext_out2}.gz
57 #end if
40 #end if 58 #end if
41 ]]></command> 59 ]]></command>
42 <inputs> 60 <inputs>
43 <conditional name="reads"> 61 <conditional name="reads">
44 <param type="select" label="Read type" name="read_type"> 62 <param type="select" label="Read type" name="read_type">
45 <option value="paired" selected="true">Paired end</option> 63 <option value="paired" selected="true">Paired end</option>
46 <option value="paired_collection">Paired collection</option> 64 <option value="paired_collection">Paired collection</option>
47 <option value="single">Single ended</option> 65 <option value="single">Single ended</option>
48 </param> 66 </param>
49 <when value="paired"> 67 <when value="paired">
50 <param type="data" format="@FASTQ_FORMATS@" name="read1" label="Read1" /> 68 <param type="data" format="@INPUT_FORMATS@" name="read1" label="Read1" />
51 <param type="data" format="@FASTQ_FORMATS@" name="read2" label="Read2" /> 69 <param type="data" format="@INPUT_FORMATS@" name="read2" label="Read2" />
52 </when> 70 </when>
53 <when value="paired_collection"> 71 <when value="paired_collection">
54 <param type="data_collection" collection_type="paired" format="@FASTQ_FORMATS@" name="paired_reads" label="Reads" /> 72 <param type="data_collection" collection_type="paired" format="@INPUT_FORMATS@" name="paired_reads" label="Reads" />
55 </when> 73 </when>
56 <when value="single"> 74 <when value="single">
57 <param type="data" format="@FASTQ_FORMATS@" name="single_read1" label="Read1" /> 75 <param type="data" format="@INPUT_FORMATS@" name="read1" label="Read1" />
58 </when> 76 </when>
59 </conditional> 77 </conditional>
60 <conditional name="ref_source"> 78 <conditional name="ref_source">
61 <param type="select" label="Reference genome source" name="source"> 79 <param type="select" label="Reference genome source" name="source">
62 <option value="history" selected="true">History</option> 80 <option value="history" selected="true">History</option>
77 <option value="ont">Oxford Nanopore</option> 95 <option value="ont">Oxford Nanopore</option>
78 </param> 96 </param>
79 <section name="adv" title="Advanced options"> 97 <section name="adv" title="Advanced options">
80 <param argument="--min_map_length" type="integer" min="0" value="50" label="Shortest match required to keep a read (in bp)" /> 98 <param argument="--min_map_length" type="integer" min="0" value="50" label="Shortest match required to keep a read (in bp)" />
81 <param argument="--min_map_length_pc" type="float" min="0.0" max="100.0" value="50.0" label="Minimum length of match required to keep a read (as percentage of read length" /> 99 <param argument="--min_map_length_pc" type="float" min="0.0" max="100.0" value="50.0" label="Minimum length of match required to keep a read (as percentage of read length" />
100 <param name="enumerate_names" type="boolean" truevalue="--enumerate_names" falsevalue="" label="Rename the reads 1,2,3,... (for paired reads, will also add /1 or /2 to the end of names)" />
82 </section> 101 </section>
83 </inputs> 102 </inputs>
84 <outputs> 103 <outputs>
85 <data name="output_reads1" format="fastqsanger.gz" label="Filtered reads ${on_string} - reads1" from_work_dir="output.reads_1.fastq.gz"> 104 <data name="output_reads1" format_source="read1" label="Filtered reads ${on_string} - reads1" from_work_dir="output.reads_1.fast*">
86 <filter>reads["read_type"] == "single" or reads["read_type"] == "paired"</filter> 105 <filter>reads["read_type"] == "single" or reads["read_type"] == "paired"</filter>
87 </data> 106 </data>
88 <data name="output_reads2" format="fastqsanger.gz" label="Filtered reads ${on_string} - reads2" from_work_dir="output.reads_2.fastq.gz"> 107 <data name="output_reads2" format_source="read2" label="Filtered reads ${on_string} - reads2" from_work_dir="output.reads_2.fast*">
89 <filter>reads["read_type"] == "paired"</filter> 108 <filter>reads["read_type"] == "paired"</filter>
90 </data> 109 </data>
91 <collection type="paired" format="fastqsanger.gz" name="output_collection" label="Filtered reads ${on_string}"> 110 <collection type="paired" name="output_collection" format_source="paired_reads" label="Filtered reads ${on_string}">
92 <filter>reads["read_type"] == "paired_collection"</filter> 111 <filter>reads["read_type"] == "paired_collection"</filter>
93 <data name="forward" format="fastqsanger.gz" from_work_dir="output.reads_1.fastq.gz" /> 112 <data name="forward" from_work_dir="output.reads_1.fast*" />
94 <data name="reverse" format="fastqsanger.gz" from_work_dir="output.reads_2.fastq.gz" /> 113 <data name="reverse" from_work_dir="output.reads_2.fast*" />
95 </collection> 114 </collection>
96 </outputs> 115 </outputs>
97 <tests> 116 <tests>
117 <!--Testing uncompressed fastq input-->
118 <test expect_num_outputs="2">
119 <conditional name="reads">
120 <param name="read_type" value="paired" />
121 <param name="read1" value="test1.fastq.gz" ftype="fastqsanger" />
122 <param name="read2" value="test2.fastq.gz" ftype="fastqsanger" />
123 </conditional>
124 <conditional name="ref_source">
125 <param name="source" value="history" />
126 <param name="ref_fasta" value="reference.fasta" ftype="fasta" />
127 </conditional>
128 <param name="sequencing_tech" value="illumina" />
129 <output name="output_reads1" file="output.test1.reads_1.fastq" ftype="fastqsanger"/>
130 <output name="output_reads2" file="output.test1.reads_2.fastq" ftype="fastqsanger"/>
131 </test>
132 <test expect_num_outputs="3">
133 <conditional name="reads">
134 <param name="read_type" value="paired_collection" />
135 <param name="paired_reads">
136 <collection type="paired">
137 <element name="forward" value="test1.fastq.gz" ftype="fastqsanger" />
138 <element name="reverse" value="test2.fastq.gz" ftype="fastqsanger" />
139 </collection>
140 </param>
141 </conditional>
142 <conditional name="ref_source">
143 <param name="source" value="history" />
144 <param name="ref_fasta" value="reference.fasta" ftype="fasta" />
145 </conditional>
146 <param name="sequencing_tech" value="illumina" />
147 <output_collection name="output_collection" type="paired">
148 <element name="forward" file="output.test1.reads_1.fastq" ftype="fastqsanger"/>
149 <element name="reverse" file="output.test1.reads_2.fastq" ftype="fastqsanger"/>
150 </output_collection>
151 </test>
152 <test expect_num_outputs="1">
153 <conditional name="reads">
154 <param name="read_type" value="single" />
155 <param name="read1" value="test3.fastq.gz" ftype="fastqsanger"/>
156 </conditional>
157 <conditional name="ref_source">
158 <param name="source" value="history" />
159 <param name="ref_fasta" value="reference.fasta" ftype="fasta" />
160 </conditional>
161 <param name="sequencing_tech" value="ont" />
162 <param name="enumerate_names" value="True" />
163 <output name="output_reads1" file="output.test3.reads_1.fastq" ftype="fastqsanger"/>
164 </test>
165 <!--Testing uncompressed fasta input-->
166 <test expect_num_outputs="2">
167 <conditional name="reads">
168 <param name="read_type" value="paired" />
169 <param name="read1" value="test1.fasta.gz" ftype="fasta" />
170 <param name="read2" value="test2.fasta.gz" ftype="fasta" />
171 </conditional>
172 <conditional name="ref_source">
173 <param name="source" value="history" />
174 <param name="ref_fasta" value="reference.fasta" ftype="fasta" />
175 </conditional>
176 <param name="sequencing_tech" value="illumina" />
177 <output name="output_reads1" file="output.test1.reads_1.fasta" ftype="fasta"/>
178 <output name="output_reads2" file="output.test1.reads_2.fasta" ftype="fasta"/>
179 </test>
180 <test expect_num_outputs="3">
181 <conditional name="reads">
182 <param name="read_type" value="paired_collection" />
183 <param name="paired_reads">
184 <collection type="paired">
185 <element name="forward" value="test1.fasta.gz" ftype="fasta" />
186 <element name="reverse" value="test2.fasta.gz" ftype="fasta" />
187 </collection>
188 </param>
189 </conditional>
190 <conditional name="ref_source">
191 <param name="source" value="history" />
192 <param name="ref_fasta" value="reference.fasta" ftype="fasta" />
193 </conditional>
194 <param name="sequencing_tech" value="illumina" />
195 <output_collection name="output_collection" type="paired">
196 <element name="forward" file="output.test1.reads_1.fasta" ftype="fasta"/>
197 <element name="reverse" file="output.test1.reads_2.fasta" ftype="fasta"/>
198 </output_collection>
199 </test>
200 <test expect_num_outputs="1">
201 <conditional name="reads">
202 <param name="read_type" value="single" />
203 <param name="read1" value="test3.fasta.gz" ftype="fasta"/>
204 </conditional>
205 <conditional name="ref_source">
206 <param name="source" value="history" />
207 <param name="ref_fasta" value="reference.fasta" ftype="fasta" />
208 </conditional>
209 <param name="sequencing_tech" value="ont" />
210 <param name="enumerate_names" value="True" />
211 <output name="output_reads1" file="output.test3.reads_1.fasta" ftype="fasta"/>
212 </test>
213 <!--Testing compressed fasta input-->
214 <test expect_num_outputs="2">
215 <conditional name="reads">
216 <param name="read_type" value="paired" />
217 <param name="read1" value="test1.fasta.gz" ftype="fasta.gz" />
218 <param name="read2" value="test2.fasta.gz" ftype="fasta.gz" />
219 </conditional>
220 <conditional name="ref_source">
221 <param name="source" value="history" />
222 <param name="ref_fasta" value="reference.fasta" ftype="fasta" />
223 </conditional>
224 <param name="sequencing_tech" value="illumina" />
225 <output name="output_reads1" decompress="true" file="output.test1.reads_1.fasta" ftype="fasta.gz"/>
226 <output name="output_reads2" decompress="true" file="output.test1.reads_2.fasta" ftype="fasta.gz"/>
227 </test>
228 <test expect_num_outputs="3">
229 <conditional name="reads">
230 <param name="read_type" value="paired_collection" />
231 <param name="paired_reads">
232 <collection type="paired">
233 <element name="forward" value="test1.fasta.gz" ftype="fasta.gz" />
234 <element name="reverse" value="test2.fasta.gz" ftype="fasta.gz" />
235 </collection>
236 </param>
237 </conditional>
238 <conditional name="ref_source">
239 <param name="source" value="history" />
240 <param name="ref_fasta" value="reference.fasta" ftype="fasta" />
241 </conditional>
242 <param name="sequencing_tech" value="illumina" />
243 <output_collection name="output_collection" type="paired">
244 <element name="forward" ftype="fasta.gz">
245 <assert_contents>
246 <has_size value="680" delta="50" />
247 </assert_contents>
248 </element>
249 <element name="reverse" ftype="fasta.gz">
250 <assert_contents>
251 <has_size value="670" delta="50" />
252 </assert_contents>
253 </element>
254 </output_collection>
255 </test>
256 <test expect_num_outputs="1">
257 <conditional name="reads">
258 <param name="read_type" value="single" />
259 <param name="read1" value="test3.fasta.gz" ftype="fasta.gz"/>
260 </conditional>
261 <conditional name="ref_source">
262 <param name="source" value="history" />
263 <param name="ref_fasta" value="reference.fasta" ftype="fasta" />
264 </conditional>
265 <param name="sequencing_tech" value="ont" />
266 <param name="enumerate_names" value="True" />
267 <output name="output_reads1" decompress="true" file="output.test3.reads_1.fasta" ftype="fasta.gz"/>
268 </test>
269 <!--Testing compressed fastq input-->
98 <test expect_num_outputs="2"> 270 <test expect_num_outputs="2">
99 <conditional name="reads"> 271 <conditional name="reads">
100 <param name="read_type" value="paired" /> 272 <param name="read_type" value="paired" />
101 <param name="read1" value="test1.fastq.gz" ftype="fastqsanger.gz" /> 273 <param name="read1" value="test1.fastq.gz" ftype="fastqsanger.gz" />
102 <param name="read2" value="test2.fastq.gz" ftype="fastqsanger.gz" /> 274 <param name="read2" value="test2.fastq.gz" ftype="fastqsanger.gz" />
104 <conditional name="ref_source"> 276 <conditional name="ref_source">
105 <param name="source" value="history" /> 277 <param name="source" value="history" />
106 <param name="ref_fasta" value="reference.fasta" ftype="fasta" /> 278 <param name="ref_fasta" value="reference.fasta" ftype="fasta" />
107 </conditional> 279 </conditional>
108 <param name="sequencing_tech" value="illumina" /> 280 <param name="sequencing_tech" value="illumina" />
109 <output name="output_reads1" value="output_test1.fastq.gz" /> 281 <output name="output_reads1" decompress="true" file="output.test1.reads_1.fastq" ftype="fastqsanger.gz"/>
110 <output name="output_reads2" value="output_test2.fastq.gz" /> 282 <output name="output_reads2" decompress="true" file="output.test1.reads_2.fastq" ftype="fastqsanger.gz"/>
111 </test> 283 </test>
112 <test expect_num_outputs="3"> 284 <test expect_num_outputs="3">
113 <conditional name="reads"> 285 <conditional name="reads">
114 <param name="read_type" value="paired_collection" /> 286 <param name="read_type" value="paired_collection" />
115 <param name="paired_reads"> 287 <param name="paired_reads">
116 <collection type="paired"> 288 <collection type="paired">
117 <element name="forward" value="test1.fastq.gz" ftype="fastqsanger.gz" /> 289 <element name="forward" value="test1.fastq.gz" ftype="fastqsanger.gz" />
118 <element name="reverse" value="test2.fastq.gz" ftype="fastqsanger.gz" /> 290 <element name="reverse" value="test2.fastq.gz" ftype="fastqsanger.gz" />
119 </collection> 291 </collection>
120 </param> 292 </param>
121 </conditional> 293 </conditional>
122 <conditional name="ref_source"> 294 <conditional name="ref_source">
123 <param name="source" value="history" /> 295 <param name="source" value="history" />
124 <param name="ref_fasta" value="reference.fasta" ftype="fasta" /> 296 <param name="ref_fasta" value="reference.fasta" ftype="fasta" />
125 </conditional> 297 </conditional>
126 <param name="sequencing_tech" value="illumina" /> 298 <param name="sequencing_tech" value="illumina" />
127 <output_collection name="output_collection"> 299 <output_collection name="output_collection" type="paired">
128 <element name="forward" value="output_test1.fastq.gz" /> 300 <element name="forward" ftype="fastqsanger.gz">
129 <element name="reverse" value="output_test2.fastq.gz" /> 301 <assert_contents>
302 <has_size value="995" delta="50" />
303 </assert_contents>
304 </element>
305 <element name="reverse" ftype="fastqsanger.gz">
306 <assert_contents>
307 <has_size value="960" delta="50" />
308 </assert_contents>
309 </element>
130 </output_collection> 310 </output_collection>
131 </test> 311 </test>
132 <test expect_num_outputs="1"> 312 <test expect_num_outputs="1">
133 <conditional name="reads"> 313 <conditional name="reads">
134 <param name="read_type" value="single" /> 314 <param name="read_type" value="single" />
135 <param name="single_read1" value="test3.fastq.gz" ftype="fastqsanger.gz"/> 315 <param name="read1" value="test3.fastq.gz" ftype="fastqsanger.gz"/>
136 </conditional> 316 </conditional>
137 <conditional name="ref_source"> 317 <conditional name="ref_source">
138 <param name="source" value="history" /> 318 <param name="source" value="history" />
139 <param name="ref_fasta" value="reference.fasta" ftype="fasta" /> 319 <param name="ref_fasta" value="reference.fasta" ftype="fasta" />
140 </conditional> 320 </conditional>
141 <param name="sequencing_tech" value="ont" /> 321 <param name="sequencing_tech" value="ont" />
142 <output name="output_reads1" value="output_test3.fastq.gz" /> 322 <param name="enumerate_names" value="True" />
323 <output name="output_reads1" decompress="true" file="output.test3.reads_1.fastq" ftype="fastqsanger.gz"/>
143 </test> 324 </test>
144 </tests> 325 </tests>
145 <help><![CDATA[ 326 <help><![CDATA[
146 ReadItAndKeep 327 ReadItAndKeep
147 ------------- 328 -------------