comparison hifiasm.xml @ 10:2061fb3b81b4 draft

planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/hifiasm commit 0fb623fa67741a34587f9e5b110f22f68f0b59fa
author bgruening
date Tue, 24 Jan 2023 17:46:39 +0000
parents c388a21dcbf1
children cd7936c5a9a5
comparison
equal deleted inserted replaced
9:c388a21dcbf1 10:2061fb3b81b4
1 <tool id="hifiasm" name="Hifiasm" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@"> 1 <tool id="hifiasm" name="Hifiasm" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@">
2 <description>haplotype-resolved de novo assembler for PacBio Hifi reads</description> 2 <description>haplotype-resolved de novo assembler for PacBio Hifi reads</description>
3 <macros> 3 <macros>
4 <token name="@TOOL_VERSION@">0.18.5</token> 4 <token name="@TOOL_VERSION@">0.18.5</token>
5 <token name="@VERSION_SUFFIX@">0</token> 5 <token name="@VERSION_SUFFIX@">1</token>
6 <token name="@FORMATS@">fasta,fasta.gz,fastq,fastq.gz</token> 6 <token name="@FORMATS@">fasta,fasta.gz,fastq,fastq.gz</token>
7 <xml name="reads"> 7 <xml name="reads">
8 <param name="reads" type="data" format="@FORMATS@" multiple="true" label="Input reads" /> 8 <param name="reads" type="data" format="@FORMATS@" multiple="true" label="Input reads" />
9 </xml> 9 </xml>
10 </macros> 10 </macros>
19 #set $input_files = list() 19 #set $input_files = list()
20 #set $hap1_inputs = list() 20 #set $hap1_inputs = list()
21 #set $hap2_inputs = list() 21 #set $hap2_inputs = list()
22 #set $hic1_inputs = list() 22 #set $hic1_inputs = list()
23 #set $hic2_inputs = list() 23 #set $hic2_inputs = list()
24 #set $ultralong_inputs = list()
24 #for idx, read in enumerate($mode.reads): 25 #for idx, read in enumerate($mode.reads):
25 #set $inputfile = 'input_%d.%s' % ($idx, $read.dataset.extension) 26 #set $inputfile = 'input_%d.%s' % ($idx, $read.dataset.extension)
26 ln -s '$read' $inputfile && 27 ln -s '$read' $inputfile &&
27 $input_files.append($inputfile) 28 $input_files.append($inputfile)
28 #end for 29 #end for
38 #set $inputfile = './HiCR/input_%d.%s' % ($idx, $read.dataset.extension) 39 #set $inputfile = './HiCR/input_%d.%s' % ($idx, $read.dataset.extension)
39 ln -s '$read' $inputfile && 40 ln -s '$read' $inputfile &&
40 $hic2_inputs.append($inputfile) 41 $hic2_inputs.append($inputfile)
41 #end for 42 #end for
42 #end if 43 #end if
44 #if str($ont_integration.ont_integration_selector) == 'set'
45 mkdir ultralong &&
46 #for idx, read in enumerate($ont_integration.ul):
47 #set $inputfile = './ultralong/input_%d.%s' % ($idx, $read.dataset.extension)
48 ln -s '$read' $inputfile &&
49 $ultralong_inputs.append($inputfile)
50 #end for
51 #end if
43 #if str($mode.mode_selector) == 'trio': 52 #if str($mode.mode_selector) == 'trio':
44 #for idx, read in enumerate($mode.hap1_reads): 53 #for idx, read in enumerate($mode.hap1_reads):
45 #set $inputfile = 'hap1_input_%d.%s' % ($idx, $read.dataset.extension) 54 #set $inputfile = 'hap1_input_%d.%s' % ($idx, $read.dataset.extension)
46 ln -s '$read' $inputfile && 55 ln -s '$read' $inputfile &&
47 $hap1_inputs.append($inputfile) 56 $hap1_inputs.append($inputfile)
106 --n-hap $purge_options.n_hap 115 --n-hap $purge_options.n_hap
107 #end if 116 #end if
108 #end if 117 #end if
109 118
110 #if str($hic_partition.hic_partition_selector) == 'set': 119 #if str($hic_partition.hic_partition_selector) == 'set':
111 --h1 '${ ' '.join(["%s" % $x for $x in $hic1_inputs]) }' 120 --h1 ${ ' '.join(["'%s'" % $x for $x in $hic1_inputs]) }
112 --h2 '${ ' '.join(["%s" % $x for $x in $hic2_inputs]) }' 121 --h2 ${ ' '.join(["'%s'" % $x for $x in $hic2_inputs]) }
113 #if $hic_partition.seed: 122 #if $hic_partition.seed:
114 --seed $hic_partition.seed 123 --seed $hic_partition.seed
115 #end if 124 #end if
116 #if $hic_partition.n_weight: 125 #if $hic_partition.n_weight:
117 --n-weight $hic_partition.n_weight 126 --n-weight $hic_partition.n_weight
121 #end if 130 #end if
122 #if $hic_partition.f_perturb: 131 #if $hic_partition.f_perturb:
123 --f-perturb $hic_partition.f_perturb 132 --f-perturb $hic_partition.f_perturb
124 #end if 133 #end if
125 --l-msjoin $hic_partition.l_msjoin 134 --l-msjoin $hic_partition.l_msjoin
135 #end if
136
137 #if str($ont_integration.ont_integration_selector) == 'set':
138 --ul ${ ' '.join(["'%s'" % $x for $x in $ultralong_inputs]) }
139 #if $ont_integration.ul_rate:
140 --ul-rate $ont_integration.ul_rate
141 #end if
142 #if $ont_integration.ul_tip:
143 --ul-tip $ont_integration.ul_tip
144 #end if
126 #end if 145 #end if
127 146
128 ## Changed the default outputs of hifiasm. Hifiasm outputs a primary assembly and two balanced haplotypes in default. Incorporated the option '--primary' to output primary assembly and alternate assembly. 147 ## Changed the default outputs of hifiasm. Hifiasm outputs a primary assembly and two balanced haplotypes in default. Incorporated the option '--primary' to output primary assembly and alternate assembly.
129 --primary 148 --primary
130 $input_filenames 149 $input_filenames
203 <param argument="--seed" type="integer" min="1" value="" optional="true" label="RNG seed" /> 222 <param argument="--seed" type="integer" min="1" value="" optional="true" label="RNG seed" />
204 <param argument="--n-weight" type="integer" min="1" value="" optional="true" label="Rounds of reweighting Hi-C links. Increasing this may improves phasing results but takes longer time" /> 223 <param argument="--n-weight" type="integer" min="1" value="" optional="true" label="Rounds of reweighting Hi-C links. Increasing this may improves phasing results but takes longer time" />
205 <param argument="--n-perturb" type="integer" min="1" value="" optional="true" label="Rounds of perturbation. Increasing this may improves phasing results but takes longer time" /> 224 <param argument="--n-perturb" type="integer" min="1" value="" optional="true" label="Rounds of perturbation. Increasing this may improves phasing results but takes longer time" />
206 <param argument="--f-perturb" type="float" min="0" max="1" value="" optional="true" label="Fraction to flip for perturbation. Increasing this may improves phasing results but takes longer time" /> 225 <param argument="--f-perturb" type="float" min="0" max="1" value="" optional="true" label="Fraction to flip for perturbation. Increasing this may improves phasing results but takes longer time" />
207 <param argument="--l-msjoin" type="integer" min="0" value="500000" label="Detect misjoined unitigs of greater than or equal to specified size" help="A value of 0 disables this filter"/> 226 <param argument="--l-msjoin" type="integer" min="0" value="500000" label="Detect misjoined unitigs of greater than or equal to specified size" help="A value of 0 disables this filter"/>
227 </when>
228 </conditional>
229 <conditional name="ont_integration">
230 <param name="ont_integration_selector" type="select" label="Options for ONT integration">
231 <option value="blank">Leave default</option>
232 <option value="set">Specify</option>
233 </param>
234 <when value="blank" />
235 <when value="set">
236 <param argument="--ul" type="data" format="fastq,fastq.gz,fasta,fasta.gz" multiple="true" label="Ultra-long (>10kb) reads" />
237 <param argument="--ul-rate" type="float" value="0.2" optional="true" label="error rate of ultra-long reads (default 0.2)" />
238 <param argument="--ul-tip" type="integer" value="6" optional="true" label="remove tip unitigs composed of less than (INT) reads for the UL assembly (default 6)" />
208 </when> 239 </when>
209 </conditional> 240 </conditional>
210 <conditional name="advanced_options"> 241 <conditional name="advanced_options">
211 <param name="advanced_selector" type="select" label="Advanced options"> 242 <param name="advanced_selector" type="select" label="Advanced options">
212 <option value="blank">Leave default</option> 243 <option value="blank">Leave default</option>
296 <collection name="noseq_files" type="list" label="${tool.name} on ${on_string}: noseq files"> 327 <collection name="noseq_files" type="list" label="${tool.name} on ${on_string}: noseq files">
297 <discover_datasets pattern="__name_and_ext__" format="gfa1" directory="noseq_files" /> 328 <discover_datasets pattern="__name_and_ext__" format="gfa1" directory="noseq_files" />
298 </collection> 329 </collection>
299 </outputs> 330 </outputs>
300 <tests> 331 <tests>
332 <!-- TEST 1 -->
301 <test expect_num_outputs="5"> 333 <test expect_num_outputs="5">
302 <param name="reads" value="hifiasm-in1.fa.gz" ftype="fasta.gz" /> 334 <param name="reads" value="hifiasm-in1.fa.gz" ftype="fasta.gz" />
303 <param name="filter_bits" value="0" /> 335 <param name="filter_bits" value="0" />
304 <param name="mode_selector" value="standard" /> 336 <param name="mode_selector" value="standard" />
305 <output name="raw_unitigs" file="hifiasm-out1-raw.gfa" ftype="gfa1" /> 337 <output name="raw_unitigs" file="hifiasm-out1-raw.gfa" ftype="gfa1" />
306 <output name="processed_unitigs" file="hifiasm-out1-processed.gfa" ftype="gfa1" /> 338 <output name="processed_unitigs" file="hifiasm-out1-processed.gfa" ftype="gfa1" />
307 <output name="primary_contig_graph" file="hifiasm-out1-primary.gfa" ftype="gfa1" /> 339 <output name="primary_contig_graph" file="hifiasm-out1-primary.gfa" ftype="gfa1" />
308 </test> 340 </test>
341 <!-- TEST 2 -->
309 <test expect_num_outputs="5"> 342 <test expect_num_outputs="5">
310 <param name="reads" value="hifiasm-in2-0.fa.gz,hifiasm-in2-1.fa.gz,hifiasm-in2-2.fa.gz,hifiasm-in2-3.fa.gz,hifiasm-in2-4.fa.gz" ftype="fasta.gz" /> 343 <param name="reads" value="hifiasm-in2-0.fa.gz,hifiasm-in2-1.fa.gz,hifiasm-in2-2.fa.gz,hifiasm-in2-3.fa.gz,hifiasm-in2-4.fa.gz" ftype="fasta.gz" />
311 <param name="filter_bits" value="0" /> 344 <param name="filter_bits" value="0" />
312 <param name="mode_selector" value="standard" /> 345 <param name="mode_selector" value="standard" />
313 <output name="raw_unitigs" file="hifiasm-out2-raw.gfa" ftype="gfa1" /> 346 <output name="raw_unitigs" file="hifiasm-out2-raw.gfa" ftype="gfa1" />
314 <output name="processed_unitigs" file="hifiasm-out2-processed.gfa" ftype="gfa1" /> 347 <output name="processed_unitigs" file="hifiasm-out2-processed.gfa" ftype="gfa1" />
315 <output name="primary_contig_graph" file="hifiasm-out2-primary.gfa" ftype="gfa1" /> 348 <output name="primary_contig_graph" file="hifiasm-out2-primary.gfa" ftype="gfa1" />
316 </test> 349 </test>
317 <!-- Test logfile out--> 350 <!-- TEST 3: Test logfile out-->
318 <test expect_num_outputs="6"> 351 <test expect_num_outputs="6">
319 <param name="reads" value="hifiasm-in1.fa.gz" ftype="fasta.gz" /> 352 <param name="reads" value="hifiasm-in1.fa.gz" ftype="fasta.gz" />
320 <param name="filter_bits" value="0" /> 353 <param name="filter_bits" value="0" />
321 <param name="mode_selector" value="standard" /> 354 <param name="mode_selector" value="standard" />
322 <param name="log_out" value="yes"/> 355 <param name="log_out" value="yes"/>
327 <assert_contents> 360 <assert_contents>
328 <has_text text="-o output -f 0 --primary input_0.fasta.gz"/> 361 <has_text text="-o output -f 0 --primary input_0.fasta.gz"/>
329 </assert_contents> 362 </assert_contents>
330 </output> 363 </output>
331 </test> 364 </test>
332 <!--Test Hi-C reads--> 365 <!--TEST 4: Test Hi-C reads-->
333 <test expect_num_outputs="6"> 366 <test expect_num_outputs="6">
334 <param name="reads" value="hifiasm-in1.fa.gz" ftype="fasta.gz" /> 367 <param name="reads" value="hifiasm-in1.fa.gz" ftype="fasta.gz" />
335 <param name="filter_bits" value="0" /> 368 <param name="filter_bits" value="0" />
336 <param name="mode_selector" value="standard" /> 369 <param name="mode_selector" value="standard" />
337 <conditional name="hic_partition"> 370 <conditional name="hic_partition">
362 <has_text_matching expression="^S" /> 395 <has_text_matching expression="^S" />
363 <has_size value="83904" delta="500"/> 396 <has_size value="83904" delta="500"/>
364 </assert_contents> 397 </assert_contents>
365 </output> 398 </output>
366 </test> 399 </test>
367 <!-- Test trio mode --> 400 <!-- TEST 5: Test trio mode -->
368 <test expect_num_outputs="5"> 401 <test expect_num_outputs="5">
369 <param name="filter_bits" value="0"/> 402 <param name="filter_bits" value="0"/>
370 <conditional name="mode"> 403 <conditional name="mode">
371 <param name="mode_selector" value="trio"/> 404 <param name="mode_selector" value="trio"/>
372 <param name="reads" value="child.fasta.gz"/> 405 <param name="reads" value="child.fasta.gz"/>
379 <has_text text="-1 hap1.yak" /> 412 <has_text text="-1 hap1.yak" />
380 <has_text text="-2 hap2.yak" /> 413 <has_text text="-2 hap2.yak" />
381 <has_text text="--primary" /> 414 <has_text text="--primary" />
382 </assert_command> 415 </assert_command>
383 </test> 416 </test>
384 <!-- Test ignore-error-corrected option --> 417 <!-- TEST 6: Test ignore-error-corrected option -->
385 <test expect_num_outputs="5"> 418 <test expect_num_outputs="5">
386 <param name="reads" value="hifiasm-in1.fa.gz" ftype="fasta.gz" /> 419 <param name="reads" value="hifiasm-in1.fa.gz" ftype="fasta.gz" />
387 <param name="filter_bits" value="0" /> 420 <param name="filter_bits" value="0" />
388 <param name="mode_selector" value="standard" /> 421 <param name="mode_selector" value="standard" />
389 <conditional name="assembly_options"> 422 <conditional name="assembly_options">
392 </conditional> 425 </conditional>
393 <output name="raw_unitigs" file="hifiasm-out3-raw.gfa" ftype="gfa1" /> 426 <output name="raw_unitigs" file="hifiasm-out3-raw.gfa" ftype="gfa1" />
394 <output name="processed_unitigs" file="hifiasm-out3-processed.gfa" ftype="gfa1" /> 427 <output name="processed_unitigs" file="hifiasm-out3-processed.gfa" ftype="gfa1" />
395 <output name="primary_contig_graph" file="hifiasm-out3-primary.gfa" ftype="gfa1" /> 428 <output name="primary_contig_graph" file="hifiasm-out3-primary.gfa" ftype="gfa1" />
396 </test> 429 </test>
397 <!-- Test expected haplotype number --> 430 <!-- TEST 7: Test expected haplotype number -->
398 <test expect_num_outputs="5"> 431 <test expect_num_outputs="5">
399 <param name="reads" value="hifiasm-in1.fa.gz" ftype="fasta.gz" /> 432 <param name="reads" value="hifiasm-in1.fa.gz" ftype="fasta.gz" />
400 <param name="filter_bits" value="0" /> 433 <param name="filter_bits" value="0" />
401 <param name="mode_selector" value="standard" /> 434 <param name="mode_selector" value="standard" />
402 <conditional name="purge_options"> 435 <conditional name="purge_options">
405 </conditional> 438 </conditional>
406 <output name="raw_unitigs" file="hifiasm-out4-raw.gfa" ftype="gfa1" /> 439 <output name="raw_unitigs" file="hifiasm-out4-raw.gfa" ftype="gfa1" />
407 <output name="processed_unitigs" file="hifiasm-out4-processed.gfa" ftype="gfa1" /> 440 <output name="processed_unitigs" file="hifiasm-out4-processed.gfa" ftype="gfa1" />
408 <output name="primary_contig_graph" file="hifiasm-out4-primary.gfa" ftype="gfa1" /> 441 <output name="primary_contig_graph" file="hifiasm-out4-primary.gfa" ftype="gfa1" />
409 </test> 442 </test>
410 <!-- Test min_hist_cnt option --> 443 <!-- TEST 8: Test min_hist_cnt option -->
411 <test expect_num_outputs="5"> 444 <test expect_num_outputs="5">
412 <param name="reads" value="hifiasm-in1.fa.gz" ftype="fasta.gz" /> 445 <param name="reads" value="hifiasm-in1.fa.gz" ftype="fasta.gz" />
413 <param name="filter_bits" value="0" /> 446 <param name="filter_bits" value="0" />
414 <param name="mode_selector" value="standard" /> 447 <param name="mode_selector" value="standard" />
415 <conditional name="advanced_options"> 448 <conditional name="advanced_options">
418 </conditional> 451 </conditional>
419 <output name="raw_unitigs" file="hifiasm-out5-raw.gfa" ftype="gfa1" /> 452 <output name="raw_unitigs" file="hifiasm-out5-raw.gfa" ftype="gfa1" />
420 <output name="processed_unitigs" file="hifiasm-out5-processed.gfa" ftype="gfa1" /> 453 <output name="processed_unitigs" file="hifiasm-out5-processed.gfa" ftype="gfa1" />
421 <output name="primary_contig_graph" file="hifiasm-out5-primary.gfa" ftype="gfa1" /> 454 <output name="primary_contig_graph" file="hifiasm-out5-primary.gfa" ftype="gfa1" />
422 </test> 455 </test>
423 <!-- Test max_kooc option --> 456 <!-- TEST 9: Test max_kooc option -->
424 <test expect_num_outputs="5"> 457 <test expect_num_outputs="5">
425 <param name="reads" value="hifiasm-in1.fa.gz" ftype="fasta.gz" /> 458 <param name="reads" value="hifiasm-in1.fa.gz" ftype="fasta.gz" />
426 <param name="filter_bits" value="0" /> 459 <param name="filter_bits" value="0" />
427 <param name="mode_selector" value="standard" /> 460 <param name="mode_selector" value="standard" />
428 <conditional name="advanced_options"> 461 <conditional name="advanced_options">
431 </conditional> 464 </conditional>
432 <output name="raw_unitigs" file="hifiasm-out6-raw.gfa" ftype="gfa1" /> 465 <output name="raw_unitigs" file="hifiasm-out6-raw.gfa" ftype="gfa1" />
433 <output name="processed_unitigs" file="hifiasm-out6-processed.gfa" ftype="gfa1" /> 466 <output name="processed_unitigs" file="hifiasm-out6-processed.gfa" ftype="gfa1" />
434 <output name="primary_contig_graph" file="hifiasm-out6-primary.gfa" ftype="gfa1" /> 467 <output name="primary_contig_graph" file="hifiasm-out6-primary.gfa" ftype="gfa1" />
435 </test> 468 </test>
436 <!-- Test hg-size option --> 469 <!-- TEST 10: Test hg-size option -->
437 <test expect_num_outputs="5"> 470 <test expect_num_outputs="5">
438 <param name="reads" value="hifiasm-in1.fa.gz" ftype="fasta.gz" /> 471 <param name="reads" value="hifiasm-in1.fa.gz" ftype="fasta.gz" />
439 <param name="filter_bits" value="0" /> 472 <param name="filter_bits" value="0" />
440 <param name="mode_selector" value="standard" /> 473 <param name="mode_selector" value="standard" />
441 <conditional name="advanced_options"> 474 <conditional name="advanced_options">
444 </conditional> 477 </conditional>
445 <output name="raw_unitigs" file="hifiasm-out7-raw.gfa" ftype="gfa1" /> 478 <output name="raw_unitigs" file="hifiasm-out7-raw.gfa" ftype="gfa1" />
446 <output name="processed_unitigs" file="hifiasm-out7-processed.gfa" ftype="gfa1" /> 479 <output name="processed_unitigs" file="hifiasm-out7-processed.gfa" ftype="gfa1" />
447 <output name="primary_contig_graph" file="hifiasm-out7-primary.gfa" ftype="gfa1" /> 480 <output name="primary_contig_graph" file="hifiasm-out7-primary.gfa" ftype="gfa1" />
448 </test> 481 </test>
449 <!-- Test ignore-error-corrected option --> 482 <!-- TEST 11: Test ignore-error-corrected option -->
450 <test expect_num_outputs="5"> 483 <test expect_num_outputs="5">
451 <param name="reads" value="hifiasm-in1.fa.gz" ftype="fasta.gz" /> 484 <param name="reads" value="hifiasm-in1.fa.gz" ftype="fasta.gz" />
452 <param name="filter_bits" value="0" /> 485 <param name="filter_bits" value="0" />
453 <param name="mode_selector" value="standard" /> 486 <param name="mode_selector" value="standard" />
454 <conditional name="assembly_options"> 487 <conditional name="assembly_options">
456 <param name="hom-cov" value="1000"/> 489 <param name="hom-cov" value="1000"/>
457 </conditional> 490 </conditional>
458 <output name="raw_unitigs" file="hifiasm-out8-raw.gfa" ftype="gfa1" /> 491 <output name="raw_unitigs" file="hifiasm-out8-raw.gfa" ftype="gfa1" />
459 <output name="processed_unitigs" file="hifiasm-out8-processed.gfa" ftype="gfa1" /> 492 <output name="processed_unitigs" file="hifiasm-out8-processed.gfa" ftype="gfa1" />
460 <output name="primary_contig_graph" file="hifiasm-out8-primary.gfa" ftype="gfa1" /> 493 <output name="primary_contig_graph" file="hifiasm-out8-primary.gfa" ftype="gfa1" />
494 </test>
495 <!-- TEST 12: test nanopore input -->
496 <test expect_num_outputs="5">
497 <param name="reads" value="hifiasm-in1.fa.gz" ftype="fasta.gz" />
498 <param name="mode_selector" value="standard" />
499 <param name="filter_bits" value="0" />
500 <conditional name="ont_integration">
501 <param name="ont_integration_selector" value="set" />
502 <param name="ul" value="nanopore.first5.fasta.gz" />
503 <param name="ul_tip" value="1" />
504 </conditional>
505 <output name="primary_contig_graph" file="hifiasm-out-hifiul.bp.p_ctg.gfa" ftype="gfa1" />
506 <output name="raw_unitigs" file="hifiasm-out-hifiul.bp.r_utg.gfa" ftype="gfa1" />
461 </test> 507 </test>
462 </tests> 508 </tests>
463 <help><![CDATA[ 509 <help><![CDATA[
464 .. class:: infomark 510 .. class:: infomark
465 511