kkonganti@0
|
1 #!/usr/bin/env nextflow
|
kkonganti@0
|
2
|
kkonganti@0
|
3 /*
|
kkonganti@0
|
4 ----------------------------------------------------------------------------------------
|
kkonganti@0
|
5 cfsan-dev/cpipes
|
kkonganti@0
|
6 ----------------------------------------------------------------------------------------
|
kkonganti@0
|
7 NAME : CPIPES
|
kkonganti@0
|
8 DESCRIPTION : Modular Nextflow pipelines at CFSAN, FDA.
|
kkonganti@0
|
9 GITLAB : https://cfsan-git.fda.gov/Kranti.Konganti/cpipes-framework
|
kkonganti@0
|
10 JIRA : https://sde.fda.gov/jira/projects/CPIPES/
|
kkonganti@0
|
11 CONTRIBUTORS : Kranti.Konganti@fda.hhs.gov
|
kkonganti@0
|
12 ----------------------------------------------------------------------------------------
|
kkonganti@0
|
13 */
|
kkonganti@0
|
14
|
kkonganti@0
|
15 // Enable DSL 2
|
kkonganti@0
|
16 nextflow.enable.dsl = 2
|
kkonganti@0
|
17
|
kkonganti@0
|
18 // Default routines for MAIN
|
kkonganti@0
|
19 include { pipelineBanner; stopNow; } from "${params.routines}"
|
kkonganti@0
|
20
|
kkonganti@0
|
21 // Our banner for CPIPES
|
kkonganti@0
|
22 log.info pipelineBanner()
|
kkonganti@0
|
23
|
kkonganti@0
|
24 /*
|
kkonganti@0
|
25 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
kkonganti@0
|
26 NAMED WORKFLOW CAN BE USED TO RUN A SPECIFIC PIPELINE. THIS IS THE RECOMMENDED WAY.
|
kkonganti@0
|
27 NEED TO FIND A BETTER SOLUTION IF WE SEE A LOT OF PIPELINES.
|
kkonganti@0
|
28 See: https://github.com/nf-core/rnaseq/issues/619
|
kkonganti@0
|
29 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
kkonganti@0
|
30 */
|
kkonganti@0
|
31
|
kkonganti@0
|
32 switch ("${params.pipeline}") {
|
kkonganti@0
|
33 case "cronology":
|
kkonganti@0
|
34 include { CRONOLOGY } from "${params.workflows}${params.fs}${params.pipeline}"
|
kkonganti@0
|
35 break
|
kkonganti@0
|
36 case "cronology_db":
|
kkonganti@0
|
37 include { CRONOLOGY_DB } from "${params.workflows}${params.fs}${params.pipeline}"
|
kkonganti@0
|
38 break
|
kkonganti@0
|
39 default:
|
kkonganti@0
|
40 stopNow("PLEASE MENTION A PIPELINE NAME. Ex: --pipeline cronology")
|
kkonganti@0
|
41 }
|
kkonganti@0
|
42
|
kkonganti@0
|
43 /*
|
kkonganti@0
|
44 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
kkonganti@0
|
45 RUN ALL WORKFLOWS
|
kkonganti@0
|
46 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
kkonganti@0
|
47 */
|
kkonganti@0
|
48
|
kkonganti@0
|
49 workflow {
|
kkonganti@0
|
50 // THIS IS REPETETIVE BUT WE ARE NOT ALLOWED TO INCLUDE "INCLUDE"
|
kkonganti@0
|
51 // INSIDE WORKFLOW
|
kkonganti@0
|
52 switch ("${params.pipeline}") {
|
kkonganti@0
|
53 case "cronology":
|
kkonganti@0
|
54 CRONOLOGY()
|
kkonganti@0
|
55 break
|
kkonganti@0
|
56 case "cronology_db":
|
kkonganti@0
|
57 CRONOLOGY_DB()
|
kkonganti@0
|
58 break
|
kkonganti@0
|
59 }
|
kkonganti@0
|
60 }
|
kkonganti@0
|
61
|
kkonganti@0
|
62 /*
|
kkonganti@0
|
63 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
kkonganti@0
|
64 THE END
|
kkonganti@0
|
65 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
kkonganti@0
|
66 */
|