-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathnextflow.config
More file actions
130 lines (108 loc) · 4.48 KB
/
nextflow.config
File metadata and controls
130 lines (108 loc) · 4.48 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
121
122
123
124
125
126
127
128
129
130
params {
// input + output
input = null
outdir = './results'
// References
genome = 'GRCh38'
// samples
ignore_samples = ["Unassigned", "PhiX", "phiX", "CBPhiX", "Undetermined"]
// Boilerplate options
tracedir = "${params.outdir}/pipeline_info"
enable_conda = false
igenomes_base = "s3://ngi-igenomes/igenomes"
igenomes_ignore = false
// sentieon
sentieon_license = System.getenv('SENTIEON_LICENSE') ?: null
sentieon_ml_model = "https://s3.amazonaws.com/sentieon-release/other/DNAscopeElementBioWGS2.0.bundle"
assay = "WGS"
target_region_bed = null
pcr = true
// containers
sentieoncli_container_url = 'docker.io/sentieon/sentieon-cli'
sentieoncli_container_tag = 'v1.1.0-2'
// nextflow
publish_dir_mode = 'copy'
// sample batching
batch_size = -1
// Config options
custom_config_version = "main"
custom_config_base = "https://raw.githubusercontent.com/Elembio/configs/${params.custom_config_version}"
config_profile_description = null
config_profile_contact = null
config_profile_url = null
config_profile_name = null
// MultiQC options
multiqc_config = null
multiqc_title = null
max_multiqc_email_size = '25.MB'
multiqc_logo = null
// Max resource options
// Defaults only, expecting to be overwritten
max_memory = '144.GB'
max_cpus = 72
max_time = '48.h'
}
// Load base.config by default for all pipelines
includeConfig 'conf/base.config'
// Load nf-core custom profiles from different Institutions
try {
includeConfig "${params.custom_config_base}/nfcore_custom.config"
} catch (Exception e) {
System.err.println("WARNING: Could not load custom config profiles: ${params.custom_config_base}/nfcore_custom.config")
}
// Load sentieon_cli_nf custom profiles from ElemBio
try {
includeConfig "${params.custom_config_base}/pipeline/sentieon_cli_nf.config"
} catch (Exception e) {
System.err.println("WARNING: Could not load pipeline config profile: ${params.custom_config_base}/pipeline/sentieon_cli_nf.config")
}
manifest {
name = 'elembio/sentieon-cli-nf'
author = 'Bryan R Lajoie, Carlos Ruiz Perez, Rosi Bajari, Max Mass'
homePage = 'https://gitlab.com/elembio/analysis/nextflow-workflows/sentieon-cli-nf'
description = 'sentieon-cli-nf'
mainScript = 'main.nf'
nextflowVersion = '!>=24.0.0'
version = '0.9.0'
}
profiles {
docker {
docker.enabled = true
docker.userEmulation = true
singularity.enabled = false
podman.enabled = false
shifter.enabled = false
charliecloud.enabled = false
}
test { includeConfig 'conf/test.config' }
test_small { includeConfig 'conf/test_small.config' }
test_small_SE { includeConfig 'conf/test_small_SE.config' }
test_trinity_idt { includeConfig 'conf/test_trinity_idt.config' }
test_trinity_twist { includeConfig 'conf/test_trinity_twist.config' }
local { includeConfig 'conf/local.config' }
genome { includeConfig 'conf/genome.config' }
exome { includeConfig 'conf/exome.config' }
}
// Capture exit codes from upstream processes when piping
process.shell = ['/bin/bash', '-euo', 'pipefail']
// Set default registry for Apptainer, Docker, Podman and Singularity independent of -profile
// Will not be used unless Apptainer / Docker / Podman / Singularity are enabled
// Set to your registry if you have a mirror of containers
apptainer.registry = 'quay.io'
docker.registry = 'quay.io'
podman.registry = 'quay.io'
singularity.registry = 'quay.io'
// Load modules.config for DSL2 module specific options
includeConfig 'conf/modules.config'
// Load igenomes.config if required
if (!params.igenomes_ignore) {
includeConfig 'conf/igenomes.config'
} else {
params.genomes = [:]
}
// Define check_max function
def check_max(value, resource_type) {
// Replace this logic with your actual maximum limit checks
def max_limit = (resource_type == 'cpus') ? 64 : (resource_type == 'memory' ? 128.GB : null)
return value > max_limit ? max_limit : value
}