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