view 0.5.0/workflows/conf/process/bettercallsal.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: 'SEQKIT_SEQ' {
        ext.args = [
            params.fq_filter_by_len ? "-m ${params.fq_filter_by_len}" : ''
        ].join(' ').trim()
    }

    if (params.bbmerge_run) {
        withName: 'BBTOOLS_BBMERGE' {
            ext.args = addParamsToSummary(
                loadThisFunction("${params.toolshelp}${params.fs}bbmerge.nf").bbmergeHelp(params).helpparams
            )
        }
    }

    if (params.fastp_run) {
        withName: 'FASTP' {
            ext.args = addParamsToSummary(
                loadThisFunction("${params.toolshelp}${params.fs}fastp.nf").fastpHelp(params).helpparams
            )
        }
    }

    if (params.bcs_concat_pe) {
        withName: 'CAT_CAT' {
            ext.prefix = 'concat.fastq.gz'
        }
    }


    if (params.mashscreen_run) {
        withName: 'MASH_SCREEN' {
            ext.args = addParamsToSummary(
                loadThisFunction("${params.toolshelp}${params.fs}mashscreen.nf").mashscreenHelp(params).helpparams
            )
        }
    }

    if (params.tuspy_run) {
        withName: 'TOP_UNIQUE_SEROVARS' {
            ext.args = addParamsToSummary(
                loadThisFunction("${params.toolshelp}${params.fs}tuspy.nf").tuspyHelp(params).helpparams
            )
        }
    }

    if (params.gsrpy_run) {
        withName: 'BCS_RESULTS' {
            ext.args = addParamsToSummary(
                loadThisFunction("${params.toolshelp}${params.fs}gsrpy.nf").gsrpyHelp(params).helpparams
            )
        }
    }

    if (params.sourmashsketch_run) {
        withName: 'SOURMASH_SKETCH' {
            ext.args = addParamsToSummary(
                loadThisFunction("${params.toolshelp}${params.fs}sourmashsketch.nf").sourmashsketchHelp(params).helpparams
            )
        }
    }

    if (params.sourmashgather_run) {
        withName: 'SOURMASH_GATHER' {
            ext.args = addParamsToSummary(
                loadThisFunction("${params.toolshelp}${params.fs}sourmashgather.nf").sourmashgatherHelp(params).helpparams
            )

            if (params.sfhpy_run) {
                ext.args2 = addParamsToSummary(
                    loadThisFunction("${params.toolshelp}${params.fs}sfhpy.nf").sfhpyHelp(params).helpparams
                )
            }
        }
    }

    if (params.sourmashsearch_run) {
        withName: 'SOURMASH_SEARCH' {
            ext.args = addParamsToSummary(
                loadThisFunction("${params.toolshelp}${params.fs}sourmashsearch.nf").sourmashsearchHelp(params).helpparams
            )

            if (params.sfhpy_run) {
                ext.args2 = addParamsToSummary(
                    loadThisFunction("${params.toolshelp}${params.fs}sfhpy.nf").sfhpyHelp(params).helpparams
                )
            }
        }
    }

    if (params.kmaindex_run) {
        withName: 'KMA_INDEX' {
            ext.args = addParamsToSummary(
                loadThisFunction("${params.toolshelp}${params.fs}kmaindex.nf").kmaindexHelp(params).helpparams
            )
        }
    }

    if (params.kmaalign_run) {
        withName: 'KMA_ALIGN' {
            ext.args = addParamsToSummary(
                loadThisFunction("${params.toolshelp}${params.fs}kmaalign.nf").kmaalignHelp(params).helpparams
            )
        }
    }

    if (params.salmonidx_run){
        withName: 'SALMON_INDEX' {
            ext.args = addParamsToSummary(
                loadThisFunction("${params.toolshelp}${params.fs}salmonidx.nf").salmonidxHelp(params).helpparams
            )
        }
    }

    withName: 'OTF_GENOME' {
        errorStrategy = 'ignore'
    }
    
}


// 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
}