kkonganti@0: #!/usr/bin/env nextflow kkonganti@0: kkonganti@0: /* kkonganti@0: ---------------------------------------------------------------------------------------- kkonganti@0: cfsan-dev/cpipes kkonganti@0: ---------------------------------------------------------------------------------------- kkonganti@0: NAME : CPIPES kkonganti@0: DESCRIPTION : Modular Nextflow pipelines at CFSAN, FDA. kkonganti@0: GITLAB : https://cfsan-git.fda.gov/Kranti.Konganti/cpipes-framework kkonganti@0: JIRA : https://sde.fda.gov/jira/projects/CPIPES/ kkonganti@0: CONTRIBUTORS : Kranti.Konganti@fda.hhs.gov kkonganti@0: ---------------------------------------------------------------------------------------- kkonganti@0: */ kkonganti@0: kkonganti@0: // Enable DSL 2 kkonganti@0: nextflow.enable.dsl = 2 kkonganti@0: kkonganti@0: // Default routines for MAIN kkonganti@0: include { pipelineBanner; stopNow; } from "${params.routines}" kkonganti@0: kkonganti@0: // Our banner for CPIPES kkonganti@0: log.info pipelineBanner() kkonganti@0: kkonganti@0: /* kkonganti@0: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kkonganti@0: NAMED WORKFLOW CAN BE USED TO RUN A SPECIFIC PIPELINE. THIS IS THE RECOMMENDED WAY. kkonganti@0: NEED TO FIND A BETTER SOLUTION IF WE SEE A LOT OF PIPELINES. kkonganti@0: See: https://github.com/nf-core/rnaseq/issues/619 kkonganti@0: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kkonganti@0: */ kkonganti@0: kkonganti@0: switch ("${params.pipeline}") { kkonganti@0: case "cronology": kkonganti@0: include { CRONOLOGY } from "${params.workflows}${params.fs}${params.pipeline}" kkonganti@0: break kkonganti@0: case "cronology_db": kkonganti@0: include { CRONOLOGY_DB } from "${params.workflows}${params.fs}${params.pipeline}" kkonganti@0: break kkonganti@0: default: kkonganti@0: stopNow("PLEASE MENTION A PIPELINE NAME. Ex: --pipeline cronology") kkonganti@0: } kkonganti@0: kkonganti@0: /* kkonganti@0: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kkonganti@0: RUN ALL WORKFLOWS kkonganti@0: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kkonganti@0: */ kkonganti@0: kkonganti@0: workflow { kkonganti@0: // THIS IS REPETETIVE BUT WE ARE NOT ALLOWED TO INCLUDE "INCLUDE" kkonganti@0: // INSIDE WORKFLOW kkonganti@0: switch ("${params.pipeline}") { kkonganti@0: case "cronology": kkonganti@0: CRONOLOGY() kkonganti@0: break kkonganti@0: case "cronology_db": kkonganti@0: CRONOLOGY_DB() kkonganti@0: break kkonganti@0: } kkonganti@0: } kkonganti@0: kkonganti@0: /* kkonganti@0: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kkonganti@0: THE END kkonganti@0: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kkonganti@0: */