【发布时间】:2018-09-19 17:42:57
【问题描述】:
我有一个工作流程,首先从公共数据库下载文件,然后在后续步骤中处理这些文件以创建多个聚合数据表。
我正在一台没有互联网连接的机器上测试工作流程。我在另一台机器上运行了初步数据下载步骤并将它们复制到这台机器上,现在我正在尝试运行其余的工作流程。当我运行snakemake -np 时,它报告所有数据下载作业仍然需要完成,即使目标文件已经存在。我什至在后续的处理规则中将这些文件标记为ancient(),但这并没有帮助。
如何让 Snakemake 相信这些作业不需要重新运行?
【问题讨论】:
-
尝试标记
--reason(Print the reason for each executed rule.) 找出snakemake 想要运行它的原因。 -
太棒了。具有较新时间戳的从属文件。
touching 下载的文件解决了这个问题! @JeeYeem,如果您将您的评论作为答案发表,我很乐意为您服务! -
再想一想,
ancient()应该已经解决了你的问题吧?有什么线索为什么不呢? -
@JeeYem 我可能错误地将目标文件标记为
ancient(),而不是它们所依赖的文件。