Read OmicIDX Parquet from DuckDB, Python, or R over anonymous HTTPS.
Every OmicIDX table is a Parquet file under https://omicidx.cancerdatasci.org/data/. Anything that reads Parquet over HTTPS can use it. You don’t need an account or a key. There’s no REST API.
DuckDB:Query with DuckDB covers the published database, every table, and example queries.
R: the omicidxr package connects in one line and replaces SRAdb and GEOmetadb.
In the browser: the playground runs SQL with DuckDB-Wasm, nothing to install.
Pinning and citing:Versions and citation explains latest/, dated folders, and the monthly HuggingFace releases. Releases lists what’s available.
The recipes below use latest/ and ran when this page was built. Swap in v{YYYY-MM-DD}/ to pin a date.
Python
With polars, scan_parquet reads lazily, so only the columns and row groups a query needs are fetched. To try it without a project, run uv run --with polars python.
With DuckDB, attach the published database and get a polars frame back. .pl() needs pyarrow installed, so run it with uv run --with duckdb --with polars --with pyarrow python:
import duckdbcon = duckdb.connect()con.sql("ATTACH 'https://omicidx.cancerdatasci.org/data/latest/omicidx.duckdb' AS omicidx (READ_ONLY)")gsms = con.sql("SELECT gsm FROM omicidx.geometadb.gse_gsm WHERE gse = 'GSE118849'").pl()gsms.head()
shape: (5, 1)
gsm
str
"GSM3349112"
"GSM3349115"
"GSM3349119"
"GSM3349120"
"GSM3349118"
R
The omicidxr package connects for you, pins a version, and has SRAdb- and GEOmetadb-style helpers:
dbExecute(con, "ATTACH 'https://omicidx.cancerdatasci.org/data/latest/omicidx.duckdb' AS omicidx (READ_ONLY)")
#> [1] 0
gsms <-dbGetQuery(con, "SELECT gsm FROM omicidx.geometadb.gse_gsm WHERE gse = 'GSE118849'")# Any table, without the databasedbGetQuery(con, " SELECT count(*) AS n FROM read_parquet('https://omicidx.cancerdatasci.org/data/latest/sra_studies.parquet')")
n
775372
dbDisconnect(con, shutdown =TRUE)
Command line
# Row counts for every published tablecurl-s https://omicidx.cancerdatasci.org/data/latest/manifest.json# One table, downloadedcurl-O https://omicidx.cancerdatasci.org/data/latest/geometadb/gse.parquet