-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathnextflow.config
125 lines (109 loc) · 3.5 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
manifest {
author = 'Charles Plessy'
description = 'Pairwise genome comparison'
name = 'pairwiseGenomeComparison'
homePage = 'https://github.com/oist/plessy_pairwiseGenomeComparison'
nextflowVersion = '>=21.04.0'
version = '8.6.0'
}
params {
// windowmasker
with_windowmasker = false
// lastdb
keepOriginalMask = false
seed = 'YASS'
// lastal and last-train
lastal_args = '-C2' // from the LAST cookbook
lastal_extra_args = '-D1e9' // args that are passed only to lastal
lastal_params = false
query = false // Bypass --input with a single fasta file.
m2m = false
read_align = false
lowmem = false
// last-split
o2m = false
last_split_args = ''
last_split_mismap = '1e-5'
// dotplots
skip_dotplot_m2m = false
skip_dotplot_m2o = false
skip_dotplot_o2m = false
skip_dotplot_o2o = false
dotplot_options = ''
// postmask
postmask = false
// nf-core parameters
enable_conda = false
outdir = './results'
publish_dir_mode = 'copy'
singularity_pull_docker_container = false
// Mandatory parameters
input = false
target = false
// Other options
targetName = ''
one_to_one_only = false
// Load nf-core custom profiles from different Institutions
custom_config_version = 'master'
custom_config_base = "https://raw.githubusercontent.com/nf-core/configs/${params.custom_config_version}"
}
try {
includeConfig "${params.custom_config_base}/nfcore_custom.config"
} catch (Exception e) {
System.err.println("WARNING: Could not load nf-core/config profiles: ${params.custom_config_base}/nfcore_custom.config")
}
// https://nf-co.re/docs/usage/troubleshooting
// https://github.com/nf-core/rnaseq/blob/3643a94411b65f42bce5357c5015603099556ad9/nextflow.config#L190-L221
def check_max(obj, type) {
if (type == 'memory') {
if (obj.compareTo(params.max_memory as nextflow.util.MemoryUnit) == 1)
return params.max_memory as nextflow.util.MemoryUnit
else
return obj
} else if (type == 'time') {
if (obj.compareTo(params.max_time as nextflow.util.Duration) == 1)
return params.max_time as nextflow.util.Duration
else
return obj
} else if (type == 'cpus') {
return Math.min( obj, params.max_cpus as int )
}
}
process {
withLabel:process_low {
cpus = 2
memory = 14.GB
time = 6.h
}
withLabel:process_medium {
cpus = 6
memory = 42.GB
time = 8.h
}
withLabel:process_high {
cpus = 12
memory = {check_max( 48.GB * Math.pow(2, (task.attempt - 1)), 'memory' ) }
time = 10.h
}
withLabel:process_long {
time = 20.h
}
withName:LAST_SPLIT {
cpus = 2
memory = 40.GB
time = 8.h
}
}
timeline {
enabled = true
file = "$params.outdir/timeline.html"
}
report {
enabled = true
file = "$params.outdir/report.html"
}
trace {
enabled = true
file = "$params.outdir/trace.tsv"
fields = 'hash,duration,cpus,%cpu,memory,peak_rss,status,name'
}