-
Notifications
You must be signed in to change notification settings - Fork 9
/
nextflow.config
187 lines (176 loc) · 6.42 KB
/
nextflow.config
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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
// Singularity containter cache. Change this as appropriate
singularity {
cacheDir = "/opt/singularity_cache"
}
// profile for running the pipeline on Zeus at the Pawsey Supercomputing Centre
profiles {
zeus {
workDir = "$MYSCRATCH/nxf_work"
process {
cache = 'lenient'
stageInMode = 'symlink'
}
singularity {
enabled = true
// the line below does not work with multi-cluster
// envWhitelist = 'SINGULARITY_BINDPATH, SINGULARITYENV_LD_LIBRARY_PATH'
cacheDir = "$NXF_HOME/singularity"
runOptions = "-B /group,/scratch --nv"
}
process.module = 'singularity'
//params.slurm_account = 'director2172'
process {
executor = 'slurm'
clusterOptions = "--account=${params.slurm_account}"
queue = 'workq'
time = '2h'
memory = '16GB'
withName: 'basecalling|basecalling_single_isolate|basecalling_demultiplexing_guppy' {
time = '24h'
}
withLabel: big_mem {
memory = '32GB'
time = '4h'
}
withName: 'basecalling_cpu|basecalling_cpu_single_isolate|basecalling_demultiplexing_guppy_cpu' {
time = '72h'
queue = 'longq'
}
withLabel: gpu {
executor = 'slurm_topaz'
clusterOptions += " --gpus-per-node=1"
queue = 'gpuq'
}
}
}
}
// Default parameters. Commandline parameters will take priority over these
params {
executor = "local"
outdir = './results'
basecalling = false
demultiplexing = false
gpu = true
fast5 = false
fastq = false
datadir = false
demultiplexer = 'guppy'
//Path to the Guppy GPU and CPU binary folder (v3.6.1). Change this as appropriate when providing Guppy as a binary folder and do not forget the "/" at the end of the path
guppy_gpu_folder = "/scratch/ont-guppy/bin/"
guppy_cpu_folder = "/scratch/ont-guppy-cpu/bin/"
//Uncomment the two following lines when providing Guppy container images (and comment the two previous lines)
//guppy_gpu_folder = ""
//guppy_cpu_folder = ""
guppy_config_gpu = "dna_r9.4.1_450bps_hac.cfg"
guppy_config_cpu = "dna_r9.4.1_450bps_fast.cfg"
kit = false
flowcell = false
guppy_gpu_device = "auto"
guppy_num_callers = 8
guppy_cpu_threads_per_caller = 1
guppy_basecaller_args = "--recursive --trim_barcodes -q 0"
//add the --disable_qscore_filtering if using Guppy v4.5.2 to avoid creating pass/fail folders and breaking the pipeline
//guppy_basecaller_args = "--recursive --trim_barcodes -q 0 --disable_qscore_filtering"
guppy_barcoder_args = "--recursive --trim_barcodes -q 0"
guppy_barcode_kits= "SQK-RBK004"
guppy_barcoder_threads = 2
qcat_args = ""
skip_pycoqc = false
skip_rasusa = true
skip_porechop = false
skip_filtering = false
rasusa_coverage = 100
filtering = "japsa"
porechop_args = ""
porechop_threads = 4
japsa_args = "--lenMin 1000 --qualMin 10"
filtlong_args = "--min_length 1000 --keep_percent 90"
flye_args = "--plasmids"
flye_threads = 4
polisher = "medaka"
racon_nb = 4
racon_args = "-m 8 -x -6 -g -8 -w 500"
racon_threads = 4
medaka_model = "r941_min_high"
medaka_threads = 8
nextpolish_threads = 4
nextpolish_task_SR = "1212"
nextpolish_task_LR = "55"
skip_illumina = false
fixstart_args = ""
skip_fixstart = false
quast_threads = 1
quast_args = ""
skip_quast = false
}
// Process settings. Set job scheduler if appropriate (SLURM, PBS e.g.)
// If your job scheduler has different queues/partitions for cpu and gpu, please also set them here
process {
executor = params.executor
withLabel: cpu { queue = 'main' }
withLabel: gpu { queue = 'gpu' }
}
// Debug and report options
trace {
enabled = true
file = "${params.outdir}/trace.txt"
}
timeline {
enabled = true
file = "${params.outdir}/timeline.html"
}
report {
enabled = true
file = "${params.outdir}/report.html"
}
dag {
enabled = true
file = "${params.outdir}/flowchart_dag.svg"
}
// Not generally user-modifiable !!!
process {
withLabel: big_mem { memory = 32.GB }
//Path to the Guppy GPU and CPU container images (v3.6.1). Uncomment and change this as appropriate if providing Guppy as a container image.
//withLabel: guppy_gpu { container = '' }
//withLabel: guppy_cpu { container = '' }
withLabel: pycoqc { container = 'docker://quay.io/biocontainers/pycoqc:2.5.0.23--py_0' }
withName: demultiplexing_qcat { container = 'docker://quay.io/biocontainers/qcat:1.0.1--py_0' }
withName: rasusa { container = 'docker://quay.io/biocontainers/rasusa:0.3.0--h516909a_0' }
withName: porechop { container = 'docker://quay.io/biocontainers/porechop:0.2.3_seqan2.1.1--0' }
withName: filtlong { container = 'docker://quay.io/biocontainers/filtlong:0.2.0--he513fc3_3' }
withName: japsa { container = 'docker://vmurigneux/japsa:latest' }
withName: flye { container = 'docker://quay.io/biocontainers/flye:2.5--py27he513fc3_0' }
withName: racon_cpu { container = 'docker://vmurigneux/racon:1.4.9' }
withLabel: medaka { container = 'docker://quay.io/biocontainers/medaka:0.10.0--py36hbcae180_1' }
withLabel: nextpolish { container = 'docker://pvstodghill/nextpolish:1.1.0__2020-05-12' }
withLabel: circlator { container = 'docker://quay.io/biocontainers/circlator:1.5.5--py_3' }
withName: quast { container = 'docker://quay.io/biocontainers/quast:5.0.2--py37pl526hb5aa323_2' }
//errorStrategy = 'ignore'
}
mounts {
fast5 = ""
fastq = ""
datadir = ""
if (params.fast5 != false) {
fast5 = "-B \"`[[ \"${params.fast5}\" =~ ^/ ]] && echo ${params.fast5} || echo ${PWD}/${params.fast5}`\""
}
if (params.fastq != false){
fastq = "-B \"`[[ \"${params.fastq}\" =~ ^/ ]] && echo ${params.fastq} || echo ${PWD}/${params.fastq}`\""
}
if (params.datadir != false){
datadir = "-B \"`[[ \"${params.datadir}\" =~ ^/ ]] && echo ${params.datadir} || echo ${PWD}/${params.datadir}`\""
}
}
singularity {
enabled = true
autoMounts = false
runOptions = "-B \"$launchDir\" $mounts.fast5 $mounts.fastq $mounts.datadir -B \"`[[ \"${params.outdir}\" =~ ^/ ]] && echo ${params.outdir} || echo ${PWD}/${params.outdir}`\""
}
manifest {
name = 'microPIPE'
author = 'Valentine Murigneux'
description = 'Bacterial genome assembly pipeline'
homePage = 'https://github.com/BeatsonLab-MicrobialGenomics/micropipe'
mainScript = 'main.nf'
version = '0.9'
}