This document describes the current directed acyclic dependency graph for the module.evolview.pathwaybrowser module ecosystem.
Current facts
- Total packages: 18
- Packages containing modules: 8
- Utility packages: 10
- Total modules: 18
- Dependency layers: 7
- Circular dependencies: 0
The graph below reflects the current source layout. treebuilder is included in the current dependency surface.
The current architecture follows these rules:
- Dependencies flow downward only.
- Lower layers do not depend on application-layer packages.
evoltrepiplinestays as shared infrastructure rather than business logic.evolview.phylotreeremains decoupled fromgfamily.evoltreiodepends onevolview.modelinstead of browser-specific UI packages.
Read the graph as A --> B, meaning A depends on B.
graph TB
subgraph Level7["Level 7: Target Module"]
pathwaybrowser["pathwaybrowser<br/>[MODULE]"]:::module
end
subgraph Level6["Level 6: Application Layer"]
gfamily["gfamily<br/>[MODULE]"]:::module
moderntreeviewer["moderntreeviewer<br/>[MODULE]"]:::module
end
subgraph Level5["Level 5: I/O Layer"]
evoltreio["evoltreio<br/>[UTILITY]"]:::utility
end
subgraph Level4["Level 4: Model Layer"]
model["evolview.model<br/>[UTILITY]"]:::utility
phylotree["evolview.phylotree<br/>[UTILITY]"]:::utility
end
subgraph Level3["Level 3: Process Orchestration"]
evoltre["evoltre<br/>[UTILITY]"]:::utility
multiseq["multiseq<br/>[6 MODULES]"]:::module
treebuilder["treebuilder<br/>[4 MODULES]"]:::module
end
subgraph Level2["Level 2: Core Algorithms"]
evoldist["evoldist<br/>[3 MODULES]"]:::module
remnant["remnant<br/>[UTILITY]"]:::utility
parsimonytre["parsimonytre<br/>[UTILITY]"]:::utility
end
subgraph Level1["Level 1: Shared Infrastructure"]
evoltrepipline["evoltrepipline<br/>[UTILITY]<br/>interfaces · constants · shared UI"]:::utility
end
subgraph Level0["Level 0: Base Utilities"]
ambigbse["ambigbse<br/>[MODULE]"]:::module
genome["genome<br/>[UTILITY]"]:::utility
evolknow["evolknow<br/>[UTILITY]"]:::utility
pill["pill<br/>[MODULE]"]:::module
webmsaoperator["webmsaoperator<br/>[UTILITY]"]:::utility
end
pathwaybrowser --> gfamily
pathwaybrowser --> model
pathwaybrowser --> moderntreeviewer
pathwaybrowser --> phylotree
gfamily --> model
gfamily --> phylotree
gfamily --> evolknow
gfamily --> evoltre
gfamily --> multiseq
moderntreeviewer --> model
moderntreeviewer --> evoltreio
moderntreeviewer --> pill
evoltreio --> model
phylotree --> model
evoltre --> parsimonytre
multiseq --> evoltrepipline
multiseq --> evoltre
multiseq --> webmsaoperator
treebuilder --> evoltrepipline
treebuilder --> remnant
treebuilder --> multiseq
treebuilder --> evoldist
evoldist --> evoltrepipline
remnant --> evoltrepipline
remnant --> evoldist
parsimonytre --> evoldist
classDef module fill:#e1f5e1,stroke:#4caf50,stroke-width:2px,color:#000
classDef utility fill:#e3f2fd,stroke:#2196f3,stroke-width:2px,color:#000
style Level0 fill:#fff3e0,stroke:#ff9800,stroke-width:2px
style Level1 fill:#f3e5f5,stroke:#9c27b0,stroke-width:2px
style Level2 fill:#fce4ec,stroke:#e91e63,stroke-width:2px
style Level3 fill:#e0f2f1,stroke:#009688,stroke-width:2px
style Level4 fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
style Level5 fill:#fff9c4,stroke:#fbc02d,stroke-width:2px
style Level6 fill:#ffe0b2,stroke:#ff6f00,stroke-width:2px
style Level7 fill:#ffcdd2,stroke:#d32f2f,stroke-width:3px
| Level | Role | Packages |
|---|---|---|
| 0 | Base utilities | ambigbse, genome, evolknow, pill, webmsaoperator |
| 1 | Shared infrastructure | evoltrepipline |
| 2 | Core algorithms | evoldist, remnant, parsimonytre |
| 3 | Process orchestration | evoltre, multiseq, treebuilder |
| 4 | Model layer | evolview.model, evolview.phylotree |
| 5 | I/O layer | evoltreio |
| 6 | Application layer | evolview.moderntreeviewer, evolview.gfamily |
| 7 | Target module | evolview.pathwaybrowser |
The current DAG already reflects these established outcomes:
evoltrepiplineno longer depends on business-layer algorithm packages.evolview.phylotreeis separated fromgfamilythrough shared tree-visualization abstractions.evoltreioreads and writes tree structures againstevolview.model.- Shared alignment-view data models now live in
evoltrepipline.alignment. pathwaybrowserstays at the top of the dependency surface and only consumes lower layers.