Data sources
Where each OmicIDX table comes from, how often it refreshes, and which public file it lands in.
Each source is extracted on its own schedule. A nightly build then publishes whatever has been extracted so far, so one slow source never holds up the rest.
| Source | Upstream | Extract cadence | Public files |
|---|---|---|---|
| NCBI SRA | SRA mirroring XML, plus SRA_Accessions.tab |
daily | sra_studies, sra_samples, sra_experiments, sra_runs, sra_accessions; sradb/* |
| NCBI GEO | GEO SOFT records via E-utilities and acc.cgi, one calendar month at a time |
daily (current month re-fetched) | geo_series, geo_samples, geo_platforms, geo_series_with_rnaseq_counts; geometadb/* |
| NCBI BioSample | biosample_set.xml.gz full dump |
daily | biosamples |
| NCBI BioProject | bioproject.xml full dump |
daily | bioprojects |
| NCBI PubMed | PubMed baseline and update files | hourly check for new files | pubmed_articles |
| NCBI Taxonomy | taxdump.tar.gz |
weekly | none: used to resolve organism names |
Every table is one Parquet file: <name>.parquet at the top of a release, or sradb/<name>.parquet / geometadb/<name>.parquet for the compatibility tables.
Notes per source
- SRA: NCBI publishes full and incremental mirror files. OmicIDX loads them in order and keeps the latest version of each record.
sra_accessionsis NCBI’s accession table (status, dates, relationships for every SRA accession). - GEO: records are fetched one month at a time, by last-update date. The current month is re-fetched every night because it keeps growing.
geo_series_with_rnaseq_countslists the series for which NCBI provides computed RNA-seq count matrices. - BioSample and BioProject: NCBI publishes these as single full dumps, so each night replaces the previous load.
- PubMed: the annual baseline plus the daily update files. New files are picked up within the hour and published in the next nightly build.
pubmed_articles.parquetis large (about 37 GB), so filter it in place rather than downloading it. - Organism names: NCBI Taxonomy renames organisms, and GEO updates its records to match without changing their last-update date. Organism names in
geo_series,geo_samples,sra_samples,biosamplesand the matchingsradb/andgeometadb/tables are therefore the current NCBI Taxonomy scientific name for the record’s taxonomy ID (merged IDs are followed). The name as originally submitted is kept in a matching*_as_submittedcolumn (for examplesample_organism_as_submitted). If a taxonomy ID is unknown, the submitted name is used.geo_platformshas no taxonomy ID, so platform organisms stay as submitted. - EBI BioSamples: extracted daily into the internal lake (by update date, from 2021-01-01), but not published yet.
Compatibility tables
sradb/(study,sample,experiment,run,sra,run_with_study,rnaseq_runs,wgs_runs,human_runs,mouse_runs): SRAdb-style names and columns. Legacy columns that are always empty are dropped. Modern cross-references (BioProject, GEO, PubMed) are added.geometadb/(gse,gsm,gpl,gse_gsm,gse_gpl,geo_supplemental_files): GEOmetadb-style tables.
Row counts for every published table are in each release’s manifest.json.