-
Notifications
You must be signed in to change notification settings - Fork 17
Expand file tree
/
Copy pathnextflow.config
More file actions
130 lines (112 loc) · 3.88 KB
/
nextflow.config
File metadata and controls
130 lines (112 loc) · 3.88 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
process {
// Capture exit codes from upstream processes when piping
shell = ['/bin/bash', '-euo', 'pipefail']
// extract from https://github.com/nf-core/sarek/blob/6aeac929c924ba382baa42a0fe969b4e0e753ca9/conf/base.config
cpus = { 1 * task.attempt }
memory = { 6.GB * task.attempt }
time = { 4.h * task.attempt }
// memory errors which should be retried. otherwise error out
errorStrategy = { task.exitStatus in ((130..145) + 104) ? 'retry' : 'finish' }
maxRetries = 1
maxErrors = '-1'
// Process-specific resource requirements
// See https://www.nextflow.io/docs/latest/config.html#config-process-selectors
withLabel:error_ignore {
errorStrategy = 'ignore'
}
withLabel:error_retry {
errorStrategy = 'retry'
maxRetries = 2
}
withLabel:process_single {
cpus = { 1 }
memory = { 6.GB * task.attempt }
time = { 4.h * task.attempt }
}
withLabel:process_low {
cpus = { 2 * task.attempt }
memory = { 12.GB * task.attempt }
time = { 4.h * task.attempt }
}
withLabel:process_medium {
cpus = { 6 * task.attempt }
memory = { 36.GB * task.attempt }
time = { 8.h * task.attempt }
}
}
profiles {
conda {
conda.enabled = true
timeline.enabled = true
report.enabled = true
trace.enabled = true
dag.enabled = true
}
test {
timeline.enabled = false
report.enabled = false
trace.enabled = false
dag.enabled = false
process {
// sets all resources to our CI limits
withLabel:process_single {
cpus = { 1 }
memory = { 1.GB }
time = { 1.h }
}
withLabel:process_low {
cpus = { 1 }
memory = { 1.GB }
time = { 1.h }
}
withLabel:process_medium {
cpus = { 1 }
memory = { 1.GB }
time = { 1.h }
}
}
}
}
// Export this variable to prevent local Python libraries from conflicting with those in the container
env {
PYTHONNOUSERSITE = 1
}
VERSION = '2.0.4'
ENSEMBL_VERSION = '110'
manifest {
name = 'TRON-Bioinformatics/easyfuse'
author = 'Patrick Sorn, Jonas Ibn-Salem, Christoph Holsträter, David Weber, Pablo Riesgo-Ferreiro'
homePage = 'https://github.com/TRON-Bioinformatics/easyfuse'
description = 'EasyFuse workflow'
mainScript = 'main.nf'
defaultBranch = 'main'
nextflowVersion = '>=20.10, <=24.10.1'
version = VERSION
doi = 'https://doi.org/10.1038/s41587-022-01247-9'
}
params.help = false
params.input_files = false
params.output = false
params.reference = false
params.fasta = "${params.reference}/Homo_sapiens.GRCh38.dna.primary_assembly.fa"
params.star_index = "${params.reference}/star_index/"
params.starfusion_index = "${params.reference}/starfusion_index/"
params.fusioncatcher_index = "${params.reference}/fusioncatcher_index/"
params.gtf = "${params.reference}/Homo_sapiens.GRCh38.${ENSEMBL_VERSION}.gtf"
params.annotation_db = "${params.reference}/Homo_sapiens.GRCh38.${ENSEMBL_VERSION}.gff3.db"
params.reference_tsl = "${params.reference}/Homo_sapiens.GRCh38.${ENSEMBL_VERSION}.gtf.tsl"
params.model_pred = "${baseDir}/data/model/Fusion_modeling_FFPE_train_v39.random_forest.model_full_data.EF_full.rds"
params.model_threshold = 0.5
params.help_message = """
EasyFuse workflow v${VERSION}
Usage:
nextflow run tron-bioinformatics/easyfuse -profile conda --input_files input_files --reference reference_lib --output output_folder
Input:
* input_files: the path to a tab-separated values file containing in each row the sample name, FASTQ 1 and FASTQ 2 files.
The input file does not have header!
Example input file:
name1 fastq1 fastq2
name2 fastq1 fastq2
* reference: path to the reference index bundle
* output: path to an output folder
"""