Snakemake重复规则的输出文件已经存在
我正在运行snakemake(v7.6.2),并且我注意到,与其“原理”不同,它正在尝试重新运行输出文件已经存在的管道的步骤。
在我的第一次运行中,我有以下dag:
成功完成,但我现在想向其添加另一个规则( quast_first
),如下所示, 'dag:
(我已经通过添加 quast_first
作为 Quast_second
的输入来做到这一点)
如果我调用干式运行,我d期望重新执行以下规则:
-
quast_first
:不存在输出,它不是以前的工作流程 quast_second
:尽管存在输出,但它具有一个新的依赖项(quast_first
),尽管对于这种特定情况,输出应该完全相同,因为quast_first
的输出只是一个依赖项(因此不输入)对于quast_second
,我看到Snakemake想要重新生成整个工作流程。以下是用调用干式运行的摘录 - 原因
标志,如这个问题:
rule symLinkFQ:
input: logs/BORD1725, /nexus/Gridion/20220420Microbiology_q20/no_sample/20220405_1846_X1_FAT23098_47b43b4a/High_accuracy_basecalling/pass/barcode04
output: symLinkFq/BORD1725
log: /home/ngs/tempSnakemake/20220420Microbiology_q20/logs/BORD1725
jobid: 34
reason: Updated input files: /nexus/Gridion/20220420Microbiology_q20/no_sample/20220405_1846_X1_FAT23098_47b43b4a/High_accuracy_basecalling/pass/barcode04
wildcards: barcode=BORD1725
resources: mem_mb=1000, disk_mb=1000, tmpdir=/tmp
ln -s /nexus/Gridion/20220420Microbiology_q20/no_sample/20220405_1846_X1_FAT23098_47b43b4a/High_accuracy_basecalling/pass/barcode04 symLinkFq/BORD1725
但是,我可以确认规则的输出 symlinkfq
确实存在(workdir是/home /ngs/tempsnakemake/20220420microbiology_q20
),
[ngs@vngs20x ~/tempSnakemake/20220420Microbiology_q20]$ ll symLinkFq/BORD1725
lrwxrwxrwx. 1 ngs ngs 125 24. Mai 14:01 symLinkFq/BORD1725 -> /nexus/Gridion/20220420Microbiology_q20/no_sample/20220405_1846_X1_FAT23098_47b43b4a/High_accuracy_basecalling/pass/barcode04
所以我不太了解:
reason: Updated input files: /nexus/Gridion/20220420Microbiology_q20/no_sample/20220405_1846_X1_FAT23098_47b43b4a/High_accuracy_basecalling/pass/barcode04`, as shown above:
执行整个工作流程:
Job stats:
job count min threads max threads
-------------- ------- ------------- -------------
all 1 1 1
cat_fastq 4 1 1
flye 4 1 1
minimap_first 4 1 1
minimap_second 4 1 1
quast_first 4 1 1
quast_second 4 1 1
racon_first 4 1 1
racon_second 4 1 1
symLinkFQ 4 1 1
total 37 1 1
在干式运行结束时,再次表明,如果我称其为:我一直在 使用先前版本的snakemake(v.5。*主要是),据我所记得,这是我第一次遇到此问题(Snakemake重新运行了其输出文件已经存在的规则)。可以是,这与版本有关吗,例如,我现在必须将命令行参数传递给SnakeMake,告诉它不要重新生成已经存在的输出文件(尽管我总是希望这是默认行为)?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
事实证明,这确实与版本有关。我删除了snakemake
v7.6.2
v5.8.1 和snakemake不再想要重复存在其输出文件的规则。在V7.8.0
上也存在相同的错误,这是最新版本turns out that this is indeed version related. I removed snakemake
v7.6.2
and isntalledv5.8.1
and snakemake no longer wants to repeat rules whose output files exist. Same bug is present at v7.8.0
, which is the latest release version