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

咨询:如何获取Snakemake pipeline完整运行的唯一ID

获取Snakemake Pipeline运行的唯一ID方法

Snakemake没有像Nextflow的nextflow log那样直接列出所有运行ID的内置命令,但可以通过以下几种方式获取单条运行的唯一标识:

1. 使用内置的workflow.run_id变量

Snakemake会为每个运行生成一个唯一的UUID格式ID,直接通过内置的workflow.run_id变量即可访问:

  • 在Snakefile的规则中调用,比如将ID写入文件留存:
    rule save_run_id:
        output:
            "run_identifier.txt"
        shell:
            """
            echo "本次运行ID: {workflow.run_id}" > {output}
            """
    
  • 若想在命令行快速查看当前运行的ID,无需修改Snakefile,直接用--eval参数执行代码:
    snakemake --eval 'print(workflow.run_id)'
    

2. 从自动生成的日志文件中提取

Snakemake默认会在.snakemake/log/目录下生成运行日志,每个日志文件开头都会标注运行ID,格式类似:

Run ID: 5b8d2a1e-3c7f-49a0-b1c2-d3e4f5a6b7c8

可以用命令快速提取最新运行的ID:

grep -o "Run ID: [a-f0-9-]*" .snakemake/log/*.log | sort | tail -n1 | cut -d' ' -f3

3. 自定义生成并传递唯一ID

如果需要完全自主控制ID的生成规则,可以自己生成唯一标识,再通过配置参数传递给Snakemake:

# 用uuidgen生成UUID(也可以用时间戳等自定义格式)
RUN_ID=$(uuidgen)
# 将ID传入Snakemake
snakemake --config custom_run_id=$RUN_ID

之后在Snakefile中通过config.custom_run_id即可调用这个自定义ID。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 08:29:56