-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.nf
90 lines (50 loc) · 2.41 KB
/
main.nf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#!/usr/bin/env nextflow
nextflow.enable.dsl = 2
// function and log info code obtained from BCCDC-PHL/covflo by Jessica Caleta
def header() {
return """
_
█████ ███ ███ ██████ ██ ██ ██████ ██████ ███ ██ ███████ ,' `,.
██ ██ ████ ████ ██ ██ ██ ██ ██ ██ ██ ████ ██ ██ >-.(__)
███████ ██ ████ ██ ██████ ██ ██ ██ ██ ██ ██ ██ ██ █████ (_,-' |
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ `. |
██ ██ ██ ██ ██ ███████ ██ ██████ ██████ ██ ████ ███████ `.|
`
=========================================================================
output directory: ${params.outdir}
"""
}
/**
---------------------------------------------------------------------------------
program introduction
---------------------------------------------------------------------------------
*/
// this prints program header with mandatory input and output locations
log.info header()
// include modules
include {printHelp} from './modules/help.nf'
// import subworkflows
include {convertFastaToAmplicons} from './modules/amplicone.nf'
include {runART} from './modules/amplicone.nf'
include {runARTVariableDepths} from './modules/amplicone.nf'
if (params.help){
printHelp()
exit 0
}
if (params.profile){
println("Profile should have a single dash: -profile")
System.exit(1)
}
ch_bedFile = Channel.fromPath(params.bed)
ch_fastaDir = Channel.fromPath(params.fasta_dir_string).map{ tuple( it.baseName.split("\\.")[0], it) }
ch_ampDepths = Channel.fromPath(params.amplicon_depths)
// main workflow
workflow {
main:
if (params.vary_amplicon_depths) {
convertFastaToAmplicons(ch_fastaDir) | runARTVariableDepths
}
else {
convertFastaToAmplicons(ch_fastaDir) | runART
}
}