Skip to content

Commit 3310a87

Browse files
committed
pass params explicitly
1 parent 43f4b5a commit 3310a87

2 files changed

Lines changed: 53 additions & 28 deletions

File tree

aline.nf

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -811,7 +811,33 @@ workflow {
811811
// ADAPT ALIGNER PARAMETERS
812812
// ------------------------------------------------------------------------------------------------
813813
log.info """Adapt aligner parameters ..."""
814-
check_aligner_params( raw_reads_trim_length_lib, aligner_list, annotation.collect(), aline_processed_params, params.relax )
814+
// Create a map of all aligner options to pass explicitly (avoids params object in cache hash)
815+
def aligner_options_map = [
816+
bbmap_options: params.bbmap_options ?: "",
817+
bowtie_options: params.bowtie_options ?: "",
818+
bowtie2_options: params.bowtie2_options ?: "",
819+
bwaaln_options: params.bwaaln_options ?: "",
820+
bwamem_options: params.bwamem_options ?: "",
821+
bwamem2_options: params.bwamem2_options ?: "",
822+
bwasw_options: params.bwasw_options ?: "",
823+
bwafastalignaln_options: params.bwafastalignaln_options ?: "",
824+
bwafastalignmem_options: params.bwafastalignmem_options ?: "",
825+
bwafastalignsw_options: params.bwafastalignsw_options ?: "",
826+
dragmap_options: params.dragmap_options ?: "",
827+
graphmap2_options: params.graphmap2_options ?: "",
828+
hisat2_options: params.hisat2_options ?: "",
829+
kallisto_options: params.kallisto_options ?: "",
830+
last_options: params.last_options ?: "",
831+
minimap2_options: params.minimap2_options ?: "",
832+
ngmlr_options: params.ngmlr_options ?: "",
833+
novoalign_options: params.novoalign_options ?: "",
834+
nucmer_options: params.nucmer_options ?: "",
835+
salmon_options: params.salmon_options ?: "",
836+
star_options: params.star_options ?: "",
837+
subread_options: params.subread_options ?: "",
838+
sublong_options: params.sublong_options ?: ""
839+
]
840+
check_aligner_params( raw_reads_trim_length_lib, aligner_list, annotation.collect(), aline_processed_params, params.relax, aligner_options_map )
815841
reads = check_aligner_params.out[0]
816842
params.debug && reads.view()
817843

modules/bash.nf

Lines changed: 26 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)