How reeper316099/sequencescope works
SequenceScope is an offline educational desktop application for sequence alignment and evolutionary-tree workflows. Users enter or load sequences, inspect pairwise or multiple alignments, derive distances and trees, and explore results through interactive views; projects can also be saved and reopened. The TypeScript interface delegates computation through a Rust-backed Tauri layer to a Rust bioinformatics core. The README documents the broader feature set, while sampled source excerpts show selected UI wiring and core behavior; some backend dispatch details are therefore left unconnected.
Main entry points: compute.rs Job compute · main.ts App orchestration · api.ts Bio API · treesView.ts Trees view
Components 24
User interface
- App orchestration
src/main.ts - Align view
src/ui/alignView.ts - Distances view
src/ui/distancesView.ts - Trees view
src/ui/treesView.ts - MSA view
src/ui/msaView.ts - Tree viewer
src/ui/treeView.ts - Learn view
src/ui/learnView.ts
Sequence workflows
- Tree comparison
src/ui/compareView.ts
Rust algorithms
- Pairwise alignment
crates/sequencescope-core/src/pairwise.rs - Distance models
crates/sequencescope-core/src/distance.rs - Tree inference
crates/sequencescope-core/src/upgma.rs - Neighbor joining
crates/sequencescope-core/src/nj.rs - Column bootstrap
crates/sequencescope-core/src/bootstrap.rs - Progressive alignment
crates/sequencescope-core/src/msa.rs - Newick and trees
crates/sequencescope-core/src/newick.rs - Tree comparison core
crates/sequencescope-core/src/treecompare.rs
Desktop bridge
- Bio API
src/backend/api.ts - Job workers
src/backend/index.ts - Rust worker adapter
src/backend/rust.ts - Tauri commands
src-tauri/src/lib.rs - Job compute
src-tauri/src/compute.rs
Files and state
- Project files
src/io/project.ts - Shared result types
src/shared/results.ts
Other components
- Researcher
Connections 28
- Researcher → App orchestration: uses
README.md - App orchestration → Align view: creates
src/main.ts - App orchestration → Distances view: creates
src/main.ts - App orchestration → Trees view: creates
src/main.ts - App orchestration → MSA view: creates
src/main.ts - App orchestration → Project files: saves and loads
src/main.ts - MSA view → Distances view: sends alignment
src/main.ts - Trees view → Tree viewer: renders trees
src/ui/treesView.ts - Trees view → Tree comparison: offers comparison
src/ui/treesView.ts - Tree comparison → Tree viewer: renders comparison
src/ui/compareView.ts - Tree comparison → Bio API: compares trees
src/ui/compareView.ts - Researcher → Learn view: explores concepts
README.md - Align view → Bio API: requests alignment
- Distances view → Bio API: requests distances
- Trees view → Bio API: requests trees
src/ui/treesView.ts - Bio API → Job workers: creates jobs
src/backend/api.ts - Job workers → Rust worker adapter: instantiates
src/backend/index.ts - Rust worker adapter → Tauri commands: invokes commands
- Tauri commands → Job compute: registers compute
src-tauri/src/lib.rs - Job compute → Pairwise alignment: runs alignment
- Job compute → Distance models: computes distances
- Job compute → Tree inference: builds trees
- Job compute → Neighbor joining: builds trees
- Job compute → Column bootstrap: runs bootstrap
- Job compute → Progressive alignment: runs alignment
- Job compute → Newick and trees: tree operations
- Job compute → Tree comparison core: tree operations
- Bio API → Shared result types: uses contracts
src/backend/api.ts