-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnextflow.config
100 lines (83 loc) · 2.13 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
params{
outdir = 'scsajr_out'
SAMPLEFILE = ""
BARCODEFILE = ""
bam_on_irods = false
ref = '/nfs/cellgeni/pasham/code/nf-scsajr/ref/human_2020A_chr'
// pseudobulk filtering parameters
mincells = 30
minsamples = 2
// affects only pseudobulking looks like it is better to set it to 1 due to memory issues
ncores = 4
// for re-pseudobulking
preprocessed_rds = ''
// for reference generation
gtf = ''
}
singularity {
enabled = true
autoMounts = true
runOptions = '-B /lustre,/nfs --home /tmp/snare_tmp'
pullTimeout = '100m'
}
executor {
name = 'lsf'
perJobMemLimit = true
}
process {
container = 'quay.io/cellgeni/scsajr:latest'
//container = '/nfs/cellgeni/pasham/singimage/scsajr_r441_v0.1.sif'
errorStrategy = 'retry'
maxRetries = { task.exitStatus in 130..140 ? 3 : 1 }
withName: make_ref {
cpus = 1
memory = 20.GB
queue = 'normal'
}
withName: postprocess{
cpus = params.ncores
queue = 'normal'
memory = {10.GB + n_samples * params.ncores * 100.MB + 50.MB * task.attempt * n_samples * params.ncores}
}
withName: get_data {
cpus = 1
memory = 2.GB
queue = 'transfer'
container = ''
}
withName: run_sajr {
cpus = 1
queue = 'long'
memory = {10.GB + bam_path.size() / 10 * 11.B + 10.GB * task.attempt}
}
withLabel: pseudobulk {
cpus = params.ncores
memory = {10.GB + n_samples * 300.MB + 150.MB * task.attempt * n_samples}
queue = 'normal'
}
withName: generate_summary {
cpus = 1
memory = {5.GB + 5.GB * task.attempt}
queue = 'normal'
}
}
// Capture exit codes from upstream processes when piping
process.shell = ['/bin/bash', '-euo', 'pipefail']
// Capturing Nextflow log files into a reports directory
timeline {
enabled = true
file = "${params.outdir}/nextflow-reports/timeline.html"
overwrite = true
}
report {
enabled = true
file = "${params.outdir}/nextflow-reports/report.html"
overwrite = true
}
trace {
enabled = true
file = "${params.outdir}/nextflow-reports/trace.txt"
overwrite = true
}
// Ensures work directories and removed when pipeline completes
cleanup = false