view 0.5.0/workflows/conf/process/bettercallsal_db.process.config @ 1:365849f031fd

"planemo upload"
author kkonganti
date Mon, 05 Jun 2023 18:48:51 -0400
parents
children
line wrap: on
line source
process {
    withName: 'DB_PER_COMPUTED_SEROTYPE' {
        ext.args = addParamsToSummary(
            loadThisFunction("${params.toolshelp}${params.fs}wcomp.nf").wcompHelp(params).helpparams
        )
    }

    withName: 'DB_PER_SNP_CLUSTER' {
        ext.args = addParamsToSummary(
            loadThisFunction("${params.toolshelp}${params.fs}wsnp.nf").wsnpHelp(params).helpparams
        )
    }

    if (params.mashsketch_run) {
        withName: 'MASH_SKETCH' {
            ext.args = addParamsToSummary(
                loadThisFunction("${params.toolshelp}${params.fs}mashsketch.nf").mashsketchHelp(params).helpparams
            )
        }
    }

    withName: 'SCAFFOLD_GENOMES' {
        maxRetries = 5
        publishDir = [
            path:  "${params.output}${params.fs}scaffold_genomes",
            mode: "move",
            overwrite: true,
            saveAs: { filename -> filename ==~ /versions\.yml|genome_paths\.txt/ ? null : filename }
        ]
    }
}


// Parse the default params
def loadThisFunction (func_file) {
    GroovyShell grvy_sh = new GroovyShell()
    def func = grvy_sh.parse(new File ( func_file ) )
    return func
}

// Method to add relevant final parameters to summary log
def addParamsToSummary(Map params_to_add = [:]) {

    if (!params_to_add.isEmpty()) {
        def not_null_params_to_add = params_to_add.findAll {
            it.value.clivalue != null && 
                it.value.clivalue != '[:]' &&
                it.value.clivalue != ''
        }

        params.logtheseparams += not_null_params_to_add.keySet().toList()

        return not_null_params_to_add.collect {
            "${it.value.cliflag} ${it.value.clivalue.toString().replaceAll(/(?:^\s+|\s+$)/, '')}"
        }.join(' ').trim()
    }
    return 1
}