From eb5013d0a79efb364c7d74ad158ed709590bedc4 Mon Sep 17 00:00:00 2001 From: Mark Lubberts Date: Thu, 17 Nov 2022 10:18:24 -0800 Subject: [PATCH 1/3] Add error code 21 to SPAdes retry list Spades can also raise error 21 if it fails due to lack of memory during spades-hammer. Currently, this is not caught in the ErrorStrategy, so it won't automatically retry with more memory. Relevant error code: Counting (kmer_data.cpp : 349) The reads contain too many k-mers to fit into available memory. You need approx. 68.1699GB of free RAM to assemble your dataset == Error == system call for: "['/usr/local/bin/spades-hammer', 'spades/corrected/configs/config.info']" finished abnormally, OS return value: 21 --- conf/base.config | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/conf/base.config b/conf/base.config index bd2f6729..ca06b1a6 100644 --- a/conf/base.config +++ b/conf/base.config @@ -135,14 +135,14 @@ process { cpus = { check_spades_cpus (10, task.attempt) } memory = { check_max (64.GB * (2**(task.attempt-1)), 'memory' ) } time = { check_max (24.h * (2**(task.attempt-1)), 'time' ) } - errorStrategy = { task.exitStatus in [143,137,1] ? 'retry' : 'finish' } + errorStrategy = { task.exitStatus in [143,137,21,1] ? 'retry' : 'finish' } maxRetries = 5 } withName: SPADESHYBRID { cpus = { check_spadeshybrid_cpus (10, task.attempt) } memory = { check_max (64.GB * (2**(task.attempt-1)), 'memory' ) } time = { check_max (24.h * (2**(task.attempt-1)), 'time' ) } - errorStrategy = { task.exitStatus in [143,137,1] ? 'retry' : 'finish' } + errorStrategy = { task.exitStatus in [143,137,21,1] ? 'retry' : 'finish' } maxRetries = 5 } //returns exit code 247 when running out of memory From 4d232d552c8c254f5326fc708216bb08b6e9d444 Mon Sep 17 00:00:00 2001 From: Mark Lubberts Date: Thu, 17 Nov 2022 10:27:11 -0800 Subject: [PATCH 2/3] Update CHANGELOG.md --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index da2191c2..9123f010 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - [#345](https://github.com/nf-core/mag/pull/345) - Bowtie2 mode changed to global alignment for ancient DNA mode (`--very-sensitive` mode) to prevent soft clipping at the end of reads when running in local mode. - [#349](https://github.com/nf-core/mag/pull/349) - Add a warning that pipeline will reset minimum contig size to 1500 specifically MetaBAT2 process, if a user supplies below this threshold. - [#352](https://github.com/nf-core/mag/pull/352) - Escape the case in the BUSCO module that BUSCO can just detect a root lineage but is not able to find any marker genes +- [#???](???) - Include error code 21 for retrying with higher memory for SPAdes and hybridSPAdes ### `Dependencies` From eff45aba8a7e2ebbbeebbcd14de1084881742d04 Mon Sep 17 00:00:00 2001 From: Mark Lubberts Date: Thu, 17 Nov 2022 10:47:39 -0800 Subject: [PATCH 3/3] Update CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9123f010..d928e71f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,7 +16,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - [#345](https://github.com/nf-core/mag/pull/345) - Bowtie2 mode changed to global alignment for ancient DNA mode (`--very-sensitive` mode) to prevent soft clipping at the end of reads when running in local mode. - [#349](https://github.com/nf-core/mag/pull/349) - Add a warning that pipeline will reset minimum contig size to 1500 specifically MetaBAT2 process, if a user supplies below this threshold. - [#352](https://github.com/nf-core/mag/pull/352) - Escape the case in the BUSCO module that BUSCO can just detect a root lineage but is not able to find any marker genes -- [#???](???) - Include error code 21 for retrying with higher memory for SPAdes and hybridSPAdes +- [#355](https://github.com/nf-core/mag/pull/355) - Include error code 21 for retrying with higher memory for SPAdes and hybridSPAdes ### `Dependencies`