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

如何在不重跑整个Snakemake流程的情况下运行其中一部分?

解决Snakemake部分流程测试的问题

1. 绕开--rule的通配符限制

不要用--rule指定带通配符的规则,直接指定你要生成的具体输出文件路径,Snakemake会自动解析对应的规则和依赖链,只运行生成该文件所需的步骤:

snakemake results/sample1/your_target_output.txt

2. 解决“文件已存在但未正确生成”的问题

如果目标文件被Snakemake标记为已完成,但实际内容错误,不用删除全部输入文件,试试这几种方法:

  • 强制重新生成单个目标文件:用--force参数直接强制覆盖并重新生成指定文件:
    snakemake --force results/sample1/your_target_output.txt
    
  • 强制重新生成某条规则的所有输出:如果要测试的规则有多个通配符实例,用--forcerule指定规则名,强制运行该规则的所有实例:
    snakemake --forcerule your_rule_name
    
  • 手动删除错误文件:只删除你要重新生成的错误输出文件,再运行指定目标的命令,Snakemake会自动重新构建:
    rm results/sample1/your_target_output.txt
    snakemake results/sample1/your_target_output.txt
    

3. --allowed-rules的正确用法

--allowed-rules是限制流程只能使用指定规则,但如果目标文件已被标记为完成,Snakemake不会主动重新运行。可以结合--forcerule一起使用,强制在允许的规则范围内重新生成目标:

snakemake --allowed-rules your_rule_name --forcerule your_rule_name

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 12:23:17