snakemake 根据重启尝试调整时间限制

snakemake adjust timelimit based on restart attempt

我有一个工作流需要一个令人尴尬的并行步骤,并且对 slurm 集群有不同的资源要求(内存和时间)。我根据文档装饰了工作流程:

rule freebayes:
    ...
    resources:
        mem = lambda wildcards, attempt: attempt * 6144,
        time = lambda wildcards, attempt: attempt * 12 * 60
    ...

这已成功提交,并且正确请求了内存要求,但 time 要求在配置文件中设置为默认值。在日志中似乎没问题:

resources: mem=6144, time=720

我也试过以字符串形式请求时间:

time = lambda wildcards, attempt: str(attempt * 12) + ":00:00"

也提交正常,但仍设置为默认时间。

我做错了什么?

我刚刚注意到我做错了什么。由于以下行,我的 cluster.json 正在覆盖请求:

"__default__":
{
    "time": "24:00",
},

我删除了它,现在可以正常使用了。