【问题标题】:Snakemake explicit handling for Out Of Memory (OOM) failuresSnakemake 显式处理内存不足 (OOM) 故障
【发布时间】:2021-12-07 04:19:06
【问题描述】:

Snakemake 工作流程可以在任何类型的故障后重新尝试每次重新启动,包括如果错误是由于内存不足 (OOM) 造成的,例如

def get_mem_mb(wildcards, attempt):
    return attempt * 100

rule:
    input:    ...
    output:   ...
    resources:
        mem_mb=get_mem_mb
    shell:
        "..."

Snakemake 中是否有像 NextFlow 那样显式处理与内存相关的错误。例如何时退出错误与内存相关(LSF 系统中为 137)?

process foo {

    memory { 2.GB * task.attempt }
    time { 1.hour * task.attempt }

    errorStrategy { task.exitStatus in 137..140 ? 'retry' : 'terminate' }
    maxRetries 3

    script:
    <your job here>

}

我在任何地方都找不到此信息,

谢谢

【问题讨论】:

    标签: snakemake nextflow


    【解决方案1】:

    我不确定 Snakemake 是否有明确的方法来处理内存不足错误。但是,您的代码示例中的内存功能是我使用 Snakemake 处理内存问题所做的。

    要使用该功能,您需要在执行 Snakemake 时提供--rerun-incomplete 选项,以便重新运行失败的作业。您可以使用--restart-times 控制 Snakemake 重试的次数。

    【讨论】:

      猜你喜欢
      • 2012-11-26
      • 2011-02-28
      • 2021-08-27
      • 1970-01-01
      • 1970-01-01
      • 2014-03-03
      • 2022-01-22
      • 2019-05-14
      • 2014-07-05
      相关资源
      最近更新 更多