Repository navigation
Expand file tree
/
Copy pathnextflow.config
More file actions
126 lines (105 loc) · 4.28 KB
/
Copy pathnextflow.config
File metadata and controls
126 lines (105 loc) · 4.28 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
// General configuration used in all profiles
manifest {
description = 'APAeval Benchmark Workflow'
nextflowVersion = '>=19.10.0'
version = '1.0.3'
}
// Profiles configure nextflow depending on the environment (local, integration, live, etc.)
profiles {
docker {
process {
withName: validation{
container = "docker.io/cjh4zavolab/q_validation:1.0"
}
}
process {
withName: compute_metrics{
container = "docker.io/cjh4zavolab/q_metrics:1.0"
}
}
process {
withName: benchmark_consolidation{
container = "docker.io/cjh4zavolab/q_consolidation:1.0"
}
}
docker.enabled = true
// set time zone for running docker containers
docker.runOptions = '--user \$(id -u):\$(id -g) -e TZ="\$([ -z \\"\$TZ\\"] && cat /etc/timezone || echo \\"\$TZ\\")"'
}
slurm {
singularity.enabled = true
singularity.autoMounts = true
singularity.cacheDir = "${HOME}/.singularity/cache/library"
singularity.libraryDir = "${HOME}/.singularity/cache/library"
process {
executor = "slurm"
memory = "4.GB"
cpus = "1"
errorStrategy = { task.exitStatus in 137..140 ? 'retry' : 'terminate' }
maxRetries = 2
withName: validation{
container = "docker.io/cjh4zavolab/q_validation:1.0"
time = { 10.m * task.attempt }
memory = { 2.GB * task.attempt }
}
withName: compute_metrics{
container = "docker.io/cjh4zavolab/q_metrics:1.0"
time = { 3.h * task.attempt }
memory = { 10.GB * task.attempt }
}
withName: benchmark_consolidation{
container = "docker.io/cjh4zavolab/q_consolidation:1.0"
time = '30.m'
}
}
}
}
// default parameter values
params {
// Specify input files and challenge ids in separate tool_event.config
// include that config in the call to nextflow with `-c tool_event.config`
// set participant_id in call to nextflow with `--participant_id PARTICIPANT`
participant_id = "DEF_PARTICIPANT"
// general data directory
data_dir = "$baseDir/APAeval_Q_test_data"
// directory where the 'gold standards' are found
goldstandard_dir = "${params.data_dir}/ref"
// directory where existing aggregations (e.g. downloaded from OEB) are stored
aggregation_dir = "${params.data_dir}/aggr_data"
//name or OEB permanent ID for the benchmarking community
community_id = "APAeval"
// name of APAeval benchmarking event (Identification_01 or absQuant_02); only used for directory name, not passed to main.nf
event = "AbsQuant_02"
// Boolean operator: if set to CLOSED the whole workflow is executed; if OPEN, metrics are computed but aggregation/consolidation is not performed
// challenge_status = "CLOSED"
// directories where results will be written
output = "${params.data_dir}/results/${params.event}/${params.participant_id}_benchmark_results"
validation_result = "${params.output}/validated_participant_data.json"
assessment_results = "${params.output}/assessment_datasets.json"
results = "${params.output}/results"
statsdir = "${params.output}/stats"
consolidation_result = "${params.output}/consolidated_results.json"
otherdir = "${params.output}/other"
// other parameters
windows = "100 50 10" // type int, several values inside string separated by spaces. The first value is used for relative PAS usage calculation.
genome_dir = "${params.goldstandard_dir}/genomes" // Must contain a .gtf file with same substring as in challenge_ids, e.g. test.genome.mm10_test.gtf
tpm_threshold = 0 // Expression filter for predictions. PolyA sites with smaller or equal transcripts per million (tpm) will be removed before metric compuatation.
offline = 1 // type int; 0 for False
}
// By default output execution reports
timeline {
enabled = true
file = "${params.statsdir}/timeline.html"
}
report {
enabled = true
file = "${params.statsdir}/report.html"
}
trace {
enabled = true
file = "${params.statsdir}/trace.txt"
}
dag {
enabled = true
file = "${params.statsdir}/DAG.dot"
}