【发布时间】:2021-01-26 18:36:55
【问题描述】:
我的项目可能存在输入数据集被覆盖但内容未更改的情况。 Snakemake 中有没有一种方法可以使用校验和而不是时间戳来检查构建更改?
例如,Scons 使用 md5 哈希检查代码和数据中的构建更改(哈希仅在时间戳发生更改时计算)。但我更喜欢使用 Snakemake,因为它还有其他杀手级功能。
所需的行为类似于文档中描述的between workflow caching 功能。在文档中它说:
无需使用此功能来避免工作流中的冗余计算。 Snakemake 开箱即用。
但所有对这个问题的引用都指向 Snakemake 仅在正常工作流程中使用时间戳。
使用ancient 标记或使用touch 来调整时间戳对我来说不起作用,因为这需要太多的人工干预。
我最终发现 an old SO post 表明我可以通过编写自己的脚本来比较校验和然后将其输入到 Snakemake 中来做到这一点,但我不确定这是否仍然是唯一的选择。
【问题讨论】:
标签: snakemake