Skip to content

The route matrix

All 214 declared routes carry measured evidence. 174 of them are catalogue links surveyed as routes. Every row below was produced by a survey recorded in the SQLite cache and exported to data/surveys/; the counts here are generated from the RouteEvidence blocks in src/fetch_series/graph.py, which is what RouteRegistry.ranked() reads. There is no hand-written preference order anywhere in this project.

Regenerate this table's underlying numbers with:

uv run fetch routes list

The same routes are drawn as a graph, with each one's resolved, empty and failed counts, on the route graph.

How to read it

  • Queried is how many accessions the route was actually asked about. It is below the corpus size where the corpus mixes entity types — reprocessed-sample holds GSMs and SRSs, and a GEO route is only asked the GSMs.
  • Results counts distinct target accessions across the whole survey, not rows. The 2026-05 predecessor to this project counted rows, and 69,923 of its 824,216 "runs" were within-project duplicates.
  • Failed is accessions that produced no verdict at all. It is not the same as empty: "the archive holds no such link" and "I could not find out" are different answers, and conflating them made BioProject → GEO look broken when most of its empties were correct.
  • Corpus identifies the accession set exactly, including the size of a seeded draw. --limit is deliberately not used for evidence, because it records verdicts against the full corpus name.
Direction Route Corpus Queried Results Failed
ae_experiment → ae_experiment biostudies_idf sample:3000@arrayexpress-ena 3,000 472 2
ae_experiment → ae_experiment biostudies_study sample:3000@arrayexpress-ena 3,000 421 0
ae_experiment → bioproject ena_xref_source sample:3000@arrayexpress-ena 3,000 289 0
ae_experiment → biosample sdrf sample:3000@arrayexpress-ena 3,000 63,153 2
ae_experiment → biostudy biostudies_search_all sample:3000@arrayexpress-ena 3,000 796 0
ae_experiment → experiment biostudies_sdrf_comments sample:3000@arrayexpress-ena 3,000 128,366 2
ae_experiment → file sdrf sample:3000@arrayexpress-ena 3,000 197,194 2
ae_experiment → geo_sample biostudies_sdrf_comments sample:3000@arrayexpress-ena 3,000 25,289 2
ae_experiment → geo_series biostudies_idf sample:3000@arrayexpress-ena 3,000 1,552 2
ae_experiment → geo_series biostudies_study sample:3000@arrayexpress-ena 3,000 63 0
ae_experiment → run biostudies_idf sample:3000@arrayexpress-ena 3,000 16,873 2
ae_experiment → run biostudies_sdrf_comments sample:3000@arrayexpress-ena 3,000 144,858 2
ae_experiment → sample biostudies_sdrf_comments sample:3000@arrayexpress-ena 3,000 98,546 2
ae_experiment → study idf_secondary arrayexpress-ena 20,693 20,138 5
bioproject → ae_experiment ena_browser_xml sample:3000@reprocessed-prj 3,000 97 2
bioproject → ae_experiment ena_filereport_aliases sample:3000@reprocessed-prj 3,000 97 0
bioproject → ae_experiment ena_xref_target sample:3000@reprocessed-prj 3,000 4 0
bioproject → bioproject elink_bioproject_bioproject_d2u sample:3000@reprocessed-prj 3,000 487 0
bioproject → bioproject ena_search_study_parent sample:3000@reprocessed-prj 3,000 490 0
bioproject → biosample elink reprocessed-prj 12,755 244,324 0
bioproject → biosample ena_filereport reprocessed-prj 12,755 363,885 0
bioproject → experiment ena_filereport reprocessed-prj 12,755 481,315 0
bioproject → file ena_filereport_bam sample:3000@reprocessed-prj 3,000 1,470 0
bioproject → file ena_filereport_fastq sample:3000@reprocessed-prj 3,000 269,128 0
bioproject → file ena_filereport_submitted sample:3000@reprocessed-prj 3,000 29,698 0
bioproject → geo_sample ena_filereport_aliases sample:3000@reprocessed-prj 3,000 51,547 0
bioproject → geo_sample esearch_sra_runinfo sample:3000@reprocessed-prj 3,000 51,566 0
bioproject → geo_sample sra_be_runinfo sample:3000@reprocessed-prj 3,000 51,560 0
bioproject → geo_series elink reprocessed 12,114 15,180 1078
bioproject → geo_series gds_direct reprocessed 12,114 15,179 1079
bioproject → run efetch_direct reprocessed-prj 12,755 784,976 0
bioproject → run efetch_elink reprocessed-prj 12,755 786,586 0
bioproject → run ena_filereport reprocessed-prj 12,755 783,936 0
bioproject → run sra_be_direct_cgi reprocessed-prj 12,755 784,935 0
bioproject → run sra_be_elink reprocessed-prj 12,755 785,656 0
bioproject → sample ena_filereport sample:3000@reprocessed-prj 3,000 84,948 0
bioproject → sample esearch_sra_runinfo sample:3000@reprocessed-prj 3,000 84,984 0
bioproject → sample esummary_sra sample:3000@reprocessed-prj 3,000 84,984 0
bioproject → sample sra_be_runinfo sample:3000@reprocessed-prj 3,000 84,965 0
bioproject → study ena_filereport reprocessed-prj 12,755 12,748 0
biosample → ae_experiment ena_filereport_aliases sample:3000@results-of:bioproject->biosample:ena_filerepor… 3,000 79 0
biosample → bioproject biosample_record sample:3000@results-of:bioproject->biosample:ena_filerepor… 3,000 974 0
biosample → bioproject ddbj_dblink sample:3000@results-of:bioproject->biosample:ena_filerepor… 3,000 1,065 0
biosample → bioproject elink_biosample_bioproject sample:3000@results-of:bioproject->biosample:ena_filerepor… 3,000 1,065 0
biosample → bioproject ena_filereport sample:3000@results-of:bioproject->biosample:ena_filerepor… 3,000 1,065 0
biosample → bioproject ena_search_sample sample:3000@results-of:bioproject->biosample:ena_filerepor… 3,000 1,044 0
biosample → bioproject esummary_sra sample:3000@results-of:bioproject->biosample:ena_filerepor… 3,000 1,064 0
biosample → bioproject sra_be_runinfo sample:3000@results-of:bioproject->biosample:ena_filerepor… 3,000 1,063 0
biosample → experiment ddbj_dblink sample:3000@results-of:bioproject->biosample:ena_filerepor… 3,000 3,397 0
biosample → experiment elink_biosample_sra sample:3000@results-of:bioproject->biosample:ena_filerepor… 3,000 3,397 0
biosample → experiment ena_filereport sample:3000@results-of:bioproject->biosample:ena_filerepor… 3,000 3,294 0
biosample → experiment esummary_sra sample:3000@results-of:bioproject->biosample:ena_filerepor… 3,000 3,397 0
biosample → experiment sra_be_runinfo sample:3000@results-of:bioproject->biosample:ena_filerepor… 3,000 3,283 0
biosample → file ena_filereport_bam sample:3000@results-of:bioproject->biosample:ena_filerepor… 3,000 55 0
biosample → file ena_filereport_fastq sample:3000@results-of:bioproject->biosample:ena_filerepor… 3,000 7,923 0
biosample → file ena_filereport_submitted sample:3000@results-of:bioproject->biosample:ena_filerepor… 3,000 1,710 0
biosample → file sdl sample:3000@results-of:bioproject->biosample:ena_filerepor… 3,000 5,468 0
biosample → file sdl_lite sample:3000@results-of:bioproject->biosample:ena_filerepor… 3,000 4,756 0
biosample → file sdl_original sample:3000@results-of:bioproject->biosample:ena_filerepor… 3,000 10,334 0
biosample → geo_sample biosample_record sample:3000@results-of:bioproject->biosample:ena_filerepor… 3,000 1,488 0
biosample → geo_sample elink_biosample_gds sample:3000@results-of:bioproject->biosample:ena_filerepor… 3,000 1,698 0
biosample → geo_sample ena_filereport_aliases sample:3000@results-of:bioproject->biosample:ena_filerepor… 3,000 1,618 0
biosample → geo_sample sra_be_runinfo sample:3000@results-of:bioproject->biosample:ena_filerepor… 3,000 1,490 0
biosample → geo_series ena_filereport_aliases sample:3000@results-of:bioproject->biosample:ena_filerepor… 3,000 830 0
biosample → run ena_filereport sample:3000@results-of:bioproject->biosample:ena_filerepor… 3,000 4,827 0
biosample → sample biosample_record sample:3000@results-of:bioproject->biosample:ena_filerepor… 3,000 2,999 0
biosample → sample biosamples_record sample:3000@results-of:bioproject->biosample:ena_filerepor… 3,000 2,957 40
biosample → sample ddbj_dblink sample:3000@results-of:bioproject->biosample:ena_filerepor… 3,000 2,999 0
biosample → sample ena_filereport sample:3000@results-of:bioproject->biosample:ena_filerepor… 3,000 2,999 0
biosample → sample ena_search_sample sample:3000@results-of:bioproject->biosample:ena_filerepor… 3,000 2,927 0
biosample → sample esummary_sra sample:3000@results-of:bioproject->biosample:ena_filerepor… 3,000 2,999 0
biosample → sample sra_be_runinfo sample:3000@results-of:bioproject->biosample:ena_filerepor… 3,000 2,993 0
biosample → study ena_filereport sample:3000@results-of:bioproject->biosample:ena_filerepor… 3,000 1,067 0
biosample → study esummary_sra sample:3000@results-of:bioproject->biosample:ena_filerepor… 3,000 1,066 0
biosample → study sra_be_runinfo sample:3000@results-of:bioproject->biosample:ena_filerepor… 3,000 1,065 0
biostudy → ae_experiment biostudies_study node:biostudy@results-of:link:ae_experiment->biostudy:bios… 82 185 0
biostudy → bioproject biostudies_study node:biostudy@results-of:link:ae_experiment->biostudy:bios… 82 7 0
biostudy → geo_series biostudies_study node:biostudy@results-of:link:ae_experiment->biostudy:bios… 82 63 0
biostudy → study biostudies_study node:biostudy@results-of:link:ae_experiment->biostudy:bios… 82 5 0
experiment → ae_experiment ena_filereport_aliases sample:3000@reprocessed-srx 3,000 89 0
experiment → bioproject ddbj_dblink sample:3000@reprocessed-srx 3,000 2,092 0
experiment → bioproject elink_sra_bioproject sample:3000@reprocessed-srx 3,000 2,097 0
experiment → bioproject ena_filereport sample:3000@reprocessed-srx 3,000 2,091 0
experiment → bioproject esummary_sra sample:3000@reprocessed-srx 3,000 2,092 0
experiment → bioproject sra_be_runinfo sample:3000@reprocessed-srx 3,000 2,091 0
experiment → biosample ena_filereport sample:3000@reprocessed-srx 3,000 2,893 0
experiment → file efetch_sra_files sample:3000@reprocessed-srx 3,000 13,890 0
experiment → file ena_filereport_bam sample:3000@reprocessed-srx 3,000 109 0
experiment → file ena_filereport_fastq sample:3000@reprocessed-srx 3,000 10,688 0
experiment → file ena_filereport_submitted sample:3000@reprocessed-srx 3,000 1,273 0
experiment → file sdl sample:3000@reprocessed-srx 3,000 7,294 0
experiment → file sdl_lite sample:3000@reprocessed-srx 3,000 6,943 0
experiment → file sdl_original sample:3000@reprocessed-srx 3,000 19,286 0
experiment → geo_sample elink_sra_gds sample:3000@reprocessed-srx 3,000 2,073 0
experiment → geo_sample ena_filereport_aliases sample:3000@reprocessed-srx 3,000 2,074 0
experiment → geo_sample sra_be_runinfo sample:3000@reprocessed-srx 3,000 2,067 0
experiment → geo_series elink_sra_gds sample:3000@reprocessed-srx 3,000 1,646 0
experiment → geo_series ena_filereport_aliases sample:3000@reprocessed-srx 3,000 1,647 0
experiment → run ena_filereport sample:3000@results-of:gse->experiment:soft_family@reproce… 3,000 4,811 0
experiment → sample ddbj_dblink sample:3000@reprocessed-srx 3,000 2,895 0
experiment → sample ena_filereport sample:3000@reprocessed-srx 3,000 2,894 0
experiment → sample esummary_sra sample:3000@reprocessed-srx 3,000 2,895 0
experiment → sample sra_be_runinfo sample:3000@reprocessed-srx 3,000 2,895 0
experiment → study ddbj_dblink sample:3000@reprocessed-srx 3,000 2,092 0
experiment → study ena_filereport sample:3000@reprocessed-srx 3,000 2,091 0
experiment → study esummary_sra sample:3000@reprocessed-srx 3,000 2,092 0
experiment → study sra_be_runinfo sample:3000@reprocessed-srx 3,000 2,092 0
geo_sample → bioproject esummary_sra sample:3000@reprocessed-sample 2,479 1,782 0
geo_sample → bioproject sra_be_runinfo sample:3000@reprocessed-sample 2,479 1,780 0
geo_sample → biosample acc_cgi sample:1000@reprocessed-sample 825 822 3
geo_sample → experiment acc_cgi sample:1000@reprocessed-sample 825 822 3
geo_sample → file sdl sample:3000@reprocessed-sample 2,479 6,582 0
geo_sample → file sdl_lite sample:3000@reprocessed-sample 2,479 6,421 0
geo_sample → file sdl_original sample:3000@reprocessed-sample 2,479 17,330 0
geo_sample → geo_series acc_cgi sample:1000@reprocessed-sample 825 849 3
geo_sample → run esummary_sra sample:3000@reprocessed-sample 2,479 6,523 0
geo_sample → run sra_be_runinfo sample:3000@reprocessed-sample 2,479 6,518 0
geo_sample → sample esummary_sra sample:3000@reprocessed-sample 2,479 2,303 0
geo_sample → sample sra_be_runinfo sample:3000@reprocessed-sample 2,479 2,304 0
geo_sample → study esummary_sra sample:3000@reprocessed-sample 2,479 1,782 0
geo_sample → study sra_be_runinfo sample:3000@reprocessed-sample 2,479 1,780 0
geo_series → bioproject gds_summary reprocessed-gse 13,045 12,830 0
geo_series → bioproject soft_family reprocessed-gse 13,045 12,572 7
geo_series → biosample geo_soft_family_relations sample:3000@reprocessed-gse 3,000 83,585 2
geo_series → biosample sra_be_runinfo sample:3000@reprocessed-gse 3,000 34,177 0
geo_series → experiment elink_gds_sra reprocessed-gse 13,045 178,879 0
geo_series → experiment soft_bioproject_ena reprocessed-gse 13,045 290,462 7
geo_series → experiment soft_family reprocessed-gse 13,045 308,639 7
geo_series → file sdl sample:3000@reprocessed-gse 3,000 65,005 8
geo_series → file sdl_lite sample:3000@reprocessed-gse 3,000 81,501 1
geo_series → file sdl_original sample:3000@reprocessed-gse 3,000 162,597 8
geo_series → geo_sample gds_summary reprocessed-gse 13,045 319,023 0
geo_series → geo_sample soft_family reprocessed-gse 13,045 319,023 7
geo_series → geo_series geo_acc_series sample:3000@reprocessed-gse 3,000 1,864 2
geo_series → geo_series geo_soft_family_relations sample:3000@reprocessed-gse 3,000 1,864 2
geo_series → run elink_gds_sra reprocessed-gse 13,045 463,803 0
geo_series → sample sra_be_runinfo sample:3000@reprocessed-gse 3,000 34,177 0
geo_series → study ena_search_study sample:3000@reprocessed-gse 3,000 2,474 0
geo_series → study gds_esummary_series sample:3000@reprocessed-gse 3,000 748 0
geo_series → study geo_acc_series sample:3000@reprocessed-gse 3,000 748 2
geo_series → study geo_soft_family_relations sample:3000@reprocessed-gse 3,000 748 2
geo_series → study sra_be_runinfo sample:3000@reprocessed-gse 3,000 2,471 0
run → ae_experiment ena_alias results-of:biosample->run:ena_filereport@results-of:ae_exp… 1,547 6 0
run → bioproject ddbj_dblink sample:3000@reprocessed-srr 3,000 1,983 0
run → bioproject ena_filereport sample:3000@reprocessed-srr 3,000 1,983 0
run → bioproject esummary_sra sample:3000@reprocessed-srr 3,000 1,983 0
run → bioproject sra_be_runinfo sample:3000@reprocessed-srr 3,000 1,983 0
run → biosample ena_filereport sample:3000@reprocessed-srr 3,000 2,880 0
run → experiment ena_filereport sample:3000@reprocessed-srr 3,000 2,888 0
run → file ena_fastq sample:3000@reprocessed-srr 3,000 4,466 0
run → file ena_sra sample:3000@reprocessed-srr 3,000 0 0
run → file ena_submitted sample:3000@reprocessed-srr 3,000 601 0
run → file sdl sample:3000@reprocessed-srr 3,000 3,085 0
run → geo_sample ena_alias sample:3000@reprocessed-srr 3,000 2,395 0
run → geo_series ena_filereport_aliases sample:3000@reprocessed-srr 3,000 1,676 0
run → sample ddbj_dblink sample:3000@reprocessed-srr 3,000 2,880 0
run → sample ena_filereport sample:3000@reprocessed-srr 3,000 2,880 0
run → sample esummary_sra sample:3000@reprocessed-srr 3,000 2,880 0
run → sample sra_be_runinfo sample:3000@reprocessed-srr 3,000 2,880 0
run → study ddbj_dblink sample:3000@reprocessed-srr 3,000 1,983 0
run → study ena_filereport sample:3000@reprocessed-srr 3,000 1,983 0
run → study esummary_sra sample:3000@reprocessed-srr 3,000 1,983 0
run → study sra_be_runinfo sample:3000@reprocessed-srr 3,000 1,983 0
sample → ae_experiment ena_filereport_aliases sample:3000@reprocessed-srs 3,000 96 0
sample → bioproject ena_filereport sample:3000@reprocessed-srs 3,000 2,224 0
sample → bioproject ena_search_sample sample:3000@reprocessed-srs 3,000 2,175 0
sample → bioproject esummary_sra sample:3000@reprocessed-srs 3,000 2,224 0
sample → bioproject sra_be_runinfo sample:3000@reprocessed-srs 3,000 2,223 0
sample → biosample biosamples_filter sample:3000@reprocessed-srs 3,000 2,975 0
sample → biosample ddbj_dblink sample:3000@reprocessed-srs 3,000 2,994 0
sample → biosample ena_filereport sample:3000@reprocessed-srs 3,000 2,987 0
sample → biosample ena_search_sample sample:3000@reprocessed-srs 3,000 2,917 0
sample → biosample esummary_sra sample:3000@reprocessed-srs 3,000 2,988 0
sample → biosample sra_be_runinfo sample:3000@reprocessed-srs 3,000 2,986 0
sample → experiment ddbj_dblink sample:3000@reprocessed-srs 3,000 4,448 0
sample → experiment ena_filereport sample:3000@reprocessed-srs 3,000 4,448 0
sample → experiment esummary_sra sample:3000@reprocessed-srs 3,000 4,449 0
sample → experiment sra_be_runinfo sample:3000@reprocessed-srs 3,000 4,445 0
sample → file ena_filereport_bam sample:3000@reprocessed-srs 3,000 1,308 0
sample → file ena_filereport_fastq sample:3000@reprocessed-srs 3,000 12,097 0
sample → file ena_filereport_submitted sample:3000@reprocessed-srs 3,000 3,670 0
sample → file sdl sample:3000@reprocessed-srs 3,000 9,166 0
sample → file sdl_lite sample:3000@reprocessed-srs 3,000 8,224 0
sample → file sdl_original sample:3000@reprocessed-srs 3,000 22,371 0
sample → geo_sample ena_filereport_aliases sample:3000@reprocessed-srs 3,000 2,342 0
sample → geo_sample sra_be_runinfo sample:3000@reprocessed-srs 3,000 2,326 0
sample → geo_series ena_filereport_aliases sample:3000@reprocessed-srs 3,000 1,810 0
sample → run ena_filereport sample:3000@reprocessed-srs 3,000 8,359 0
sample → study ddbj_dblink sample:3000@reprocessed-srs 3,000 2,224 0
sample → study ena_filereport sample:3000@reprocessed-srs 3,000 2,224 0
sample → study esummary_sra sample:3000@reprocessed-srs 3,000 2,224 0
sample → study sra_be_runinfo sample:3000@reprocessed-srs 3,000 2,223 0
study → ae_experiment biostudies_search sample:3000@results-of:bioproject->study:ena_filereport@re… 3,000 101 0
study → bioproject ena_filereport sample:3000@results-of:bioproject->study:ena_filereport@re… 3,000 2,999 0
study → biosample ena_filereport sample:3000@results-of:bioproject->study:ena_filereport@re… 3,000 136,864 0
study → biosample esummary_sra sample:3000@results-of:bioproject->study:ena_filereport@re… 3,000 136,868 0
study → biosample sra_be_runinfo sample:3000@results-of:bioproject->study:ena_filereport@re… 3,000 136,868 0
study → biostudy biostudies_search_all sample:3000@results-of:bioproject->study:ena_filereport@re… 3,000 34 0
study → experiment ddbj_dblink sample:3000@results-of:bioproject->study:ena_filereport@re… 3,000 149,038 0
study → experiment ena_filereport sample:3000@results-of:bioproject->study:ena_filereport@re… 3,000 149,034 0
study → experiment esummary_sra sample:3000@results-of:bioproject->study:ena_filereport@re… 3,000 149,038 0
study → experiment sra_be_runinfo sample:3000@results-of:bioproject->study:ena_filereport@re… 3,000 149,038 0
study → file ena_filereport_bam sample:3000@results-of:bioproject->study:ena_filereport@re… 3,000 2,100 0
study → file ena_filereport_fastq sample:3000@results-of:bioproject->study:ena_filereport@re… 3,000 353,471 0
study → file ena_filereport_submitted sample:3000@results-of:bioproject->study:ena_filereport@re… 3,000 76,983 0
study → geo_sample ena_filereport_aliases sample:3000@results-of:bioproject->study:ena_filereport@re… 3,000 50,949 0
study → geo_sample sra_be_runinfo sample:3000@results-of:bioproject->study:ena_filereport@re… 3,000 50,834 0
study → geo_series ena_filereport_aliases sample:3000@results-of:bioproject->study:ena_filereport@re… 3,000 2,498 0
study → geo_series ena_search_study sample:3000@results-of:bioproject->study:ena_filereport@re… 3,000 2,495 0
study → run ena_filereport sample:3000@results-of:bioproject->study:ena_filereport@re… 3,000 205,175 0
study → sample ddbj_dblink sample:3000@results-of:bioproject->study:ena_filereport@re… 3,000 136,868 0
study → sample ena_filereport sample:3000@results-of:bioproject->study:ena_filereport@re… 3,000 136,864 0
study → sample esummary_sra sample:3000@results-of:bioproject->study:ena_filereport@re… 3,000 136,868 0
study → sample sra_be_runinfo sample:3000@results-of:bioproject->study:ena_filereport@re… 3,000 136,868 0

What the failures are

Every non-zero Failed figure in the table falls into one of two groups, and only the first is an archive refusing an accession or a file that no longer exists:

  • Accessions or files that are gone. The 7 GEO series whose SOFT family file 404s, GSE207991 among them, which is private; the 5 ArrayExpress studies whose IDF is a genuine 404 while the study record and the search index still carry them; the 3 GEO samples whose acc.cgi record cannot be fetched; the 11 studies whose SDRF 404s on both SDRF routes, two of which register no files at all and nine E-GEOD imports whose IDF exists without one (the SDRF census); and, by manual triage of a sample rather than of all of them, most of the 1,078–1,079 BioProject → GEO series failures, which are re-created, withdrawn or private projects (the triage).
  • NCBI routes failing on the request. None left. The four NCBI BioProject → run routes failed 14 to 33 projects in the 2026-05 scripts. Re-censused through the harness on 2026-10-24 to 26, every failure was a transport error that answered on retry, and none remains (the re-survey).

Client-side losses do not appear in the table, because each one found was fixed and its route re-run: 39 series lost to a UID list too long for a URL (that route now fails on nothing), and the 330 BioProjects an unpaged ESummary call failed in the 2026-05 script, which fail on nothing through the harness.