You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Snakemake中Slurm外部作业ID变量名及日志命名修改方法

如何让Snakemake的Slurm日志文件使用外部作业ID命名

问题描述

我使用--profile ./slurm参数运行Snakemake作业时,标准输出显示:

Submitted job 406 with external jobid '1956125'

我的slurm/config.yaml配置内容如下:

cores: "all"
cluster: "sbatch --partition=mypartition -A myaccount  -t {resources.time_min} --mem={resources.mem_mb} -c {resources.cpus} -o slurm/logs/{jobid}.out -e slurm/logs/{jobid}.err --mail-type=FAIL --mail-user=mymail.edu --parsable"
default-resources: [cpus=1, mem_mb=2000, time_min=10080, parition=mypartition]
use-conda: true

当前生成的日志文件为406.err这类以Snakemake内部作业ID命名的文件,我希望改为用Slurm外部作业ID(如1956125.err)命名,请问该如何配置?

解决方案

只需修改cluster配置项中的日志文件名规则,将Snakemake内部的{jobid}占位符替换为Slurm内置的%j占位符即可。%j是Slurm的标准变量,提交作业时会自动被替换为对应的Slurm外部作业ID。

修改后的cluster配置行如下:

cluster: "sbatch --partition=mypartition -A myaccount  -t {resources.time_min} --mem={resources.mem_mb} -c {resources.cpus} -o slurm/logs/%j.out -e slurm/logs/%j.err --mail-type=FAIL --mail-user=mymail.edu --parsable"

重新运行Snakemake作业后,生成的日志文件就会以Slurm返回的外部作业ID(如1956125.out、1956125.err)命名。

内容的提问来源于stack exchange,提问作者curious

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 06:35:18