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",
},
我删除了它,现在可以正常使用了。
我有一个工作流需要一个令人尴尬的并行步骤,并且对 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",
},
我删除了它,现在可以正常使用了。