有没有办法在不创建不需要的空文件 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允许将输出文件标记为临时文件,以便它们是 执行每个使用作业后删除。
参考