-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathdev.nf
More file actions
120 lines (91 loc) · 1.97 KB
/
Copy pathdev.nf
File metadata and controls
120 lines (91 loc) · 1.97 KB
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
//need to add options to run locally or on slurm or on aws
process model_test {
//container …
input:
val job_name
path input_alignment
output:
path "data/modelTest", emit: files
stdout, emit: model
script:
"""
bash scripts/01-iqtreeModelTest.submit -j ${job_name}_model_test -i ${input_alignment}
awk -F': ' '/Best-fit model according to BIC:/ {print $2}' data/modelTest/modelTest.iqtree
"""
}
process main_tree {
//container …
input:
//val job_name
path input_alignment
val model
output:
path "data/mainTree"
script:
"""
bash scripts/02-iqtreeTree.submit -i ${input_alignment} -m ${model}
"""
}
process jackknife_alignment {
//container …
input:
path input_alignment
output:
path "data/jackknife/aln"
script:
"""
bash scripts/03-jackknifeAlignment.sh -i ${input_alignment}
"""
}
process jackknife_tree {
input:
path jackknife_aln
val model
output:
path "data/jackknife/tree"
script:
"""
bash scripts/04-iqtreeJackknife.submit -m ${model}
"""
}
/*
* Pipeline parameters
*/
params {
input_alignment: Path = 'data/orig/supermatrix_dna.phy'
job_name: val = 'tanos'
computer: val = 'local'
//need to have options for local, slurm, or aws
}
workflow {
main:
tree_ch = channel.fromPath(params.input_alignment)
model_test(params.job_name, tree_ch, params.computer)
main_tree(tree_ch, iqTreeModelTest.out.model)
jackknife_alignment(tree_ch)
jackknife_tree(jackknife_alignment.out)
calcScore(jackknife_tree.out)
publish:
model_files = model_test.out.files
tree_files = main_tree.out
jackknife__alignment_files = jackknife_alignment.out
jackknife_tree_files = jackknife_tree.out
}
output {
model_files {
path 'data/modelTest'
mode 'copy'
}
tree_files {
path 'data/mainTree'
mode 'copy'
}
jackknife__alignment_files {
path 'data/jackknife/aln'
mode 'copy'
}
jackknife_tree_file {
path 'data/jackknife/tree'
mode 'copy'
}
}