Seeding IRDME from Prior Results: the --seed-from Feature
How to use one experiment's hub output to seed a comparative analysis. Introduces the --seed-from and --compare-to flags, the role-vector cosine metric, and an exploratory C. elegans generative compression result (avg_seed_cosine=0.845, avg_rank_cosine=0.888). Not a confirmatory pre-registered result - a methodological contribution.
The problem: cross-domain hub comparison without shared node IDs
After F12 confirmed the Functional Proximity Law in the C. elegans 302-neuron connectome (r=0.807, p<0.001), a natural question arose: can you use that structural knowledge somewhere else? Specifically, can the hub identity of C. elegans neurons seed a synthetic graph that approximates the structural properties of a larger nervous system?
The challenge is that different organisms have completely different node IDs. You cannot directly compare PVCL in C. elegans to any Drosophila neuron using node-level correlation. You need a different kind of comparison: role-vector cosine similarity.
Role vectors
Every node in a multilayer graph has a role vector: its degree in each layer, sorted by layer name. Two nodes are structurally analogous if their role vectors have high cosine similarity, regardless of whether they share an ID, a label, or even a species.
PVCL in C. elegans has a role vector of [degree_chemical_synapse, degree_gap_junction]. Any Drosophila neuron with a similar [degree_axon_to_dendrite, degree_axon_to_axon] vector is playing a structurally analogous role, even though the two animals are 600 million years apart.
The --seed-from feature (F12b)
F12b introduced the --seed-from flag in dev.py:
dev.py synth \
--nodes 302 \
--layers chemical_synapse,gap_junction \
--r 0.8 \
--density 0.028 \
--seed-from outputs/output_celegans_302_full.json \
--seed-n 15 \
--compare-to examples/celegans_302.json
-
What this does:
- Extracts the top-15 hub nodes from the C. elegans output (AVAL, AVAR, AVBL, AVBR, PVCL, PVCR...)
- Uses their actual degrees as the base hub scores for the synthetic graph
- Generates a 302-node synthetic graph with hub structure anchored to the real C. elegans hubs
- Uses
--compare-toto measure how well the synthetic reconstruction matches the original
--seed-n controls how many hub seeds to extract (default: 15).
F12b results (exploratory, not pre-registered)
| Metric | Value | |---|---| | avg_seed_cosine | 0.8448 | | avg_rank_cosine | 0.8882 | | chemical_synapse layer cosine | 0.9392 | | gap_junction layer cosine | 0.8372 |
15 hub seeds reconstructed 84.5% hub role accuracy and 88.8% degree distribution shape. The top seeds scored especially well: AVAR=0.900, AVAL=0.933, AVBL=0.919.
This is the F12 hub compression ratio in action: cr_n=18.6 means approximately 16 hub nodes out of 302 encode the structural skeleton.
Why this is NOT a confirmatory pre-registered result
F12b was methodological/exploratory because the cosine thresholds were never committed to the public preregistrations repo before the run. This violates the IRDME workflow HARD STOP: the prediction must be timestamped before the result is seen.
The result is real and interesting. It is not a data point in the paper's binomial count.
What comes next: F12c (formally pre-registered)
- F12c applies the same methodology cross-species, with thresholds committed before running:
- Seed: C. elegans top-15 hubs
- Target: Drosophila larval connectome (2952 neurons, Winding et al. 2023)
- Pre-registered thresholds: avg_rank_cosine >= 0.65 (primary confirmatory criterion)
- Hash: cd2ed080... | Commit: 45b2875 | Date: 2026-05-26
F12c is a harder test: no shared node IDs, 10x scale difference, imperfect layer homology (gap junctions ≠ axo-axonic synapses).
The /transfer API endpoint
The role-vector comparison is now available via the API:
POST /transfer
{
"graph_a": { ...C. elegans graph... },
"graph_b": { ...Drosophila graph... },
"label_a": "C. elegans",
"label_b": "Drosophila larva",
"top_n": 15
}
Response includes role_analogues (best structural match per hub), avg_seed_cosine, rank_vector_similarity per layer, and avg_rank_cosine.
F12b was exploratory and methodologically motivated. The science is in F12c, which is formally pre-registered. The tool is in dev.py (--seed-from, --seed-n, --compare-to) and the API (/transfer). Both are available now.