所有规则的解决方法和`rules.rule_A.output.output_X`语法

时间:2018-01-11 21:16:52

标签: snakemake

最新版本的snakemake允许(并鼓励)规则访问其他规则的输出,例如rules.rule_A.output.ouput_1。这导致重复和错误显着减少。但是,此方法不适用于all规则,因为它必然首先存在于Snakefile中,因此无法访问尚未定义的规则。

作为一种解决方法,我找到了一种解决方法,其中all规则只有一个输入checkpointcheckpoint规则,它们位于Snakefile的末尾并列举所需的最终输出rules.rule_X.output.output_Y。但是,我发现这种解决方法有点做作(导致检查点未被触及但是其输入的问题)并且我很好奇是否有人有更好的方法。也可以修补Snakemake,以便all规则可以驻留在Snakefile的 end ,尽管我不确定这是否可行。

这里有人建议是否有像我讨论过的更干净的周围 - 或者Snakemake的补丁是否可以清除它?

1 个答案:

答案 0 :(得分:1)

所有规则确实可以存在于Snakefile的末尾。你只需要调用snakemake - all。