@@ -204,14 +204,13 @@ process check_aligner_params{
204204 tag " ${ meta.uid} "
205205 publishDir " ${ params.outdir} /${ outpath} " , pattern: " *.txt" , mode: ' copy'
206206
207- cache ' deep'
208-
209207 input:
210208 tuple val(meta), path(fastq)
211209 val aligner_list
212210 path annotation
213211 val outpath
214212 val relax
213+ val aligner_options_map
215214
216215 output:
217216 tuple val(meta), path(fastq)
@@ -223,7 +222,7 @@ process check_aligner_params{
223222 // --- bbmap tool ---
224223 if ( " bbmap" in aligner_list ){
225224 def bbmap_tool = " bbmap.sh"
226- def bbmap_options = params . bbmap_options ?: " "
225+ def bbmap_options = aligner_options_map . bbmap_options ?: " "
227226 if ( ! relax ){
228227 if (meta. read_type == " pacbio" || meta. read_type == " ont" ){
229228 bbmap_tool = " mapPacBio.sh"
@@ -265,7 +264,7 @@ process check_aligner_params{
265264
266265 // --- bowtie tool ---
267266 if ( " bowtie" in aligner_list ){
268- def bowtie_options = params . bowtie_options ?: " "
267+ def bowtie_options = aligner_options_map . bowtie_options ?: " "
269268 if (! bowtie_options. contains(" --fr " ) &&
270269 ! bowtie_options. contains(" --rf " ) &&
271270 ! bowtie_options. contains(" --ff " ) &&
@@ -283,7 +282,7 @@ process check_aligner_params{
283282
284283 // --- bowtie2 tool ---
285284 if ( " bowtie2" in aligner_list ){
286- def bowtie2_options = params . bowtie2_options ?: " "
285+ def bowtie2_options = aligner_options_map . bowtie2_options ?: " "
287286 if (! bowtie2_options. contains(" --fr " ) &&
288287 ! bowtie2_options. contains(" --rf " ) &&
289288 ! bowtie2_options. contains(" --ff " ) &&
@@ -302,14 +301,14 @@ process check_aligner_params{
302301
303302 // --- bwa aln tool ---
304303 if ( " bwaaln" in aligner_list ){
305- def bwaaln_options = params . bwaaln_options ?: " "
304+ def bwaaln_options = aligner_options_map . bwaaln_options ?: " "
306305 meta. bwaaln_options = bwaaln_options
307306 }
308307
309308
310309 // --- bwa mem tool ---
311310 if ( " bwamem" in aligner_list ){
312- def bwamem_options = params . bwamem_options ?: " "
311+ def bwamem_options = aligner_options_map . bwamem_options ?: " "
313312 if ( ! relax ){
314313 if (meta. read_type == " pacbio" ){
315314 if ( ! bwamem_options. contains(" pacbio" ) ){
@@ -331,7 +330,7 @@ process check_aligner_params{
331330
332331 // --- bwa mem2 tool ---
333332 if (" bwamem2" in aligner_list ){
334- def bwamem2_options = params . bwamem2_options ?: " "
333+ def bwamem2_options = aligner_options_map . bwamem2_options ?: " "
335334 if ( ! relax ){
336335 if (meta. read_type == " pacbio" ){
337336 if ( ! bwamem2_options. contains(" pacbio" ) ){
@@ -353,19 +352,19 @@ process check_aligner_params{
353352
354353 // --- bwa sw tool ---
355354 if ( " bwasw" in aligner_list ){
356- def bwasw_options = params . bwasw_options ?: " "
355+ def bwasw_options = aligner_options_map . bwasw_options ?: " "
357356 meta. bwasw_options = bwasw_options
358357 }
359358
360359 // --- bwa fastalign aln tool ---
361360 if ( " bwafastalignaln" in aligner_list ){
362- def bwafastalignaln_options = params . bwafastalignaln_options ?: " "
361+ def bwafastalignaln_options = aligner_options_map . bwafastalignaln_options ?: " "
363362 meta. bwafastalignaln_options = bwafastalignaln_options
364363 }
365364
366365 // --- bwa fastalign mem tool ---
367366 if ( " bwafastalignmem" in aligner_list ){
368- def bwafastalignmem_options = params . bwafastalignmem_options ?: " "
367+ def bwafastalignmem_options = aligner_options_map . bwafastalignmem_options ?: " "
369368 if ( ! relax ){
370369 if (meta. read_type == " pacbio" ){
371370 if ( ! bwafastalignmem_options. contains(" pacbio" ) ){
@@ -387,19 +386,19 @@ process check_aligner_params{
387386
388387 // --- bwa fastalign sw tool ---
389388 if ( " bwafastalignsw" in aligner_list ){
390- def bwafastalignsw_options = params . bwafastalignsw_options ?: " "
389+ def bwafastalignsw_options = aligner_options_map . bwafastalignsw_options ?: " "
391390 meta. bwafastalignsw_options = bwafastalignsw_options
392391 }
393392
394393 // --- dragmap tool ---
395394 if ( " dragmap" in aligner_list ){
396- def dragmap_options = params . dragmap_options ?: " "
395+ def dragmap_options = aligner_options_map . dragmap_options ?: " "
397396 meta. dragmap_options = dragmap_options
398397 }
399398
400399 // --- graphmap2 tool ---
401400 if ( " graphmap2" in aligner_list ){
402- def graphmap2_options = params . graphmap2_options ?: " "
401+ def graphmap2_options = aligner_options_map . graphmap2_options ?: " "
403402 if (meta. annotation && ! graphmap2_options. contains(" --gtf " ) ){
404403 graphmap2_options + = " --gtf ${ annotation} "
405404 }
@@ -408,7 +407,7 @@ process check_aligner_params{
408407
409408 // hisat2
410409 if (" hisat2" in aligner_list ){
411- def hisat2_options = params . hisat2_options ?: " "
410+ def hisat2_options = aligner_options_map . hisat2_options ?: " "
412411 // deal with library type - default is unstranded.
413412 if (! hisat2_options. contains(" --rna-strandness " ) &&
414413 meta. strandedness && ! meta. strandedness. contains(" U" )
@@ -447,7 +446,7 @@ process check_aligner_params{
447446
448447 // --- kallisto tool ---
449448 if ( " kallisto" in aligner_list ){
450- def kallisto_options = params . kallisto_options ?: " "
449+ def kallisto_options = aligner_options_map . kallisto_options ?: " "
451450 // deal with read_orientation
452451 if (! kallisto_options. contains(" --fr-stranded " ) &&
453452 ! kallisto_options. contains(" --rf-stranded " ) &&
@@ -475,14 +474,14 @@ process check_aligner_params{
475474
476475 // --- last tool ---
477476 if ( " last" in aligner_list ){
478- def last_options = params . last_options ?: " "
477+ def last_options = aligner_options_map . last_options ?: " "
479478 meta. last_options = last_options
480479 }
481480
482481 // ---- minimap2 tool ---
483482 // Force -a option to be sure to get sam output
484483 if (" minimap2" in aligner_list ){
485- def minimap2_options = params . minimap2_options ?: " "
484+ def minimap2_options = aligner_options_map . minimap2_options ?: " "
486485 if ( ! relax ){
487486 if (meta. read_type == " short_single" || meta. read_type == " short_paired" ){
488487 if ( ! minimap2_options. contains(" --sr " ) ){
@@ -519,7 +518,7 @@ process check_aligner_params{
519518
520519 // ngmlr tool - check options
521520 if (" ngmlr" in aligner_list ){
522- def ngmlr_options = params . ngmlr_options ?: " "
521+ def ngmlr_options = aligner_options_map . ngmlr_options ?: " "
523522 if (! relax) {
524523 // for pacbio reads, set -g 20 and -x 0
525524 if (meta. read_type == " ont" ){
@@ -537,7 +536,7 @@ process check_aligner_params{
537536 // novoalign tool - load license into the container
538537 if (" novoalign" in aligner_list ){
539538 def novoalign_lic = " "
540- def novoalign_options = params . novoalign_options ?: " "
539+ def novoalign_options = aligner_options_map . novoalign_options ?: " "
541540 if (! relax) {
542541 // for pacbio reads, set -g 20 and -x 0
543542 if (meta. read_type == " pacbio" || meta. read_type == " ont" ){
@@ -558,13 +557,13 @@ process check_aligner_params{
558557
559558 // mummer / nucmer
560559 if (" nucmer" in aligner_list ){
561- def nucmer_options = params . nucmer_options ?: " "
560+ def nucmer_options = aligner_options_map . nucmer_options ?: " "
562561 meta. nucmer_options = nucmer_options
563562 }
564563
565564 // --- salmon tool ---
566565 if ( " salmon" in aligner_list ){
567- def salmon_options = params . salmon_options ?: " "
566+ def salmon_options = aligner_options_map . salmon_options ?: " "
568567 // deal with library type
569568 if (! salmon_options. contains(" -l " ) && ! salmon_options. contains(" --libType " ) ){
570569 if (meta. strandedness){
@@ -589,7 +588,7 @@ process check_aligner_params{
589588
590589 // --- star tool ---
591590 def star_tool = " STAR"
592- def star_options = params . star_options ?: " "
591+ def star_options = aligner_options_map . star_options ?: " "
593592 if ( " star" in aligner_list ){
594593 if (meta. annotation && ! star_options. contains(" --sjdbGTFfile " ) ){
595594 star_options + = " --sjdbGTFfile ${ annotation} "
@@ -605,7 +604,7 @@ process check_aligner_params{
605604
606605 // --- subread tool ---
607606 if ( " subread" in aligner_list ){
608- def subread_options = params . subread_options ?: " "
607+ def subread_options = aligner_options_map . subread_options ?: " "
609608 // deal with annotation
610609 if (meta. annotation && ! subread_options. contains(" -a " ) ){
611610 subread_options + = " -a ${ annotation} "
@@ -633,16 +632,16 @@ process check_aligner_params{
633632
634633 // --- sublong tool --- dealed apart subread due to different output (sorted or not)
635634 if ( " sublong" in aligner_list ){
636- def sublong_options = params . sublong_options ?: " "
635+ def sublong_options = aligner_options_map . sublong_options ?: " "
637636 meta. sublong_options = sublong_options
638637 }
639638
640639 // ---------------- Display ----------------
641- // Create a map of aligner options
640+ // Create a map of aligner options from the passed map
642641 def optionsMap = [:]
643642 for (tool in aligner_list) {
644643 def key = " ${ tool} _options"
645- optionsMap[tool] = params . getAt(key) ?: " "
644+ optionsMap[tool] = aligner_options_map . getAt(key) ?: " "
646645 }
647646
648647 // Serialize this map as key=value pairs separated by commas (or any delimiter)
0 commit comments