Snakemake 似乎以广度优先的方式遍历 DAG。是否可以(例如通过选项/标志/等)强制snakemake深度优先遍历DAG?
我能想到的一种方法是为每条规则设置优先级:
rule all:
input:
["third_a.txt", "third_b.txt", "third_c.txt"]
rule first:
output:
touch("first_{sample}.txt")
priority: 1
rule second:
input:
rules.first.output
output:
touch("second_{sample}.txt")
priority: 2
rule third:
input:
rules.second.output
output:
touch("third_{sample}.txt")
priority: 3
Run Code Online (Sandbox Code Playgroud)
如果你现在运行它,snakemake -j 1它会被深度优先执行!