Skip to content
This repository was archived by the owner on Jan 27, 2020. It is now read-only.

Commit 9c28a03

Browse files
authored
Merge pull request #673 from apeltzer/dev
Add Tuebingen specific configuration parameters
2 parents 5ef1dec + da914b2 commit 9c28a03

5 files changed

Lines changed: 138 additions & 0 deletions

File tree

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
1010
### `Added`
1111

1212
- [#671](https://github.com/SciLifeLab/Sarek/pull/671) - New `publishDirMode` param and docs
13+
- [#673](https://github.com/SciLifeLab/Sarek/pull/673) - Profiles for BinAC and CFC clusters in Tübingen
1314

1415
### `Changed`
1516

conf/binac.config

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ process {
1616
}
1717

1818
params {
19+
publishDirMode = 'symlink'
1920
max_memory = 128.GB
2021
max_cpus = 28
2122
max_time = 48.h

conf/cfc.config

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
/*
2+
* -------------------------------------------------------------
3+
* Nextflow config file for use with Singularity on CFC at QBIC
4+
* -------------------------------------------------------------
5+
* Defines basic usage limits and singularity image id.
6+
*/
7+
8+
/*
9+
*To be improved by process specific configuration asap, once our CFC cluster has the extra options removed - till then, task.attempt in NextFlow is not supported there.
10+
*/
11+
12+
process {
13+
beforeScript = 'module load qbic/singularity_slurm/2.5.2'
14+
executor = 'slurm'
15+
}
16+
17+
params {
18+
publishDirMode = 'symlink'
19+
max_memory = 60.GB
20+
max_cpus = 20
21+
max_time = 140.h
22+
}

conf/resources.config

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
/*
2+
* -------------------------------------------------
3+
* Nextflow config file for Sarek
4+
* -------------------------------------------------
5+
* Generalized resource configuration for clusters
6+
* -------------------------------------------------
7+
*/
8+
9+
params {
10+
singleCPUMem = 7.GB // for processes that are using more memory but a single CPU only. Use the 'core' queue for these
11+
}
12+
13+
process {
14+
cpus = { check_max( 10, 'cpus' ) }
15+
memory = { check_max( 16.GB * task.attempt, 'memory' ) }
16+
time = { check_max( 8.h * task.attempt, 'time' ) }
17+
18+
errorStrategy = {task.exitStatus == 143 ? 'retry' : 'terminate'}
19+
maxErrors = '-1'
20+
maxRetries = 3
21+
22+
withName:MapReads {
23+
memory = { check_max( 60.GB * task.attempt, 'memory' ) }
24+
cpus = { check_max( 10, 'cpus' ) }
25+
}
26+
withName:CreateRecalibrationTable {
27+
cpus = { check_max( 12, 'cpus' ) }
28+
memory = {params.singleCPUMem * 8 * task.attempt}
29+
}
30+
withName:MarkDuplicates {
31+
// Actually the -Xmx value should be kept lower
32+
cpus = { check_max( 16, 'cpus' ) }
33+
memory = { check_max( 60.GB * task.attempt, 'memory' ) }
34+
}
35+
withName:MergeBams {
36+
memory = {params.singleCPUMem * task.attempt}
37+
time = { check_max( 5.h * task.attempt, 'time' ) }
38+
}
39+
withName:RecalibrateBam {
40+
cpus = { check_max( 12, 'cpus' ) }
41+
memory = { check_max( 7.GB * 8 * task.attempt, 'memory' ) }
42+
time = { check_max( 5.h * task.attempt, 'time' ) }
43+
}
44+
withName:RunAlleleCount {
45+
cpus = { check_max( 1, 'cpus' ) }
46+
memory = { check_max( 14.GB * task.attempt, 'memory' ) }
47+
}
48+
withName:RunAscat {
49+
cpus = { check_max( 1, 'cpus' ) }
50+
memory = { check_max( 14.GB * task.attempt, 'memory' ) }
51+
}
52+
withName:RunBcftoolsStats {
53+
cpus = { check_max( 1, 'cpus' ) }
54+
}
55+
withName:RunConvertAlleleCounts {
56+
cpus = { check_max( 1, 'cpus' ) }
57+
memory = { check_max( 14.GB * task.attempt, 'memory' ) }
58+
}
59+
withName:RunFastQC {
60+
cpus = { check_max( 2, 'cpus' ) } // FastQC is only capable of running one thread per fastq file.
61+
errorStrategy = { task.exitStatus == 143 ? 'retry' : 'ignore' }
62+
}
63+
withName:RunFreeBayes {
64+
cpus = { check_max( 1, 'cpus' ) }
65+
memory = { check_max( 8.GB * task.attempt, 'memory' ) }
66+
}
67+
withName:RunHaplotypecaller {
68+
cpus = { check_max( 20, 'cpus' ) }
69+
// Increase memory quadratically
70+
memory = { check_max( 7.GB * 2 * task.attempt, 'memory' ) }
71+
time = { check_max( 5.h * task.attempt, 'time' ) }
72+
}
73+
withName:RunGenotypeGVCFs {
74+
cpus = { check_max( 20, 'cpus' ) }
75+
memory = { check_max( 7.GB * task.attempt, 'memory' ) }
76+
}
77+
withName:RunMultiQC {
78+
errorStrategy = { task.exitStatus == 143 ? 'retry' : 'ignore' }
79+
}
80+
withName:RunMutect2 {
81+
cpus = { check_max( 2, 'cpus' ) }
82+
memory = { check_max( 7.GB * task.attempt, 'memory' ) }
83+
time = { check_max( 5.h * task.attempt, 'time' ) }
84+
}
85+
withName:RunSamtoolsStats {
86+
cpus = { check_max( 2, 'cpus' ) }
87+
time = { check_max( 5.h * task.attempt, 'time' ) }
88+
}
89+
withName:RunSingleStrelka {
90+
time = { check_max( 5.h * task.attempt, 'time' ) }
91+
}
92+
withName:RunSnpeff {
93+
cpus = { check_max( 1, 'cpus' ) }
94+
errorStrategy = { task.exitStatus == 143 ? 'retry' : 'ignore' }
95+
}
96+
withName:RunStrelka {
97+
cpus = { check_max( 1, 'cpus' ) }
98+
time = { check_max( 5.h * task.attempt, 'time' ) }
99+
}
100+
withName:RunVEP {
101+
cpus = { check_max( 1, 'cpus' ) }
102+
errorStrategy = { task.exitStatus == 143 ? 'retry' : 'ignore' }
103+
}
104+
}

nextflow.config

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,16 @@ profiles {
8787
includeConfig 'conf/base.config'
8888
includeConfig 'conf/binac.config'
8989
includeConfig 'conf/singularity.config'
90+
includeConfig 'conf/resources.config'
9091
includeConfig 'conf/containers.config'
9192
}
93+
// Default config for CFC cluster in Tuebingen/Germany
94+
cfc {
95+
includeConfig 'conf/base.config'
96+
includeConfig 'conf/cfc.config'
97+
includeConfig 'conf/singularity.config'
98+
includeConfig 'conf/resources.config'
99+
includeConfig 'conf/containers.config'
100+
}
101+
92102
}

0 commit comments

Comments
 (0)