diff --git a/CHANGELOG.md b/CHANGELOG.md index 2def1d5b..1623fc11 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - A new parameter to skip filtering based on vep results [#416](https://github.com/nf-core/raredisease/pull/416) - A `metromap` representating the core parts of the pipeline [#428](https://github.com/nf-core/raredisease/pull/428) - Metromap and logos for light and dark theme [#432](https://github.com/nf-core/raredisease/pull/432) +- New parameters to skip qualimap and eklipse (`--skip_qualimap` and `--skip_eklipse`) [#436](https://github.com/nf-core/raredisease/pull/436) ### `Changed` diff --git a/conf/modules/call_sv_MT.config b/conf/modules/call_sv_MT.config index 44b0e581..606ef429 100644 --- a/conf/modules/call_sv_MT.config +++ b/conf/modules/call_sv_MT.config @@ -26,12 +26,14 @@ process { ] } - withName: '.*CALL_SV_MT:EKLIPSE' { - publishDir = [ - path: { "${params.outdir}/call_sv/mitochondria" }, - mode: params.publish_dir_mode, - saveAs: { filename -> filename.equals('versions.yml') ? null : filename } - ] + if (!params.skip_eklipse){ + withName: '.*CALL_SV_MT:EKLIPSE' { + publishDir = [ + path: { "${params.outdir}/call_sv/mitochondria" }, + mode: params.publish_dir_mode, + saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + ] + } } } diff --git a/conf/modules/qc_bam.config b/conf/modules/qc_bam.config index eeb60b34..cc744773 100644 --- a/conf/modules/qc_bam.config +++ b/conf/modules/qc_bam.config @@ -33,8 +33,10 @@ process { ext.prefix = { "${meta.id}_hsmetrics" } } - withName: '.*QC_BAM:QUALIMAP_BAMQC' { - ext.prefix = { "${meta.id}_qualimap" } + if (!params.skip_qualimap) { + withName: '.*QC_BAM:QUALIMAP_BAMQC' { + ext.prefix = { "${meta.id}_qualimap" } + } } withName: '.*QC_BAM:TIDDIT_COV' { diff --git a/conf/test.config b/conf/test.config index c7593f76..8cb3e2af 100644 --- a/conf/test.config +++ b/conf/test.config @@ -25,6 +25,8 @@ params { // analysis params skip_cnv_calling = true + skip_eklipse = true + skip_qualimap = true skip_mt_annotation = System.getenv("GITHUB_ACTIONS").equals(null) ? false : true // skip annotation on Github CI // Input data diff --git a/conf/test_one_sample.config b/conf/test_one_sample.config index 51524fe7..4ad89508 100644 --- a/conf/test_one_sample.config +++ b/conf/test_one_sample.config @@ -25,6 +25,8 @@ params { // analysis params skip_cnv_calling = true + skip_eklipse = true + skip_qualimap = true skip_mt_annotation = System.getenv("GITHUB_ACTIONS").equals(null) ? false : true // skip annotation on Github CI // Input data diff --git a/nextflow.config b/nextflow.config index 9573e35c..ed8275fe 100644 --- a/nextflow.config +++ b/nextflow.config @@ -25,6 +25,8 @@ params { bait_padding = 100 save_mapped_as_cram = false skip_cnv_calling = false + skip_eklipse = false + skip_qualimap = false skip_snv_annotation = false skip_sv_annotation = false skip_mt_annotation = false diff --git a/nextflow_schema.json b/nextflow_schema.json index a3a95f1c..6d43a432 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -388,6 +388,16 @@ "description": "Specifies whether or not to skip CNV calling.", "fa_icon": "fas fa-toggle-on" }, + "skip_eklipse": { + "type": "boolean", + "description": "Specifies whether or not to skip eKLIPse.", + "fa_icon": "fas fa-toggle-on" + }, + "skip_qualimap": { + "type": "boolean", + "description": "Specifies whether or not to skip Qualimap.", + "fa_icon": "fas fa-toggle-on" + }, "skip_mt_annotation": { "type": "boolean", "description": "Specifies whether or not to skip annotation of mitochondrial variants.", diff --git a/subworkflows/local/qc_bam.nf b/subworkflows/local/qc_bam.nf index 9331523e..11439a7b 100644 --- a/subworkflows/local/qc_bam.nf +++ b/subworkflows/local/qc_bam.nf @@ -29,6 +29,7 @@ workflow QC_BAM { main: ch_versions = Channel.empty() + ch_qualimap = Channel.empty() PICARD_COLLECTMULTIPLEMETRICS (ch_bam_bai, ch_genome_fasta, ch_genome_fai) @@ -39,7 +40,10 @@ workflow QC_BAM { PICARD_COLLECTHSMETRICS (ch_hsmetrics_in, ch_genome_fasta, ch_genome_fai, [[],[]]) - QUALIMAP_BAMQC (ch_bam, []) + if (!params.skip_qualimap) { + ch_qualimap = QUALIMAP_BAMQC (ch_bam, []).results + ch_versions = ch_versions.mix(QUALIMAP_BAMQC.out.versions.first()) + } TIDDIT_COV (ch_bam, [[],[]]) // 2nd pos. arg is req. only for cram input @@ -60,7 +64,6 @@ workflow QC_BAM { ch_versions = ch_versions.mix(PICARD_COLLECTMULTIPLEMETRICS.out.versions.first()) ch_versions = ch_versions.mix(PICARD_COLLECTHSMETRICS.out.versions.first()) - ch_versions = ch_versions.mix(QUALIMAP_BAMQC.out.versions.first()) ch_versions = ch_versions.mix(TIDDIT_COV.out.versions.first()) ch_versions = ch_versions.mix(UCSC_WIGTOBIGWIG.out.versions.first()) ch_versions = ch_versions.mix(MOSDEPTH.out.versions.first()) @@ -70,7 +73,7 @@ workflow QC_BAM { emit: multiple_metrics = PICARD_COLLECTMULTIPLEMETRICS.out.metrics // channel: [ val(meta), path(metrics) ] hs_metrics = PICARD_COLLECTHSMETRICS.out.metrics // channel: [ val(meta), path(metrics) ] - qualimap_results = QUALIMAP_BAMQC.out.results // channel: [ val(meta), path(qualimap_dir) ] + qualimap_results = ch_qualimap // channel: [ val(meta), path(qualimap_dir) ] tiddit_wig = TIDDIT_COV.out.wig // channel: [ val(meta), path(wig) ] bigwig = UCSC_WIGTOBIGWIG.out.bw // channel: [ val(meta), path(bw) ] d4 = MOSDEPTH.out.per_base_d4 // channel: [ val(meta), path(d4) ] diff --git a/subworkflows/local/variant_calling/call_sv_MT.nf b/subworkflows/local/variant_calling/call_sv_MT.nf index c8fdff45..7d6f4ede 100644 --- a/subworkflows/local/variant_calling/call_sv_MT.nf +++ b/subworkflows/local/variant_calling/call_sv_MT.nf @@ -11,19 +11,27 @@ workflow CALL_SV_MT { ch_fasta // channel: [mandatory] [ val(meta), path(fasta) ] main: - ch_versions = Channel.empty() + ch_versions = Channel.empty() + ch_eklipse_del = Channel.empty() + ch_eklipse_genes = Channel.empty() + ch_eklipse_circos = Channel.empty() - EKLIPSE(ch_bam_bai,[]) + if (!params.skip_eklipse){ + EKLIPSE(ch_bam_bai,[]) + ch_eklipse_del = EKLIPSE.out.deletions + ch_eklipse_genes = EKLIPSE.out.genes + ch_eklipse_circos = EKLIPSE.out.circos + ch_versions = ch_versions.mix(EKLIPSE.out.versions.first()) + } MT_DELETION(ch_bam_bai, ch_fasta) - ch_versions = ch_versions.mix(EKLIPSE.out.versions.first()) ch_versions = ch_versions.mix(MT_DELETION.out.versions.first()) emit: - eklipse_del = EKLIPSE.out.deletions // channel: [ val(meta), path(csv) ] - eklipse_genes = EKLIPSE.out.genes // channel: [ val(meta), path(csv) ] - eklipse_circos = EKLIPSE.out.circos // channel: [ val(meta), path(png) ] + eklipse_del = ch_eklipse_del // channel: [ val(meta), path(csv) ] + eklipse_genes = ch_eklipse_genes // channel: [ val(meta), path(csv) ] + eklipse_circos = ch_eklipse_circos // channel: [ val(meta), path(png) ] mt_del_result = MT_DELETION.out.mt_del_result // channel: [ val(meta), path(txt) ] versions = ch_versions // channel: [ path(versions.yml) ] }