/*
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Config file for defining DSL2 per module options and publishing paths
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Available keys to override module options:
        ext.args   = Additional arguments appended to command in module.
        ext.args2  = Second set of arguments appended to command in module (multi-tool modules).
        ext.args3  = Third set of arguments appended to command in module (multi-tool modules).
        ext.prefix = File name prefix for output files.
        ext.when   = When to run the module.
----------------------------------------------------------------------------------------
*/

// PREPARE INTERVALS

process {

    withName: 'CREATE_INTERVALS_BED' {
        publishDir       = [
            enabled: (params.save_reference || params.build_only_index),
            mode: params.publish_dir_mode,
            path: { "${params.outdir}/reference/intervals" },
            pattern: "*bed"
        ]
    }

    withName: 'GATK4_INTERVALLISTTOBED' {
        publishDir       = [
            enabled: (params.save_reference || params.build_only_index),
            mode: params.publish_dir_mode,
            path: { "${params.outdir}/reference/intervals" },
            pattern: "*bed"
        ]
    }

    withName: 'TABIX_BGZIPTABIX_INTERVAL_SPLIT' {
        ext.prefix       = {"${meta.id}"}
        publishDir       = [
            enabled: (params.save_reference || params.build_only_index),
            mode: params.publish_dir_mode,
            path: { "${params.outdir}/reference/intervals" },
            pattern: "*bed.gz"
        ]
    }
}
