kkonganti@105: process { kkonganti@105: withName: 'SEQKIT_SEQ' { kkonganti@105: ext.args = [ kkonganti@105: params.fq_filter_by_len ? "-m ${params.fq_filter_by_len}" : '' kkonganti@105: ].join(' ').trim() kkonganti@105: } kkonganti@105: kkonganti@105: if (params.seqkit_rmdup_run) { kkonganti@105: withName: 'SEQKIT_RMDUP' { kkonganti@105: ext.when = params.seqkit_rmdup_run kkonganti@105: ext.args = addParamsToSummary( kkonganti@105: loadThisFunction("${params.toolshelp}${params.fs}seqkitrmdup.nf").seqkitrmdupHelp(params).helpparams kkonganti@105: ) kkonganti@105: } kkonganti@105: } kkonganti@105: kkonganti@105: if (params.seqkit_grep_on) { kkonganti@105: withName: 'SEQKIT_GREP' { kkonganti@105: ext.args = addParamsToSummary( kkonganti@105: loadThisFunction("${params.toolshelp}${params.fs}seqkitgrep.nf").seqkitgrepHelp(params).helpparams kkonganti@105: ) kkonganti@105: } kkonganti@105: } kkonganti@105: kkonganti@105: withName: 'CENTRIFUGE_CLASSIFY' { kkonganti@105: ext.args = addParamsToSummary( kkonganti@105: loadThisFunction("${params.toolshelp}${params.fs}centrifuge.nf").centrifugeHelp(params).helpparams kkonganti@105: ) kkonganti@105: } kkonganti@105: kkonganti@105: withName: 'KRAKEN2_CLASSIFY' { kkonganti@105: ext.args = addParamsToSummary( kkonganti@105: loadThisFunction("${params.toolshelp}${params.fs}kraken2.nf").kraken2Help(params).helpparams kkonganti@105: ) kkonganti@105: } kkonganti@105: kkonganti@105: withName: 'MEGAHIT_ASSEMBLE' { kkonganti@105: ext.when = params.megahit_run kkonganti@105: errorStrategy = 'ignore' kkonganti@105: ext.args = addParamsToSummary( kkonganti@105: loadThisFunction("${params.toolshelp}${params.fs}megahit.nf").megahitHelp(params).helpparams kkonganti@105: ) kkonganti@105: } kkonganti@105: kkonganti@105: withName: 'SPADES_ASSEMBLE' { kkonganti@105: ext.when = params.spades_run kkonganti@105: errorStrategy = 'ignore' kkonganti@105: ext.args = addParamsToSummary( kkonganti@105: loadThisFunction("${params.toolshelp}${params.fs}spades.nf").spadesHelp(params).helpparams kkonganti@105: ) kkonganti@105: } kkonganti@105: kkonganti@105: if (params.ectyper_run) { kkonganti@105: withName: 'ECTYPER' { kkonganti@105: ext.when = params.ectyper_run kkonganti@105: ext.args = addParamsToSummary( kkonganti@105: loadThisFunction("${params.toolshelp}${params.fs}ectyper.nf").ectyperHelp(params).helpparams kkonganti@105: ) kkonganti@105: } kkonganti@105: } kkonganti@105: kkonganti@105: withName: 'SEROTYPEFINDER' { kkonganti@105: ext.when = params.serotypefinder_run kkonganti@105: ext.args = addParamsToSummary( kkonganti@105: loadThisFunction("${params.toolshelp}${params.fs}serotypefinder.nf").serotypefinderHelp(params).helpparams kkonganti@105: ) kkonganti@105: } kkonganti@105: kkonganti@105: withName: 'SEQSERO2' { kkonganti@105: ext.when = params.seqsero2_run kkonganti@105: ext.args = addParamsToSummary( kkonganti@105: loadThisFunction("${params.toolshelp}${params.fs}seqsero2.nf").seqsero2Help(params).helpparams kkonganti@105: ) kkonganti@105: } kkonganti@105: kkonganti@105: withName: 'MLST' { kkonganti@105: ext.when = params.mlst_run kkonganti@105: ext.args = addParamsToSummary( kkonganti@105: loadThisFunction("${params.toolshelp}${params.fs}mlst.nf").mlstHelp(params).helpparams kkonganti@105: ) kkonganti@105: } kkonganti@105: kkonganti@105: if (params.amrfinderplus_run) { kkonganti@105: withName: 'AMRFINDERPLUS_RUN' { kkonganti@105: ext.when = params.amrfinderplus_run kkonganti@105: ext.args = addParamsToSummary( kkonganti@105: loadThisFunction("${params.toolshelp}${params.fs}amrfinderplus.nf").amrfinderplusHelp(params).helpparams kkonganti@105: ) kkonganti@105: } kkonganti@105: } kkonganti@105: kkonganti@105: withName: 'ABRICATE_RUN' { kkonganti@105: ext.when = params.abricate_run kkonganti@105: ext.args = addParamsToSummary( kkonganti@105: loadThisFunction("${params.toolshelp}${params.fs}abricate.nf").abricateHelp(params).helpparams kkonganti@105: ) kkonganti@105: } kkonganti@105: kkonganti@105: withName: 'ABRICATE_SUMMARY' { kkonganti@105: ext.when = params.abricate_summary_run kkonganti@105: } kkonganti@105: } kkonganti@105: kkonganti@105: // Method to instantiate a new function parser kkonganti@105: // Need to refactor using ScriptParser... another day kkonganti@105: def loadThisFunction (func_file) { kkonganti@105: GroovyShell grvy_sh = new GroovyShell() kkonganti@105: def func = grvy_sh.parse(new File ( func_file ) ) kkonganti@105: return func kkonganti@105: } kkonganti@105: kkonganti@105: // Method to add relevant final parameters to summary log kkonganti@105: def addParamsToSummary(Map params_to_add = [:]) { kkonganti@105: kkonganti@105: if (!params_to_add.isEmpty()) { kkonganti@105: def not_null_params_to_add = params_to_add.findAll { kkonganti@105: it.value.clivalue != null && kkonganti@105: it.value.clivalue != '[:]' && kkonganti@105: it.value.clivalue != '' kkonganti@105: } kkonganti@105: kkonganti@105: params.logtheseparams += not_null_params_to_add.keySet().toList() kkonganti@105: kkonganti@105: return not_null_params_to_add.collect { kkonganti@105: "${it.value.cliflag} ${it.value.clivalue.toString().replaceAll(/(?:^\s+|\s+$)/, '')}" kkonganti@105: }.join(' ').trim() kkonganti@105: } kkonganti@105: return 1 kkonganti@105: }