forked from MazdaX/nf-cage
-
Notifications
You must be signed in to change notification settings - Fork 0
/
nextflow.config
90 lines (70 loc) · 2.25 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
/*
* -------------------------------------------------
* nf-core/nfcage Nextflow config file
* -------------------------------------------------
* Default config options for all environments.
*/
// Container slug. Stable releases should specify release tag!
// Developmental code should specify :dev
process.container = 'mazdax/nf-cage:latest'
profiles {
conda { process.conda = "$projectDir/environment.yml" }
debug { process.beforeScript = 'echo $HOSTNAME' }
docker {
docker.enabled = true
// Avoid this error:
// WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
// Testing this in nf-core after discussion here https://github.com/nf-core/tools/pull/351
// once this is established and works well, nextflow might implement this behavior as new default.
docker.runOptions = '-u \$(id -u):\$(id -g) --rm'
fixOwnership = true
temp = 'auto'
}
singularity {
singularity.enabled = true
singularity.autoMounts = true
}
podman {
podman.enabled = true
}
}
// Export these variables to prevent local Python/R libraries from conflicting with those in the container
env {
PYTHONNOUSERSITE = 1
R_PROFILE_USER = "/.Rprofile"
R_ENVIRON_USER = "/.Renviron"
TMPDIR = "$projectDir/tmp"
NXF_SINGULARITY_CACHEDIR = "$projectDir/work/singularity"
}
// Capture exit codes from upstream processes when piping
process.shell = ['/bin/bash', '-euo', 'pipefail']
manifest {
name = 'nf-cage/dev'
author = 'Dr Mazdak Salavati'
homePage = 'https://github.com/MazdaX/nf-cage.git'
description = 'nf-cage analysis pipline for CAGE-Seq'
mainScript = 'main.nf'
nextflowVersion = '>=20.10.0'
version = '0.0.1'
}
report {
enabled = true
overwrite = true
file = "${->params.pipeline_report_dir}/report.html"
}
timeline {
enabled = true
overwrite = true
file = "${->params.pipeline_report_dir}/timeline.html"
}
trace {
enabled = true
overwrite = true
file = "${->params.pipeline_report_dir}/trace.txt"
}
// best to keep process parameters in a params.json file (or YAML) not in the config.
params {
//logging
all_in_one = 'AIO CAGEfightR import ready'
}
includeConfig 'configs/conf/base.config'