1

有没有办法在不创建不需要的空文件 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
4

1 回答 1

0

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

但是您可以使用temp以便自动删除文件。更详细地,来自文档:

Snakemake 允许将输出文件标记为临时文件,这样一旦执行了每个消耗作业,它们就会被删除。

参考

于 2017-08-12T12:08:27.753 回答