Snakemake: Tranverse DAG depth-first?

Oct 02 2020

Snakemake tampaknya melintasi DAG dengan cara yang pertama. Apakah mungkin (misalnya melalui opsi / bendera / dll.) Untuk memaksa snakemake melintasi kedalaman DAG terlebih dahulu?

Jawaban

2 Maarten-vd-Sande Oct 03 2020 at 14:51

Salah satu cara yang bisa saya lakukan adalah dengan menetapkan prioritas untuk setiap aturan:

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

dan jika Anda sekarang menjalankannya dengannya snakemake -j 1, eksekusi tersebut akan dieksekusi secara mendalam!