Skip to content

Commit 3510e49

Browse files
authored
Merge pull request #245 from MaxUlysse/params_dsl2
better params handling
2 parents f18f71a + a1451dd commit 3510e49

File tree

2 files changed

+65
-71
lines changed

2 files changed

+65
-71
lines changed

main.nf

Lines changed: 64 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -178,55 +178,50 @@ if (tsv_path) {
178178
*/
179179

180180
// Initialize each params in params.genomes, catch the command line first if it was defined
181-
// params.fasta has to be the first one
182-
params.fasta = params.genome && !('annotate' in step) ? params.genomes[params.genome].fasta ?: null : null
183-
184-
// The rest can be sorted
185-
params.ac_loci = params.genome && 'ascat' in tools ? params.genomes[params.genome].ac_loci ?: null : null
186-
params.ac_loci_gc = params.genome && 'ascat' in tools ? params.genomes[params.genome].ac_loci_gc ?: null : null
187-
params.bwa = params.genome && params.fasta && 'mapping' in step ? params.genomes[params.genome].bwa ?: null : null
188-
params.chr_dir = params.genome && 'controlfreec' in tools ? params.genomes[params.genome].chr_dir ?: null : null
189-
params.chr_length = params.genome && 'controlfreec' in tools ? params.genomes[params.genome].chr_length ?: null : null
190-
params.dbsnp = params.genome && ('mapping' in step || 'preparerecalibration' in step || 'controlfreec' in tools || 'haplotypecaller' in tools || 'mutect2' in tools || params.sentieon) ? params.genomes[params.genome].dbsnp ?: null : null
191-
params.dbsnp_index = params.genome && params.dbsnp ? params.genomes[params.genome].dbsnp_index ?: null : null
192-
params.dict = params.genome && params.fasta ? params.genomes[params.genome].dict ?: null : null
193-
params.fasta_fai = params.genome && params.fasta ? params.genomes[params.genome].fasta_fai ?: null : null
194-
params.germline_resource = params.genome && 'mutect2' in tools ? params.genomes[params.genome].germline_resource ?: null : null
195-
params.germline_resource_index = params.genome && params.germline_resource ? params.genomes[params.genome].germline_resource_index ?: null : null
196-
params.intervals = params.genome && !('annotate' in step) ? params.genomes[params.genome].intervals ?: null : null
197-
params.known_indels = params.genome && ('mapping' in step || 'preparerecalibration' in step) ? params.genomes[params.genome].known_indels ?: null : null
198-
params.known_indels_index = params.genome && params.known_indels ? params.genomes[params.genome].known_indels_index ?: null : null
199-
params.mappability = params.genome && 'controlfreec' in tools ? params.genomes[params.genome].mappability ?: null : null
200-
params.snpeff_db = params.genome && 'snpeff' in tools ? params.genomes[params.genome].snpeff_db ?: null : null
201-
params.species = params.genome && 'vep' in tools ? params.genomes[params.genome].species ?: null : null
202-
params.vep_cache_version = params.genome && 'vep' in tools ? params.genomes[params.genome].vep_cache_version ?: null : null
181+
182+
params.ac_loci = params.genome ? params.genomes[params.genome].ac_loci ?: false : false
183+
params.ac_loci_gc = params.genome ? params.genomes[params.genome].ac_loci_gc ?: false : false
184+
params.bwa = params.genome ? params.genomes[params.genome].bwa ?: false : false
185+
params.chr_dir = params.genome ? params.genomes[params.genome].chr_dir ?: false : false
186+
params.chr_length = params.genome ? params.genomes[params.genome].chr_length ?: false : false
187+
params.dbsnp = params.genome ? params.genomes[params.genome].dbsnp ?: false : false
188+
params.dbsnp_index = params.genome ? params.genomes[params.genome].dbsnp_index ?: false : false
189+
params.dict = params.genome ? params.genomes[params.genome].dict ?: false : false
190+
params.fasta = params.genome ? params.genomes[params.genome].fasta ?: false : false
191+
params.fasta_fai = params.genome ? params.genomes[params.genome].fasta_fai ?: false : false
192+
params.germline_resource = params.genome ? params.genomes[params.genome].germline_resource ?: false : false
193+
params.germline_resource_index = params.genome ? params.genomes[params.genome].germline_resource_index ?: false : false
194+
params.intervals = params.genome ? params.genomes[params.genome].intervals ?: false : false
195+
params.known_indels = params.genome ? params.genomes[params.genome].known_indels ?: false : false
196+
params.known_indels_index = params.genome ? params.genomes[params.genome].known_indels_index ?: false : false
197+
params.mappability = params.genome ? params.genomes[params.genome].mappability ?: false : false
198+
params.snpeff_db = params.genome ? params.genomes[params.genome].snpeff_db ?: false : false
199+
params.species = params.genome ? params.genomes[params.genome].species ?: false : false
200+
params.vep_cache_version = params.genome ? params.genomes[params.genome].vep_cache_version ?: false : false
203201

204202
// Initialize channels based on params
205-
fasta = params.fasta && !('annotate' in step) ? Channel.value(file(params.fasta)) : "null"
206-
dbsnp = params.dbsnp && ('mapping' in step || 'preparerecalibration' in step || 'controlfreec' in tools || 'haplotypecaller' in tools || 'mutect2' in tools || params.sentieon) ? Channel.value(file(params.dbsnp)) : "null"
207-
germline_resource = params.germline_resource && 'mutect2' in tools ? Channel.value(file(params.germline_resource)) : "null"
208-
known_indels = params.known_indels && ('mapping' in step || 'preparerecalibration' in step) ? Channel.value(file(params.known_indels)) : "null"
209-
pon = params.pon ? Channel.value(file(params.pon)) : "null"
210-
211-
ch_ac_loci = params.ac_loci && 'ascat' in tools ? Channel.value(file(params.ac_loci)) : "null"
212-
ch_ac_loci_gc = params.ac_loci_gc && 'ascat' in tools ? Channel.value(file(params.ac_loci_gc)) : "null"
213-
ch_chr_dir = params.chr_dir && 'controlfreec' in tools ? Channel.value(file(params.chr_dir)) : "null"
214-
ch_chr_length = params.chr_length && 'controlfreec' in tools ? Channel.value(file(params.chr_length)) : "null"
215-
fai = params.fasta_fai && !('annotate' in step) ? Channel.value(file(params.fasta_fai)) : "null"
216-
intervals = params.intervals && !params.no_intervals && !('annotate' in step) ? Channel.value(file(params.intervals)) : "null"
217-
ch_mappability = params.mappability && 'controlfreec' in tools ? Channel.value(file(params.mappability)) : "null"
218-
219-
ch_snpeff_cache = params.snpeff_cache ? Channel.value(file(params.snpeff_cache)) : "null"
220-
ch_snpeff_db = params.snpeff_db ? Channel.value(params.snpeff_db) : "null"
221-
ch_vep_cache_version = params.vep_cache_version ? Channel.value(params.vep_cache_version) : "null"
222-
ch_vep_cache = params.vep_cache ? Channel.value(file(params.vep_cache)) : "null"
203+
chr_dir = params.chr_dir ?: Channel.empty()
204+
chr_length = params.chr_length ?: Channel.empty()
205+
dbsnp = params.dbsnp ?: Channel.empty()
206+
fasta = params.fasta ?: Channel.empty()
207+
germline_resource = params.germline_resource ?: Channel.empty()
208+
known_indels = params.known_indels ?: Channel.empty()
209+
loci = params.ac_loci ?: Channel.empty()
210+
loci_gc = params.ac_loci_gc ?: Channel.empty()
211+
mappability = params.mappability ?: Channel.empty()
212+
pon = params.pon ?: Channel.empty()
213+
snpeff_cache = params.snpeff_cache ?: Channel.empty()
214+
snpeff_db = params.snpeff_db ?: Channel.empty()
215+
snpeff_species = params.species ?: Channel.empty()
216+
vep_cache = params.vep_cache ?: Channel.empty()
217+
vep_cache_version = params.vep_cache_version ?: Channel.empty()
223218

224219
// Optional files, not defined within the params.genomes[params.genome] scope
225-
ch_cadd_indels = params.cadd_indels ? Channel.value(file(params.cadd_indels)) : "null"
226-
ch_cadd_indels_tbi = params.cadd_indels_tbi ? Channel.value(file(params.cadd_indels_tbi)) : "null"
227-
ch_cadd_wg_snvs = params.cadd_wg_snvs ? Channel.value(file(params.cadd_wg_snvs)) : "null"
228-
ch_cadd_wg_snvs_tbi = params.cadd_wg_snvs_tbi ? Channel.value(file(params.cadd_wg_snvs_tbi)) : "null"
229-
ch_target_bed = params.target_bed ? Channel.value(file(params.target_bed)) : "null"
220+
cadd_indels = params.cadd_indels ?: Channel.empty()
221+
cadd_indels_tbi = params.cadd_indels_tbi ?: Channel.empty()
222+
cadd_wg_snvs = params.cadd_wg_snvs ?: Channel.empty()
223+
cadd_wg_snvs_tbi = params.cadd_wg_snvs_tbi ?: Channel.empty()
224+
target_bed = params.target_bed ?: Channel.empty()
230225

231226
/*
232227
================================================================================
@@ -322,8 +317,6 @@ include { MULTIQC } from './modules/nf-core/multiqc' params(params)
322317

323318
include { BUILD_INDICES } from './modules/subworkflows/build_indices' addParams(params)
324319

325-
fasta.dump(tag: 'fasta')
326-
327320
workflow {
328321

329322
BUILD_INDICES(
@@ -332,15 +325,17 @@ workflow {
332325
germline_resource,
333326
known_indels,
334327
pon,
335-
step)
328+
step,
329+
tools)
336330

337331
bwa = params.bwa ?: BUILD_INDICES.out.bwa
338332
dbsnp_tbi = params.dbsnp ? params.dbsnp_index ?: BUILD_INDICES.out.dbsnp_tbi : Channel.empty()
339333
dict = params.dict ?: BUILD_INDICES.out.dict
340334
fai = params.fasta_fai ? params.fasta_fai : BUILD_INDICES.out.fai
341335
germline_resource_tbi = params.germline_resource ? params.germline_resource_index ?: BUILD_INDICES.out.germline_resource_tbi : Channel.empty()
342-
intervals = params.no_intervals ? Channel.empty() : params.intervals && !('annotate' in step) ? params.intervals : BUILD_INDICES.out.intervals
343-
known_indels_tbi = params.known_indels ? params.known_indels_index ?: BUILD_INDICES.out.known_indels_tbi.collect() : Channel.empty()
336+
intervals = params.no_intervals ? Channel.empty() : params.intervals ?: BUILD_INDICES.out.intervals
337+
known_indels_tbi = params.known_indels ? params.known_indels_index ?: BUILD_INDICES.out.known_indels_tbi : Channel.empty()
338+
// known_indels_tbi = params.known_indels ? params.known_indels_index ?: BUILD_INDICES.out.known_indels_tbi.collect() : Channel.empty()
344339
pon_tbi = params.pon ? params.pon_index ?: BUILD_INDICES.out.pon_tbi : Channel.empty()
345340

346341
// PREPROCESSING
@@ -2292,7 +2287,7 @@ workflow.onComplete {
22922287

22932288
// input:
22942289
// set idPatient, idSample, file(bam), file(bai) from bamAscat
2295-
// file(acLoci) from ch_ac_loci
2290+
// file(acLoci) from loci
22962291
// file(dict) from dict
22972292
// file(fasta) from fasta
22982293
// file(fastaFai) from fai
@@ -2365,7 +2360,7 @@ workflow.onComplete {
23652360

23662361
// input:
23672362
// set idPatient, idSampleNormal, idSampleTumor, file(bafNormal), file(logrNormal), file(bafTumor), file(logrTumor) from convertAlleleCountsOut
2368-
// file(acLociGC) from ch_ac_loci_gc
2363+
// file(acLociGC) from loci_gc
23692364

23702365
// output:
23712366
// set val("ASCAT"), idPatient, idSampleNormal, idSampleTumor, file("${idSampleTumor}.*.{png,txt}") into ascatOut
@@ -2510,9 +2505,9 @@ workflow.onComplete {
25102505

25112506
// input:
25122507
// set idPatient, idSampleNormal, idSampleTumor, file(mpileupNormal), file(mpileupTumor) from mpileupOut
2513-
// file(chrDir) from ch_chr_dir
2514-
// file(mappability) from ch_mappability
2515-
// file(chrLength) from ch_chr_length
2508+
// file(chrDir) from chr_dir
2509+
// file(mappability) from mappability
2510+
// file(chrLength) from chr_length
25162511
// file(dbsnp) from dbsnp
25172512
// file(dbsnpIndex) from dbsnp_tbi
25182513
// file(fasta) from fasta
@@ -2801,8 +2796,8 @@ workflow.onComplete {
28012796

28022797
// input:
28032798
// set variantCaller, idSample, file(vcf) from vcfSnpeff
2804-
// file(dataDir) from ch_snpeff_cache
2805-
// val snpeffDb from ch_snpeff_db
2799+
// file(dataDir) from snpeff_cache
2800+
// val snpeffDb from snpeff_db
28062801

28072802
// output:
28082803
// set file("${reducedVCF}_snpEff.genes.txt"), file("${reducedVCF}_snpEff.html"), file("${reducedVCF}_snpEff.csv") into snpeffReport
@@ -2867,13 +2862,12 @@ workflow.onComplete {
28672862

28682863
// input:
28692864
// set variantCaller, idSample, file(vcf), file(idx) from vcfVep
2870-
// file(dataDir) from ch_vep_cache
2871-
// val cache_version from ch_vep_cache_version
2872-
// file(cadd_InDels) from ch_cadd_indels
2873-
// file(cadd_InDels_tbi) from ch_cadd_indels_tbi
2874-
// file(cadd_WG_SNVs) from ch_cadd_wg_snvs
2875-
// file(cadd_WG_SNVs_tbi) from ch_cadd_wg_snvs_tbi
2876-
2865+
// file(dataDir) from vep_cache
2866+
// val cache_version from vep_cache_version
2867+
// file(cadd_InDels) from cadd_indels
2868+
// file(cadd_InDels_tbi) from cadd_indels_tbi
2869+
// file(cadd_WG_SNVs) from cadd_wg_snvs
2870+
// file(cadd_WG_SNVs_tbi) from cadd_wg_snvs_tbi
28772871
// output:
28782872
// set variantCaller, idSample, file("${reducedVCF}_VEP.ann.vcf") into vepVCF
28792873
// file("${reducedVCF}_VEP.summary.html") into vepReport
@@ -2930,13 +2924,12 @@ workflow.onComplete {
29302924

29312925
// input:
29322926
// set variantCaller, idSample, file(vcf), file(idx) from compressVCFsnpEffOut
2933-
// file(dataDir) from ch_vep_cache
2934-
// val cache_version from ch_vep_cache_version
2935-
// file(cadd_InDels) from ch_cadd_indels
2936-
// file(cadd_InDels_tbi) from ch_cadd_indels_tbi
2937-
// file(cadd_WG_SNVs) from ch_cadd_wg_snvs
2938-
// file(cadd_WG_SNVs_tbi) from ch_cadd_wg_snvs_tbi
2939-
2927+
// file(dataDir) from vep_cache
2928+
// val cache_version from vep_cache_version
2929+
// file(cadd_InDels) from cadd_indels
2930+
// file(cadd_InDels_tbi) from cadd_indels_tbi
2931+
// file(cadd_WG_SNVs) from cadd_wg_snvs
2932+
// file(cadd_WG_SNVs_tbi) from cadd_wg_snvs_tbi
29402933
// output:
29412934
// set variantCaller, idSample, file("${reducedVCF}_VEP.ann.vcf") into vepVCFmerge
29422935
// file("${reducedVCF}_VEP.summary.html") into vepReportMerge

modules/subworkflows/build_indices.nf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ workflow BUILD_INDICES{
2525
known_indels
2626
pon
2727
step
28+
tools
2829

2930
main:
3031

0 commit comments

Comments
 (0)