@@ -19,6 +19,24 @@ process REFORMAT {
19
19
" reformat.sh in=${ fastq_pair[0]} in2=${ fastq_pair[1]} out=${ sample_id} _reads.fasta"
20
20
}
21
21
22
+ process REFORMAT_FASTQ {
23
+
24
+ tag { sample_id }
25
+ label ' process_assembly'
26
+
27
+ when:
28
+ params. strainxpress
29
+
30
+ input:
31
+ tuple val(sample_id), path(fastq_pair)
32
+
33
+ output:
34
+ tuple val(sample_id), file(' *_reads.fq' )
35
+
36
+ script:
37
+ " reformat.sh in=${ fastq_pair[0]} in2=${ fastq_pair[1]} out=${ sample_id} _reads.fq"
38
+ }
39
+
22
40
process ABYSS {
23
41
24
42
tag { sample_id }
@@ -334,6 +352,38 @@ process SPADES {
334
352
"""
335
353
}
336
354
355
+ process STRAINXPRESS {
356
+
357
+ tag { sample_id }
358
+ label ' process_assembly'
359
+ publishDir " results/$sample_id /assembly/strainxpress"
360
+
361
+ when:
362
+ params. strainxpress
363
+
364
+ input:
365
+ tuple val(sample_id), path(fasta_reads_single)
366
+
367
+ output:
368
+ tuple val(sample_id), val(' StrainXpress' ), path(' *_strainxpress.fasta' ), emit: assembly
369
+ path(' .*version' ), emit: version
370
+
371
+ script:
372
+ """
373
+ echo '' > .${ sample_id} _strainxpress_version
374
+ {
375
+ python3 /NGStools/StrainXpress/scripts/strainxpress.py -fq $fasta_reads_single -t $task . cpus
376
+
377
+ mv all.contigs_*.fasta ${ sample_id} _strainxpress.fasta
378
+ echo pass > .status
379
+ } || {
380
+ echo fail > .status
381
+ :> ${ sample_id} _strainxpress.fasta
382
+ }
383
+ """
384
+
385
+ }
386
+
337
387
process UNICYCLER {
338
388
339
389
tag { sample_id }
@@ -419,6 +469,7 @@ workflow assembly_wf {
419
469
420
470
main :
421
471
REFORMAT (IN_fastq_raw )
472
+ REFORMAT_FASTQ (IN_fastq_raw )
422
473
ABYSS (IN_fastq_raw , abyssKmerSize, abyssBloomSize)
423
474
GATBMINIAPIPELINE (IN_fastq_raw , gatbKmerSize, GATB_error_correction , gatb_besst_iter)
424
475
IDBA (REFORMAT . out)
@@ -428,6 +479,7 @@ workflow assembly_wf {
428
479
MINIA (IN_fastq_raw , miniaKmerSize)
429
480
SKESA (IN_fastq_raw )
430
481
SPADES (IN_fastq_raw , spadesKmerSize)
482
+ STRAINXPRESS (REFORMAT_FASTQ . out)
431
483
UNICYCLER (IN_fastq_raw )
432
484
VELVETOPTIMISER (IN_fastq_raw )
433
485
@@ -440,6 +492,7 @@ workflow assembly_wf {
440
492
MINIA . out. assembly,
441
493
SKESA . out. assembly,
442
494
SPADES . out. assembly,
495
+ STRAINXPRESS . out. assembly,
443
496
UNICYCLER . out. assembly,
444
497
VELVETOPTIMISER . out. assembly)
445
498
all_versions = ABYSS . out. version | mix(GATBMINIAPIPELINE . out. version,
@@ -450,6 +503,7 @@ workflow assembly_wf {
450
503
MINIA . out. version,
451
504
SKESA . out. version,
452
505
SPADES . out. version,
506
+ STRAINXPRESS . out. version,
453
507
UNICYCLER . out. version,
454
508
VELVETOPTIMISER . out. version) | collect
455
509
0 commit comments