有没有办法在没有触摸文件的情况下链接蛇制作规则?



有没有办法在不创建不需要的空文件 helpA、helpB、helpC 然后删除它们的情况下完成以下 helpAll 规则?

rule helpA:
output: touch("helpA")
shell: "echo 'help on subject <A>'"
rule helpB:
output: touch("helpB")
shell: "echo 'help on subject <B>'"
rule helpC:
output: touch("helpC")
shell: "echo 'help on subject <C>'"
rule helpAll:
input: "helpA","helpB","helpC"
shell: "rm {input}

一个不错的解决方案是以下类型的规则依赖项,但这不是有效的蛇码:

rule helpAll:
input: rules.helpA,rules.helpB,rules.helpC

或:

rule helpAll:
depends_on_rule: helpA,helpB,helpC

我不认为 snakemake 如果不在磁盘上创建文件,它将无法正常工作。

但是您可以使用temp来自动删除文件。更详细的内容来自文档:

Snakemake允许将输出文件标记为临时文件,以便它们是 执行每个使用作业后删除。

参考

最新更新