Skip to content

Mermaid-js output flow connections are incorrect #3556

@eeidsness

Description

@eeidsness

Snakemake version
9.3.3

Describe the bug
The output for rulegraph doesn't match that of mermaid-js, specifically the connection of rules by ids is incorrect.

Logs

Minimal example
In this example - the part I'm referring specifically to is the end section of sequence (id0 --> id0 and so on)

snakemake --dag
Output:

digraph snakemake_dag {
    graph[bgcolor=white, margin=0];
    node[shape=box, style=rounded, fontname=sans, fontsize=10, penwidth=2];
    edge[penwidth=2, color=grey];
        0[label = "all", color = "0.00 0.6 0.85", style="rounded"];
        1[label = "Step3", color = "0.10 0.6 0.85", style="rounded"];
        2[label = "Step2", color = "0.48 0.6 0.85", style="rounded"];
        3[label = "Step1b", color = "0.29 0.6 0.85", style="rounded"];
        4[label = "Step1c", color = "0.38 0.6 0.85", style="rounded"];
        5[label = "Step4", color = "0.57 0.6 0.85", style="rounded"];
        6[label = "Step1a", color = "0.19 0.6 0.85", style="rounded"];
        4 -> 0
        1 -> 0
        2 -> 1
        6 -> 2
        3 -> 2
        5 -> 4
        1 -> 4
}

With mermaid (thanks btw for this!!)
snakemake --rulegraph mermaid-js
Output (incorrect):

flowchart TB
        id0[all]
        id1[Step3]
        id2[Step2]
        id3[Step1b]
        id4[Step1c]
        id5[Step4]
        id6[Step1a]
        style id0 fill:#D95757,stroke-width:2px,color:#333333
        style id1 fill:#D9A157,stroke-width:2px,color:#333333
        style id2 fill:#57D9C6,stroke-width:2px,color:#333333
        style id3 fill:#7CD957,stroke-width:2px,color:#333333
        style id4 fill:#57D97C,stroke-width:2px,color:#333333
        style id5 fill:#57A1D9,stroke-width:2px,color:#333333
        style id6 fill:#C6D957,stroke-width:2px,color:#333333
        id0 --> id0
        id0 --> id1
        id1 --> id0
        id2 --> id0
        id2 --> id1
        id4 --> id0
        id4 --> id1

Additional context

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions