-
Notifications
You must be signed in to change notification settings - Fork 0
/
nextflow.config
137 lines (119 loc) · 4.61 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
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
131
132
133
134
135
136
137
#!/usr/bin/env nextflow
//==================== Nextflow/Container Config ==========
manifest {
name = "ATAC_Seq"
description = 'ATAC_Seq local images convert change pipeline.'
author = 'Mike Lloyd, Benjamin Leopold'
mainScript = "main.nf"
nextflowVersion = '!>=20.04.0'
version = "0.9.2"
}
////// Included Default Config Settings \\\\\\
def simgPath = "$projectDir/images"
//NOTE: -c params.config // presume passed before 'run' for ALL user param mods!!
params.email = params.email ?: "DEBUG-DEFAULT-TBD@jax.org"
params.outputDir = params.outputDir ?: "${manifest.name}_results"
params.ATACSupportFiles = simgPath //default path for all images
// Include JAX Universal Config Settings
univcfg = new File("$projectDir/universal.config")
if (univcfg.canRead()) { includeConfig univcfg }
else {
profiles {
standard { process.executor = "local" }
sumner {
process.executor = "slurm"
process.module = "slurm"
process.clusterOptions = "-q batch"
}
}
}
params { // General software configs:
cutadaptMinLength = 20
cutadaptQualCutoff = 20
cutadaptAdapterR1 = "CTGTCTCTTATACACATCTCCGAGCCCACGAGAC"
cutadaptAdapterR2 = "CTGTCTCTTATACACATCTGACGCTGCCGACGA"
bowtieVSensitive = true // == -D 20 -R 3 -N 0 -L 20 -i S,1,0.50
bowtieMaxInsert = 1000 // -X
//samtoolsUsesTooManyOptions = true // ACK!
}
process {
errorStrategy = { task.attempt <= 2 ? "retry" : "finish" } // retry<=2 : 3 tries
time = { 6.hour * task.attempt }
memory = { 15.GB * task.attempt }
//FIXME: some of these SIFs need mods for unix-based timekeeping requirements
withLabel: bowtie2 { container = "library://atac-seq/bowtie2:2.3.5" // TODO:check UNIX
time = { 15.hour * task.attempt }
memory = { 16.GB * task.attempt }
}
withLabel: bedtools { container = "library://atac-seq/bedtools-bash:v2.9.2" } // HAS:UNIX
withLabel: cutadapt { container = "library://atac-seq/cutadapt:2.3" } // TODO:check UNIX
withLabel: deeptools { container = "library://atac-seq/deeptools:3.3.2" } // TODO:check UNIX
withLabel: fastqc { container = "library://rnaseq-modelad/fastqc:latest-v0.11.9" } // HAS:UNIX
withLabel: g2gtools { container = "library://atac-seq/g2gtools-atac_adjustment:0.1.31" } // HAS:UNIX
withLabel: gatk { container = "library://atac-seq/gatk:v4.1.4.1" // HAS:UNIX
memory = { 20.GB * task.attempt }
}
withLabel: logparser { container = "library://atac-seq/LogParser:v2" } // TODO:check UNIX on 'python'
withLabel: macs2 { container = "library://atac-seq/macs2:2.2.7.1" } // TODO:check UNIX on 'python'
withLabel: r_lang { container = "library://atac-seq/r-lang:3.6.2" } // HAS:UNIX
withLabel: samtools { container = "library://atac-seq/samtools-bash:1.3.1" } // HAS:UNIX
withLabel: subread { container = "library://atac-seq/subread:1.6.4" } // TODO:check UNIX
withLabel: utils { container = "library://atac-seq/bash-utils-alpine:v3.11" } // HAS:UNIX
}
//FIXME: determine which unix-based NXF features can be re-enabled (timeline/report/etc) w/o bash/ps/uname/etc
notification {
enabled = false // true
to = params.email
from = "nxf-${manifest.name}"
}
singularity {
enabled = true
process.module = "singularity"
cacheDir = "${simgPath}/cache"
autoMounts = true
runOptions = ''
engineOptions = ''
}
env {
NXF_ANSI_SUMMARY = true
NXF_ANSI_LOG = true
NXF_DEBUG = 2
}
timeline {
enabled = false // true
file = "${params.outputDir}/nxf_status/timeline.html"
}
report {
enabled = false // true
file = "${params.outputDir}/nxf_status/report.html"
}
weblog {
enabled = false // true
}
trace {
enabled = false // true
file = "${params.outputDir}/nxf_status/trace.txt"
fields = ""\
+ "task_id," \
+ "hash," \
+ "process," \
+ "tag," \
+ "status," \
+ "exit," \
+ "start," \
+ "container," \
+ "cpus," \
+ "time," \
+ "disk," \
+ "memory," \
+ "duration," \
+ "realtime," \
+ "queue," \
+ "%cpu," \
+ "%mem," \
+ "rss," \
+ "vmem," \
+ "rchar," \
+ "wchar"
}
// vim: set ft=groovy.nextflow ts=4 sw=0 tw=100 et fdm=syntax: