How toruokadaoi/spatial-graph-bench works
spatial-graph-bench is a spatial-transcriptomics research benchmark. A researcher supplies a dataset and experiment configurations; the system creates leakage-safe donor/section/replicate splits, fits frozen features on training cells, builds physical or expression-space graphs, trains matched MLP, Random Forest, and GNN models, computes partition and boundary metrics, and compares GNN Macro-F1 with the matched MLP baseline. Graph rewiring and coordinate shuffling provide negative controls, while manifests and audits verify provenance. The graph reflects sampled runtime code plus README-documented capabilities; several orchestration scripts were not inspected.
Main entry points: trainer.py Training Orchestrator · schema.py Feature Bundle · spatial_knn.py Spatial k-NN · pipeline.py Feature Pipeline
Components 20
Protocol & Features
- Split Config
src/spatial_graph_bench/config/split.py - Split Generator
src/spatial_graph_bench/splitting/generator.py - Preprocessing Config
src/spatial_graph_bench/config/preprocessing.py - Feature Pipeline
src/spatial_graph_bench/preprocessing/pipeline.py - Feature Bundle
src/spatial_graph_bench/preprocessing/schema.py
Graph Construction
- Graph Config
src/spatial_graph_bench/config/graph.py - Graph Registry
src/spatial_graph_bench/graph/registry.py - Spatial k-NN
src/spatial_graph_bench/graph/spatial_knn.py - Reference Bipartite
src/spatial_graph_bench/graph/bipartite.py - Topology Controls
src/spatial_graph_bench/graph/rewired_control.py
Model Training
- MLP Baseline
src/spatial_graph_bench/models/mlp.py - Random Forest
src/spatial_graph_bench/models/random_forest.py - Spatial GNNs
src/spatial_graph_bench/models/gnn.py - Training Orchestrator
src/spatial_graph_bench/models/trainer.py
Evaluation & Provenance
- Partition Metrics
src/spatial_graph_bench/evaluation/metrics.py - Matched Graph Lift
src/spatial_graph_bench/tracking/graph_lift.py - Artifact Audit
src/spatial_graph_bench/analysis/delivery.py - Evaluation Schema
src/spatial_graph_bench/evaluation/schema.py
Other components
- Researcher
- Transcriptomics Dataset
Connections 29
- Researcher → Transcriptomics Dataset: provides data
- Researcher → Split Config: sets split
- Researcher → Preprocessing Config: sets features
- Researcher → Graph Config: selects graph
- Transcriptomics Dataset → Split Generator: supplies observations
- Split Config → Split Generator: configures split
- Split Generator → Feature Pipeline: provides partitions
- Transcriptomics Dataset → Feature Pipeline: supplies counts
- Preprocessing Config → Feature Pipeline: configures pipeline
- Feature Pipeline → Feature Bundle: creates features
- Feature Bundle → Spatial k-NN: provides coordinates
- Feature Bundle → Reference Bipartite: provides PCA features
- Graph Config → Graph Registry: selects builder
- Graph Registry → Spatial k-NN: dispatches builder
- Graph Registry → Reference Bipartite: dispatches builder
- Spatial k-NN → Topology Controls: provides control graph
- Feature Bundle → Training Orchestrator: provides features
- Spatial k-NN → Training Orchestrator: provides topology
- Reference Bipartite → Training Orchestrator: provides topology
- Topology Controls → Training Orchestrator: provides controls
- Training Orchestrator → MLP Baseline: trains baseline
- Training Orchestrator → Random Forest: trains baseline
- Training Orchestrator → Spatial GNNs: trains models
- Training Orchestrator → Partition Metrics: computes scores
- Partition Metrics → Evaluation Schema: records summaries
- Partition Metrics → Matched Graph Lift: feeds scores
- Matched Graph Lift → Researcher: reports lift
- Training Orchestrator → Artifact Audit: writes run artifacts
- Artifact Audit → Researcher: verifies results