forked from ljwharbers/nextflow-gpseq
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathnextflow.config
More file actions
102 lines (88 loc) · 2.9 KB
/
Copy pathnextflow.config
File metadata and controls
102 lines (88 loc) · 2.9 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
// Singularity params
singularity.enabled = true
singularity.autoMounts = true
// Git branch specification
manifest.defaultBranch = 'main'
// AWS anonymous
aws {
client {
anonymous = true
}
}
// Global default params
params {
// input samplesheet
samplesheet = "null" // Make sure that the sample sheet is ordered from shortest to longest timepoint
// output directory
outdir = "null"
// GPseq defaults
enzyme = "DpnII"
cutsite = "GATC"
pattern = "umi8bc8cs4"
// GPSeq score calculation options
runid = null // Same as outdir if null
binsizes = "1e+06:1e+05,1e+05:1e+04,5e+04:5e+03,2.5e+04:2.5e+03,1e+04:1e+03" // Comma separated list of bin sizes:step sizes to use
score_outlier_tag = "iqr:1.5"
bed_outlier_tag = "chisq:0.01"
normalization = "lib"
site_domain = "universe" // "separate" was used in https://doi.org/10.1038/s41587-020-0519-y
// Reference genome options
genome = null
igenomes_base = "s3://ngi-igenomes/igenomes/"
igenomes_ignore = false
validationSkipDuplicateCheck = "true"
validationS3PathCheck = "true"
// Resource options
// Defaults only, expected to be overwritten
max_memory = "1.GB"
max_cpus = 1
max_time = "2.h"
}
// Load base.config by default for all pipelines
includeConfig 'conf/base.config'
// Profiles
profiles {
test { includeConfig 'conf/test.config' }
ht_hpc { includeConfig 'conf/ht_hpc.config' }
uppmax { includeConfig 'conf/uppmax.config' }
sirius { includeConfig 'conf/sirius.config' }
lhpc { includeConfig 'conf/lhpc.config' }
}
// Load igenomes.config if required
if (!params.igenomes_ignore) {
includeConfig 'conf/igenomes.config'
} else {
params.genomes = [:]
}
// Function to ensure that resource requirements don't go beyond
// a maximum limit
def check_max(obj, type) {
if (type == 'memory') {
try {
if (obj.compareTo(params.max_memory as nextflow.util.MemoryUnit) == 1)
return params.max_memory as nextflow.util.MemoryUnit
else
return obj
} catch (all) {
println " ### ERROR ### Max memory '${params.max_memory}' is not valid! Using default value: $obj"
return obj
}
} else if (type == 'time') {
try {
if (obj.compareTo(params.max_time as nextflow.util.Duration) == 1)
return params.max_time as nextflow.util.Duration
else
return obj
} catch (all) {
println " ### ERROR ### Max time '${params.max_time}' is not valid! Using default value: $obj"
return obj
}
} else if (type == 'cpus') {
try {
return Math.min( obj, params.max_cpus as int )
} catch (all) {
println " ### ERROR ### Max cpus '${params.max_cpus}' is not valid! Using default value: $obj"
return obj
}
}
}