diff --git a/modules/multiqc/main.nf b/modules/multiqc/main.nf index d10dae69..698461d7 100644 --- a/modules/multiqc/main.nf +++ b/modules/multiqc/main.nf @@ -9,6 +9,7 @@ process MULTIQC { input: path multiqc_files, stageAs: "?/*" path(multiqc_config) + path(extra_multiqc_config) path(multiqc_logo) output: @@ -23,11 +24,13 @@ process MULTIQC { script: def args = task.ext.args ?: '' def config = multiqc_config ? "--config $multiqc_config" : '' + def extra_config = extra_multiqc_config ? "--config $extra_multiqc_config" : '' """ multiqc \\ --force \\ - $config \\ $args \\ + $config \\ + $extra_config \\ . cat <<-END_VERSIONS > versions.yml diff --git a/modules/multiqc/meta.yml b/modules/multiqc/meta.yml index a1029f33..ebc29b27 100644 --- a/modules/multiqc/meta.yml +++ b/modules/multiqc/meta.yml @@ -22,6 +22,10 @@ input: type: file description: Optional config yml for MultiQC pattern: "*.{yml,yaml}" + - extra_multiqc_config: + type: file + description: Second optional config yml for MultiQC. Will override common sections in multiqc_config. + pattern: "*.{yml,yaml}" - multiqc_logo: type: file description: Optional logo file for MultiQC diff --git a/tests/modules/multiqc/main.nf b/tests/modules/multiqc/main.nf index f3741ece..ee0edabc 100644 --- a/tests/modules/multiqc/main.nf +++ b/tests/modules/multiqc/main.nf @@ -13,7 +13,7 @@ workflow test_multiqc { ] FASTQC ( input ) - MULTIQC ( FASTQC.out.zip.collect { it[1] }, [], [] ) + MULTIQC ( FASTQC.out.zip.collect { it[1] }, [], [], [] ) } workflow test_multiqc_fn_collision { @@ -29,7 +29,7 @@ workflow test_multiqc_fn_collision { FASTQC2 ( fqc_input ) mqc_input = mqc_input.mix(FASTQC2.out.zip.collect { it[1] }) - MULTIQC ( mqc_input, [], [] ) + MULTIQC ( mqc_input, [], [], [] ) } workflow test_multiqc_config { @@ -41,5 +41,5 @@ workflow test_multiqc_config { mqc_input = Channel.empty() FASTQC ( input ) - MULTIQC ( FASTQC.out.zip.collect { it[1] }, mqc_config, [] ) + MULTIQC ( FASTQC.out.zip.collect { it[1] }, mqc_config, [], [] ) }