-
Notifications
You must be signed in to change notification settings - Fork 1
/
nextflow.config
100 lines (94 loc) · 2.22 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
manifest {
description = 'Nextflow pipeline for creating the NKI-Atlas of microbes'
mainScript = 'main.nf'
version = '0.6.1'
author = "Thomas W. Battaglia"
}
// Set default parameters
params {
help = false
csv = ''
outdir = 'results'
min_length = 50
min_quality = 20
krakenDB = 'kraken2/standard_db_human'
kraken_len = 150
confidence = 0
min_counts = 10
skip_kraken2 = false
pathseqDB = "pathseq"
phred_cutoff = 15
blood = false
microbe_cutoff = 30
normalize_abundance = false
identity_margin = 0.02
min_score_identity = 0.9
host_aligned = false
min_clip_length = 60
skip_pre_bwa = false
print = false
skip_kraken2 = false
skip_pathseq = false
tracedir = "${params.outdir}/pipeline_info"
}
// Reduce polling interval
executor {
name = 'google-lifesciences'
queueSize = 50
pollInterval = '100ms'
exitReadTimeout = '300 ms'
}
// Docker parameters
docker {
enabled = true
runOptions = '-u $(id -u):$(id -g)'
}
// Process parameters
process {
errorStrategy = { task.exitStatus in [14] ? 'retry' : 'ignore' }
maxRetries = 5
withName: preprocess {
executor = 'google-lifesciences'
container = 'atlas-filter'
machineType = 'n1-highcpu-8'
maxForks = 15
}
withName: kraken2 {
executor = 'google-lifesciences'
container = 'kraken_208'
machineType = 'n1-highmem-8'
maxForks = 10
}
withName: pathseq {
executor = 'google-lifesciences'
container = 'gatk4'
machineType = 'n1-highmem-16'
maxForks = 20
}
}
// Specify Google Lifescience processes
google {
project = 'projectID'
region = 'europe-west4'
location = 'europe-west4'
enableRequesterPaysBuckets = true
lifeSciences.debug = true
lifeSciences.preemptible = true
lifeSciences.sshDaemon = false
lifeSciences.usePrivateAddress = true
lifeSciences.bootDiskSize = 15.GB
lifeSciences.copyImage = 'google/cloud-sdk:slim'
}
// Capture Nextflow reports into separate directory
timeline {
enabled = true
file = "${params.tracedir}/timeline.html"
}
report {
enabled = true
file = "${params.tracedir}/report.html"
}
trace {
enabled = true
file = "${params.tracedir}/trace.txt"
}