什么是snakemake元数据文件?我什么时候可以删除那些?

时间:2017-08-10 08:09:49

标签: snakemake

我注意到我的备份rsync脚本花了很多时间从.snakemake/metadata个文件夹中复制带有随机名称的内容。

这些文件用于什么?

我可以在蛇形运行完成后安全擦除它们,还是必须让snakemake正确执行下一次运行?

更一般地说,是否有一些关于snakemake在.snakemake文件夹中创建的文件的文档?

2 个答案:

答案 0 :(得分:4)

来自this comment by Johannes Koster,Snakemake的创造者:

  

[.snakemake /目录]用于跟踪(a)的值   每个文件的版本关键字,(b)每个文件的规则实现   文件,以便在发生变更时通知用户   使用--summary调用snakemake。

来自Google网上论坛的相关comment

  

通常,删除整个.snakemake目录是安全的   没有正在运行的Snakemake实例,你确信这一切   现有的输出文件已完成。它只包含数据来源   信息(例如,跟踪代码输入文件或参数更改[以确定是否应重新运行工作流程])。您   可能想保留.snakemake / conda,因为它包含conda   工作流程中使用的环境。

编辑:要在成功执行管道后自动删除.snakemake/目录,可以使用onssuccess挂钩:

import shutil
onsuccess:
    shutil.rmtree(".snakemake")

答案 1 :(得分:0)

现在是旧问题,并没有真正回答...由于您提到rsync,因此可以使用.snakemake选项跳过--exclude目录,例如:

rsync ... --exclude='.snakemake' source/ dest/