comparison unicycler.xml @ 9:6e26c9afd301 draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/unicycler commit d95fed0458171a099928d51e363865783f89717f
author iuc
date Sat, 24 Sep 2022 21:14:02 +0000
parents 9e3e80cc4ad4
children d10bdad2fd17
comparison
equal deleted inserted replaced
8:9e3e80cc4ad4 9:6e26c9afd301
1 <tool id="unicycler" name="Create assemblies with Unicycler" version="@VERSION@.0" profile="20.09"> 1 <tool id="unicycler" name="Create assemblies with Unicycler" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="20.09">
2 <macros> 2 <macros>
3 <token name="@VERSION@">0.4.8</token> 3 <token name="@TOOL_VERSION@">0.5.0</token>
4 <token name="@VERSION_SUFFIX@">0</token>
4 </macros> 5 </macros>
6 <xrefs>
7 <xref type="bio.tools">unicycler</xref>
8 </xrefs>
5 <edam_topics> 9 <edam_topics>
6 <edam_topic>topic_0196</edam_topic> 10 <edam_topic>topic_0196</edam_topic>
7 </edam_topics> 11 </edam_topics>
8 <edam_operations> 12 <edam_operations>
9 <edam_operation>operation_0525</edam_operation> 13 <edam_operation>operation_0525</edam_operation>
10 </edam_operations> 14 </edam_operations>
11 <requirements> 15 <requirements>
12 <requirement type="package" version="@VERSION@">unicycler</requirement> 16 <requirement type="package" version="@TOOL_VERSION@">unicycler</requirement>
17 <requirement type="package" version="1.15.1">samtools</requirement>
13 </requirements> 18 </requirements>
14 <command detect_errors="exit_code"><![CDATA[ 19 <command detect_errors="exit_code"><![CDATA[
15 ## Preparing files 20 ## Preparing files
16 #if str( $paired_unpaired.fastq_input_selector ) == "paired" 21 #if str( $paired_unpaired.fastq_input_selector ) == "paired"
17 #if $paired_unpaired.fastq_input1.is_of_type('fastqsanger') 22 #if $paired_unpaired.fastq_input1.is_of_type('fastqsanger')
55 #elif $long.is_of_type('fasta') 60 #elif $long.is_of_type('fasta')
56 #set lr = "lr.fasta" 61 #set lr = "lr.fasta"
57 #end if 62 #end if
58 ln -s '${long}' '$lr' && 63 ln -s '${long}' '$lr' &&
59 #end if 64 #end if
60 ## Get location for pilon installation
61 pilon=`pilon --jar_dir` &&
62 ## Running Unicycler 65 ## Running Unicycler
63 unicycler -t "\${GALAXY_SLOTS:-4}" 66 unicycler -t "\${GALAXY_SLOTS:-4}"
64 -o ./ 67 -o ./
65 --verbosity 3 68 --verbosity 3
66 --pilon_path \$pilon
67 #if str( $paired_unpaired.fastq_input_selector ) == "paired" 69 #if str( $paired_unpaired.fastq_input_selector ) == "paired"
68 -1 '$fq1' 70 -1 '$fq1'
69 -2 '$fq2' 71 -2 '$fq2'
70 #elif str( $paired_unpaired.fastq_input_selector ) == "paired_collection" 72 #elif str( $paired_unpaired.fastq_input_selector ) == "paired_collection"
71 -1 '$fq1' 73 -1 '$fq1'
84 #if str($min_anchor_seg_len) != '' 86 #if str($min_anchor_seg_len) != ''
85 --min_anchor_seg_len '$min_anchor_seg_len' 87 --min_anchor_seg_len '$min_anchor_seg_len'
86 #end if 88 #end if
87 ## Spades Options section 89 ## Spades Options section
88 ## ---------------------------------------------------------- 90 ## ----------------------------------------------------------
89 $spades.no_correct
90 --min_kmer_frac '$spades.min_kmer_frac' 91 --min_kmer_frac '$spades.min_kmer_frac'
91 --max_kmer_frac '$spades.max_kmer_frac' 92 --max_kmer_frac '$spades.max_kmer_frac'
92 #if str($spades.kmers) != '' 93 #if str($spades.kmers) != ''
93 --kmers '$spades.kmers' 94 --kmers '$spades.kmers'
94 #end if 95 #end if
103 #if $rotation.start_genes 104 #if $rotation.start_genes
104 --start_genes '$rotation.start_genes' 105 --start_genes '$rotation.start_genes'
105 #end if 106 #end if
106 --start_gene_id '$rotation.start_gene_id' 107 --start_gene_id '$rotation.start_gene_id'
107 --start_gene_cov '$rotation.start_gene_cov' 108 --start_gene_cov '$rotation.start_gene_cov'
108 ## Pilon Options section
109 ## ----------------------------------------------------------
110 $pilon.no_pilon
111 #if str($pilon.min_polish_size) != ''
112 --min_polish_size '$pilon.min_polish_size'
113 #end if
114 ## Graph cleaning Options sdection 109 ## Graph cleaning Options sdection
115 ## ---------------------------------------------------------- 110 ## ----------------------------------------------------------
116 --min_component_size '$graph_clean.min_component_size' 111 --min_component_size '$graph_clean.min_component_size'
117 --min_dead_end_size '$graph_clean.min_dead_end_size' 112 --min_dead_end_size '$graph_clean.min_dead_end_size'
118 ## Long Read Alignment Options 113 ## Long Read Alignment Options
121 --contamination '$lr_align.contamination' 116 --contamination '$lr_align.contamination'
122 #end if 117 #end if
123 --scores '${lr_align.scores}' 118 --scores '${lr_align.scores}'
124 #if str($lr_align.low_score) != '' 119 #if str($lr_align.low_score) != ''
125 --low_score '$lr_align.low_score' 120 --low_score '$lr_align.low_score'
121 #end if
122 $lr_align.no_simple_bridges
123 --keep $keep
124 #if $keep != '0'
125 && mkdir 'spades_graphs'
126 && mv 00*gfa './spades_graphs/'
127 #end if
128 #if $keep == '2' and $long
129 && samtools view -@ "\${GALAXY_SLOTS:-4}" -u 'read_alignment/long_read_alignments.sam' | samtools sort -@ "\${GALAXY_SLOTS:-4}" -o 'read_alignment/long_read_alignments.bam'
126 #end if 130 #end if
127 ]]></command> 131 ]]></command>
128 <inputs> 132 <inputs>
129 <conditional name="paired_unpaired"> 133 <conditional name="paired_unpaired">
130 <param name="fastq_input_selector" type="select" label="Paired or Single end data?" help="Select between paired and single end data"> 134 <param name="fastq_input_selector" type="select" label="Paired or Single end data?" help="Select between paired and single end data">
158 <param argument="--min_fasta_length" type="integer" value="100" label="Exclude contigs from the FASTA file which are shorter than this length (bp)"/> 162 <param argument="--min_fasta_length" type="integer" value="100" label="Exclude contigs from the FASTA file which are shorter than this length (bp)"/>
159 <param argument="--linear_seqs" type="integer" value="0" label="The expected number of linear (i.e. non-circular) sequences in the assembly"/> 163 <param argument="--linear_seqs" type="integer" value="0" label="The expected number of linear (i.e. non-circular) sequences in the assembly"/>
160 <param argument="--min_anchor_seg_len" type="integer" min="0" optional="true" label="Unicycler will not use segments shorter than this as scaffolding anchors"/> 164 <param argument="--min_anchor_seg_len" type="integer" min="0" optional="true" label="Unicycler will not use segments shorter than this as scaffolding anchors"/>
161 <section name="spades" expanded="False" title="SPAdes options" 165 <section name="spades" expanded="False" title="SPAdes options"
162 help="Unicycler uses SPAdes to construct assembly graphs. You can modify some of the SPAdes settings here. Use this ONLY if you know what you are doing!"> 166 help="Unicycler uses SPAdes to construct assembly graphs. You can modify some of the SPAdes settings here. Use this ONLY if you know what you are doing!">
163 <param argument="--no_correct" type="boolean" checked="false" truevalue="--no_correct" falsevalue=""
164 label="Skip SPAdes error correction step" help="This option turns off SPAdes error correction. Generally it is highly recommended to use correction."/>
165 <param argument="--min_kmer_frac" type="float" min="0" max="1" value="0.2" 167 <param argument="--min_kmer_frac" type="float" min="0" max="1" value="0.2"
166 label="Lowest k-mer size for SPAdes assembly, expressed as a fraction of the read length"/> 168 label="Lowest k-mer size for SPAdes assembly, expressed as a fraction of the read length"/>
167 <param argument="--max_kmer_frac" type="float" min="0" max="1" value="0.95" 169 <param argument="--max_kmer_frac" type="float" min="0" max="1" value="0.95"
168 label="Highest k-mer size for SPAdes assembly, expressed as a fraction of the read length"/> 170 label="Highest k-mer size for SPAdes assembly, expressed as a fraction of the read length"/>
169 <param argument="--kmers" type="text" value="" optional="true" label="Exact k-mers to use for SPAdes assembly, comma-separated"> 171 <param argument="--kmers" type="text" value="" optional="true" label="Exact k-mers to use for SPAdes assembly, comma-separated">
181 label="Do not rotate completed replicons to start at a standard gene." help="Unicycler uses TBLASTN to search for dnaA or repA alleles in each completed replicon. If one is found, the sequence is rotated and/or flipped so that it begins with that gene encoded on the forward strand. This provides consistently oriented assemblies and reduces the risk that a gene will be split across the start and end of the sequence."/> 183 label="Do not rotate completed replicons to start at a standard gene." help="Unicycler uses TBLASTN to search for dnaA or repA alleles in each completed replicon. If one is found, the sequence is rotated and/or flipped so that it begins with that gene encoded on the forward strand. This provides consistently oriented assemblies and reduces the risk that a gene will be split across the start and end of the sequence."/>
182 <param argument="--start_genes" optional="true" type="data" format="fasta" label="FASTA file of genes for start point of rotated replicons" /> 184 <param argument="--start_genes" optional="true" type="data" format="fasta" label="FASTA file of genes for start point of rotated replicons" />
183 <param argument="--start_gene_id" type="float" min="0" max="100" value="90" label="The minimum required BLAST percent identity for a start gene search"/> 185 <param argument="--start_gene_id" type="float" min="0" max="100" value="90" label="The minimum required BLAST percent identity for a start gene search"/>
184 <param argument="--start_gene_cov" type="float" min="0" max="100" value="95" label="The minimum required BLAST percent coverage for a start gene search"/> 186 <param argument="--start_gene_cov" type="float" min="0" max="100" value="95" label="The minimum required BLAST percent coverage for a start gene search"/>
185 </section> 187 </section>
186 <section name="pilon" title="Pilon options" expanded="false">
187 <param argument="--no_pilon" type="boolean" checked="false" truevalue="--no_pilon" falsevalue=""
188 label="Do not use Pilon to polish the final assembly." help="Unicycler uses Pilon tool for polishing final assembly."/>
189 <param argument="--min_polish_size" type="integer" min="0" value="1000" label="Contigs shorter than this value (bp) will not be polished using Pilon"/>
190 </section>
191 <section name="graph_clean" expanded="false" title="Graph cleaning options" 188 <section name="graph_clean" expanded="false" title="Graph cleaning options"
192 help="These options control the removal of small leftover sequences after bridging is complete."> 189 help="These options control the removal of small leftover sequences after bridging is complete.">
193 <param argument="--min_component_size" type="integer" min="0" value="1000" 190 <param argument="--min_component_size" type="integer" min="0" value="1000"
194 label="Unbridged graph components smaller than this size will be removed from the final graph" /> 191 label="Unbridged graph components smaller than this size will be removed from the final graph" />
195 <param argument="--min_dead_end_size" type="integer" min="0" value="1000" 192 <param argument="--min_dead_end_size" type="integer" min="0" value="1000"
199 <param argument="--contamination" optional="true" type="data" format="fasta" 196 <param argument="--contamination" optional="true" type="data" format="fasta"
200 label="FASTA file of known contamination in long reads, e.g. lambda, phiXm or puc18 spike-ins." /> 197 label="FASTA file of known contamination in long reads, e.g. lambda, phiXm or puc18 spike-ins." />
201 <param argument="--scores" type="text" value="3,-6,-5,-2" label="Comma-delimited string of alignment scores: match, mismatch, gap open, gap extend"/> 198 <param argument="--scores" type="text" value="3,-6,-5,-2" label="Comma-delimited string of alignment scores: match, mismatch, gap open, gap extend"/>
202 <param argument="--low_score" optional="true" type="integer" value="" 199 <param argument="--low_score" optional="true" type="integer" value=""
203 label="Score threshold - alignments below this are considered poor" help="default = set automatically"/> 200 label="Score threshold - alignments below this are considered poor" help="default = set automatically"/>
201 <param argument="--no_simple_bridges" type="boolean" truevalue="--no_simple_bridges" falsevalue="" checked="false" label="Simple long-read bridging" help="Default: No" />
204 </section> 202 </section>
203 <param argument="--keep" type="select" label="Outputs to keep" help="Level of file retention. Default: 1">
204 <option value="0">0: only keep final files</option>
205 <option value="1" selected="true">1: save graphs at main checkpoints</option>
206 <option value="2">2: also keep SAM</option>
207 </param>
205 </inputs> 208 </inputs>
206 <outputs> 209 <outputs>
207 <data name="assembly_graph" format="gfa1" from_work_dir="assembly.gfa" label="${tool.name} on ${on_string}: Final Assembly Graph" /> 210 <data name="assembly_graph" format="gfa1" from_work_dir="assembly.gfa" label="${tool.name} on ${on_string}: Final Assembly Graph" />
208 <data name="assembly" format="fasta" from_work_dir="assembly.fasta" label="${tool.name} on ${on_string}: Final Assembly"/> 211 <data name="assembly" format="fasta" from_work_dir="assembly.fasta" label="${tool.name} on ${on_string}: Final Assembly"/>
212 <collection name="spades_collection" type="list" label="${tool.name} on ${on_string}: SPAdes graphs">
213 <discover_datasets pattern="__designation_and_ext__" format="gfa1" directory="spades_graphs"/>
214 <filter>keep != "0"</filter>
215 </collection>
216 <data name="bam_file" format="bam" from_work_dir="read_alignment/long_read_alignments.bam" label="${tool.name} on ${on_string}: Long read alignments BAM">
217 <filter>keep == "2" and long</filter>
218 </data>
209 </outputs> 219 </outputs>
210 <tests> 220 <tests>
211 <test> 221 <test expect_num_outputs="2">
212 <conditional name="paired_unpaired"> 222 <conditional name="paired_unpaired">
213 <param name="fastq_input_selector" value="paired" /> 223 <param name="fastq_input_selector" value="paired" />
214 <param name="fastq_input1" value="phix_f.fq.gz" ftype="fastqsanger" /> 224 <param name="fastq_input1" value="phix_f.fq.gz" ftype="fastqsanger" />
215 <param name="fastq_input2" value="phix_r.fq.gz" ftype="fastqsanger" /> 225 <param name="fastq_input2" value="phix_r.fq.gz" ftype="fastqsanger" />
216 </conditional> 226 </conditional>
217 <param name="mode" value="normal" /> 227 <param name="mode" value="normal" />
218 <param name="min_fasta_length" value="100"/> 228 <param name="min_fasta_length" value="100"/>
219 <param name="linear_seqs" value="0"/> 229 <param name="linear_seqs" value="0"/>
220 <section name="spades"> 230 <section name="spades">
221 <param name="no_correct" value="true"/>
222 <param name="min_kmer_frac" value="0.2"/> 231 <param name="min_kmer_frac" value="0.2"/>
223 <param name="max_kmer_frac" value="0.95"/> 232 <param name="max_kmer_frac" value="0.95"/>
224 <param name="kmer_count" value="10"/> 233 <param name="kmer_count" value="10"/>
225 <param name="depth_filter" value="0.25"/> 234 <param name="depth_filter" value="0.25"/>
226 </section> 235 </section>
227 <section name="rotation"> 236 <section name="rotation">
228 <param name="no_rotate" value=""/> 237 <param name="no_rotate" value=""/>
229 <param name="start_gene_id" value="90"/> 238 <param name="start_gene_id" value="90"/>
230 <param name="start_gene_cov" value="95"/> 239 <param name="start_gene_cov" value="95"/>
231 </section> 240 </section>
232 <section name="pilon">
233 <param name="no_pilon" value=""/>
234 <param name="min_polish_size" value="1000"/>
235 </section>
236 <section name="graph_clean"> 241 <section name="graph_clean">
237 <param name="min_component_size" value="1000"/> 242 <param name="min_component_size" value="1000"/>
238 <param name="min_dead_end_size" value="1000"/> 243 <param name="min_dead_end_size" value="1000"/>
239 </section> 244 </section>
240 <section name="lr_align"> 245 <section name="lr_align">
241 <param name="scores" value="3,-6,-5,-2"/> 246 <param name="scores" value="3,-6,-5,-2"/>
242 </section> 247 </section>
248 <param name="keep" value="0"/>
243 <output name="assembly_graph" ftype="gfa1"> 249 <output name="assembly_graph" ftype="gfa1">
244 <assert_contents> 250 <assert_contents>
245 <has_line_matching expression="S\t1\t[ATCG]{5386,5386}\tLN:i:5386\tdp:f:1.0"/> 251 <has_line_matching expression="S\t1\t[ATCG]{5386,5386}\tLN:i:5386\tdp:f:1.0"/>
246 </assert_contents> 252 </assert_contents>
247 </output> 253 </output>
260 266
261 This command causes a segfault with the current version of unicycler on bioconda for Linux 267 This command causes a segfault with the current version of unicycler on bioconda for Linux
262 during the minimap step (which seems to be compiled C code). A gist of the log can be found 268 during the minimap step (which seems to be compiled C code). A gist of the log can be found
263 at: https://gist.github.com/jmchilton/b411b695170c1daea6589f5d76e326cb. 269 at: https://gist.github.com/jmchilton/b411b695170c1daea6589f5d76e326cb.
264 --> 270 -->
265 <test> 271 <test expect_num_outputs="2">
266 <conditional name="paired_unpaired"> 272 <conditional name="paired_unpaired">
267 <param name="fastq_input_selector" value="paired" /> 273 <param name="fastq_input_selector" value="paired" />
268 <param name="fastq_input1" value="phix_f.fq.gz" ftype="fastqsanger.gz" /> 274 <param name="fastq_input1" value="phix_f.fq.gz" ftype="fastqsanger.gz" />
269 <param name="fastq_input2" value="phix_r.fq.gz" ftype="fastqsanger.gz" /> 275 <param name="fastq_input2" value="phix_r.fq.gz" ftype="fastqsanger.gz" />
270 </conditional> 276 </conditional>
271 <param name="long" value="onp.fa" ftype="fasta" /> 277 <param name="long" value="onp.fa" ftype="fasta" />
272 <param name="mode" value="normal" /> 278 <param name="mode" value="normal" />
273 <param name="min_fasta_length" value="100"/> 279 <param name="min_fasta_length" value="100"/>
274 <param name="linear_seqs" value="0"/> 280 <param name="linear_seqs" value="0"/>
275 <section name="spades"> 281 <section name="spades">
276 <param name="no_correct" value="true"/>
277 <param name="min_kmer_frac" value="0.2"/> 282 <param name="min_kmer_frac" value="0.2"/>
278 <param name="max_kmer_frac" value="0.95"/> 283 <param name="max_kmer_frac" value="0.95"/>
279 <param name="kmer_count" value="10"/> 284 <param name="kmer_count" value="10"/>
280 <param name="depth_filter" value="0.25"/> 285 <param name="depth_filter" value="0.25"/>
281 </section> 286 </section>
282 <section name="rotation"> 287 <section name="rotation">
283 <param name="no_rotate" value=""/> 288 <param name="no_rotate" value=""/>
284 <param name="start_gene_id" value="90"/> 289 <param name="start_gene_id" value="90"/>
285 <param name="start_gene_cov" value="95"/> 290 <param name="start_gene_cov" value="95"/>
286 </section> 291 </section>
287 <section name="pilon">
288 <param name="no_pilon" value=""/>
289 <param name="min_polish_size" value="1000"/>
290 </section>
291 <section name="graph_clean"> 292 <section name="graph_clean">
292 <param name="min_component_size" value="1000"/> 293 <param name="min_component_size" value="1000"/>
293 <param name="min_dead_end_size" value="1000"/> 294 <param name="min_dead_end_size" value="1000"/>
294 </section> 295 </section>
295 <section name="lr_align"> 296 <section name="lr_align">
296 <param name="scores" value="3,-6,-5,-2"/> 297 <param name="scores" value="3,-6,-5,-2"/>
297 </section> 298 </section>
299 <param name="keep" value="0"/>
298 <output name="assembly_graph" ftype="gfa1"> 300 <output name="assembly_graph" ftype="gfa1">
299 <assert_contents> 301 <assert_contents>
300 <has_line_matching expression="S\t1\t[ATCG]{5386,5386}\tLN:i:5386\tdp:f:1.0"/> 302 <has_line_matching expression="S\t1\t[ATCG]{5386,5386}\tLN:i:5386\tdp:f:1.0"/>
301 </assert_contents> 303 </assert_contents>
302 </output> 304 </output>
304 <assert_contents> 306 <assert_contents>
305 <has_text text="length=5386" /> 307 <has_text text="length=5386" />
306 </assert_contents> 308 </assert_contents>
307 </output> 309 </output>
308 </test> 310 </test>
309 <test> 311 <test expect_num_outputs="2">
310 <conditional name="paired_unpaired"> 312 <conditional name="paired_unpaired">
311 <param name="fastq_input_selector" value="paired_collection"/> 313 <param name="fastq_input_selector" value="paired_collection"/>
312 <param name="fastq_input1"> 314 <param name="fastq_input1">
313 <collection type="paired"> 315 <collection type="paired">
314 <element name="forward" value="phix_f.fq.gz" ftype="fastqsanger" /> 316 <element name="forward" value="phix_f.fq.gz" ftype="fastqsanger" />
318 </conditional> 320 </conditional>
319 <param name="mode" value="normal" /> 321 <param name="mode" value="normal" />
320 <param name="min_fasta_length" value="100"/> 322 <param name="min_fasta_length" value="100"/>
321 <param name="linear_seqs" value="0"/> 323 <param name="linear_seqs" value="0"/>
322 <section name="spades"> 324 <section name="spades">
323 <param name="no_correct" value="true"/>
324 <param name="min_kmer_frac" value="0.2"/> 325 <param name="min_kmer_frac" value="0.2"/>
325 <param name="max_kmer_frac" value="0.95"/> 326 <param name="max_kmer_frac" value="0.95"/>
326 <param name="kmer_count" value="10"/> 327 <param name="kmer_count" value="10"/>
327 <param name="depth_filter" value="0.25"/> 328 <param name="depth_filter" value="0.25"/>
328 </section> 329 </section>
329 <section name="rotation"> 330 <section name="rotation">
330 <param name="no_rotate" value=""/> 331 <param name="no_rotate" value=""/>
331 <param name="start_gene_id" value="90"/> 332 <param name="start_gene_id" value="90"/>
332 <param name="start_gene_cov" value="95"/> 333 <param name="start_gene_cov" value="95"/>
333 </section> 334 </section>
334 <section name="pilon">
335 <param name="no_pilon" value="true"/>
336 <param name="min_polish_size" value="1000"/>
337 </section>
338 <section name="graph_clean"> 335 <section name="graph_clean">
339 <param name="min_component_size" value="1000"/> 336 <param name="min_component_size" value="1000"/>
340 <param name="min_dead_end_size" value="1000"/> 337 <param name="min_dead_end_size" value="1000"/>
341 </section> 338 </section>
342 <section name="lr_align"> 339 <section name="lr_align">
343 <param name="scores" value="3,-6,-5,-2"/> 340 <param name="scores" value="3,-6,-5,-2"/>
344 </section> 341 </section>
342 <param name="keep" value="0"/>
345 <output name="assembly_graph" ftype="gfa1"> 343 <output name="assembly_graph" ftype="gfa1">
346 <assert_contents> 344 <assert_contents>
347 <has_line_matching expression="S\t1\t[ATCG]{5386,5386}\tLN:i:5386\tdp:f:1.0"/> 345 <has_line_matching expression="S\t1\t[ATCG]{5386,5386}\tLN:i:5386\tdp:f:1.0"/>
348 </assert_contents> 346 </assert_contents>
349 </output> 347 </output>
351 <assert_contents> 349 <assert_contents>
352 <has_text text="length=5386" /> 350 <has_text text="length=5386" />
353 </assert_contents> 351 </assert_contents>
354 </output> 352 </output>
355 </test> 353 </test>
356 <test> 354 <test expect_num_outputs="2">
357 <conditional name="paired_unpaired"> 355 <conditional name="paired_unpaired">
358 <param name="fastq_input_selector" value="none"/> 356 <param name="fastq_input_selector" value="none"/>
359 </conditional> 357 </conditional>
360 <param name="min_anchor_seg_len" value="10"/> 358 <param name="min_anchor_seg_len" value="10"/>
361 <section name="spades"> 359 <section name="spades">
362 <param name="kmers" value="21,23"/> 360 <param name="kmers" value="21,23"/>
363 </section> 361 </section>
364 <param name="long" value="only_long.fasta" ftype="fasta" /> 362 <param name="long" value="only_long.fasta" ftype="fasta" />
363 <param name="keep" value="0"/>
365 <output name="assembly_graph" ftype="gfa1"> 364 <output name="assembly_graph" ftype="gfa1">
366 <assert_contents> 365 <assert_contents>
367 <has_text text="S" /> 366 <has_text text="S" />
368 </assert_contents> 367 </assert_contents>
369 </output> 368 </output>
370 <output name="assembly" ftype="fasta"> 369 <output name="assembly" ftype="fasta">
371 <assert_contents> 370 <assert_contents>
372 <has_text text=">1" /> 371 <has_text text=">1" />
373 </assert_contents> 372 </assert_contents>
374 </output> 373 </output>
374 </test>
375 <!-- Test keep value = 1 -->
376 <test expect_num_outputs="3">
377 <conditional name="paired_unpaired">
378 <param name="fastq_input_selector" value="paired" />
379 <param name="fastq_input1" value="phix_f.fq.gz" ftype="fastqsanger" />
380 <param name="fastq_input2" value="phix_r.fq.gz" ftype="fastqsanger" />
381 </conditional>
382 <param name="mode" value="normal" />
383 <param name="keep" value="1"/>
384 <output name="assembly_graph" ftype="gfa1">
385 <assert_contents>
386 <has_line_matching expression="S\t1\t[ATCG]{5386,5386}\tLN:i:5386\tdp:f:1.0"/>
387 </assert_contents>
388 </output>
389 <output name="assembly" ftype="fasta">
390 <assert_contents>
391 <has_text text="length=5386" />
392 </assert_contents>
393 </output>
394 <output_collection name="spades_collection" type="list" count="14">
395 <element name="001_spades_graph_k027">
396 <assert_contents>
397 <has_text text="TTGAATGCCACCGGAGGCGGCTTTTTGACCGCCTCCAAAC"/>
398 </assert_contents>
399 </element>
400 </output_collection>
401 </test>
402 <!-- Test keep value = 2 -->
403 <test expect_num_outputs="4">
404 <conditional name="paired_unpaired">
405 <param name="fastq_input_selector" value="paired" />
406 <param name="fastq_input1" value="phix_f.fq.gz" ftype="fastqsanger" />
407 <param name="fastq_input2" value="phix_r.fq.gz" ftype="fastqsanger" />
408 </conditional>
409 <param name="long" value="onp.fa" ftype="fasta" />
410 <param name="mode" value="normal" />
411 <param name="keep" value="2"/>
412 <output name="assembly_graph" ftype="gfa1">
413 <assert_contents>
414 <has_line_matching expression="S\t1\t[ATCG]{5386,5386}\tLN:i:5386\tdp:f:1.0"/>
415 </assert_contents>
416 </output>
417 <output name="assembly" ftype="fasta">
418 <assert_contents>
419 <has_text text="length=5386" />
420 </assert_contents>
421 </output>
422 <output_collection name="spades_collection" type="list" count="14">
423 <element name="001_spades_graph_k027">
424 <assert_contents>
425 <has_text text="TTGAATGCCACCGGAGGCGGCTTTTTGACCGCCTCCAAAC"/>
426 </assert_contents>
427 </element>
428 </output_collection>
429 <output name="bam_file" ftype="bam">
430 <assert_contents>
431 <has_size value="2084" delta="100"/>
432 </assert_contents>
433 </output>
434 </test>
435 <!-- Test no simple bridges option -->
436 <test expect_num_outputs="2">
437 <conditional name="paired_unpaired">
438 <param name="fastq_input_selector" value="paired" />
439 <param name="fastq_input1" value="phix_f.fq.gz" ftype="fastqsanger" />
440 <param name="fastq_input2" value="phix_r.fq.gz" ftype="fastqsanger" />
441 </conditional>
442 <param name="long" value="onp.fa" ftype="fasta" />
443 <param name="mode" value="normal" />
444 <param name="keep" value="0"/>
445 <section name="lr_align">
446 <param name="no_simple_bridges" value="true"/>
447 </section>
448 <output name="assembly_graph" ftype="gfa1">
449 <assert_contents>
450 <has_line_matching expression="S\t1\t[ATCG]{5386,5386}\tLN:i:5386\tdp:f:1.0"/>
451 </assert_contents>
452 </output>
453 <output name="assembly" ftype="fasta">
454 <assert_contents>
455 <has_text text="length=5386" />
456 </assert_contents>
457 </output>
458 <assert_command>
459 <has_text text="--no_simple_bridges" />
460 </assert_command>
375 </test> 461 </test>
376 </tests> 462 </tests>
377 <help><![CDATA[ 463 <help><![CDATA[
378 464
379 **Unicycler** 465 **Unicycler**
434 520
435 .. _`BayesHammer`: https://goo.gl/1iGkMe 521 .. _`BayesHammer`: https://goo.gl/1iGkMe
436 .. _`Hamming graph`: https://en.wikipedia.org/wiki/Hamming_graph 522 .. _`Hamming graph`: https://en.wikipedia.org/wiki/Hamming_graph
437 .. _`Hamming distance`: https://en.wikipedia.org/wiki/Hamming_distance 523 .. _`Hamming distance`: https://en.wikipedia.org/wiki/Hamming_distance
438 524
439 This following option turns error correction on and off::
440
441 --no_correct
442 Skip SPAdes error correction step
443 (default: conduct SPAdes error correction)
444 525
445 ----- 526 -----
446 527
447 **Do not rotate completed replicons to start at a standard gene** 528 **Do not rotate completed replicons to start at a standard gene**
448 529