Versions and citation
bioc-on-ice publishes three kinds of versions. They hold the same tables in the same layout. They differ in how long they last and how you use them (ADR-0016). Releases lists the ones available now.
| Version | Where | Changes? | Kept | Use it by |
|---|---|---|---|---|
latest/ |
https://data.bioconice.cancerdatasci.org/latest/ |
with each weekly release | always the newest | querying in place |
| Dated | https://data.bioconice.cancerdatasci.org/v{YYYY-MM-DD}/ |
never | the 4 newest, about four weeks | querying in place |
| Monthly | Hugging Face dataset seandavis/bioconice, git tag YYYY-MM |
never | permanently | downloading, then querying locally |
latest/ and the dated folders are served for querying in place: DuckDB ATTACH, read_parquet, the playground and the Explorer all read them over HTTPS. The monthly releases are the long-term archive and the version to cite. Download one, then query it locally.
Releases are still made by hand, and dated folders are kept 30 days. The weekly schedule, keep-4 retention and the monthly Hugging Face archive start once a release passes the release gate (#214). Until then there are no monthly releases.
Which one to use
- Exploring, or building something that should track the sources: use
latest/. - An analysis you’ll rerun in the next few weeks: pin a dated folder.
- A paper, a shared pipeline, a Bioconductor release, or anything you’ll cite: download a monthly release.
Pin a dated folder
Replace latest/ with a date. Each dated folder’s bioconice.duckdb reads its own Parquet files, so the views stay pinned too:
ATTACH 'https://data.bioconice.cancerdatasci.org/v2026-10-31/bioconice.duckdb' AS bioc (READ_ONLY);To see which dates are available, open Releases or the folder listing. Older folders are deleted, so use a monthly release for anything longer than a few weeks.
Use a monthly release
Once a month, the first weekly release that passed the gate is copied to the Hugging Face dataset seandavis/bioconice and tagged with its month (e.g. 2026-11). Files sit at the repository root in the same layout as R2 (annotation/gene.parquet, …).
Download the release with the hf command-line tool (in huggingface_hub; uvx --from huggingface_hub hf runs it without installing), then query the local files:
hf download seandavis/bioconice --repo-type dataset --revision 2026-11 \
--local-dir bioconice-2026-11
duckdb -c "SELECT count(*) FROM 'bioconice-2026-11/annotation/gene.parquet'"--include 'annotation/*' downloads only some of the files. A Hugging Face token (hf auth login) raises the download rate limits.
Don’t query the archive in place with hf:// paths. Hugging Face limits anonymous requests, one query can make hundreds, and repeated queries soon fail with HTTP 429. For in-place queries use latest/ or a dated folder.
Cite bioc-on-ice
Cite the monthly release you used by its tag (e.g. seandavis/bioconice@2026-11), and its DOI if the dataset page for that tag shows one.
If you used a dated folder instead, record its URL and the release and git_sha from its manifest.json. The folder will be gone within weeks, so a monthly release is the better thing to cite. Each table also names the upstream source and version it came from; cite those sources as they ask (for example, BugSigDB is CC BY 4.0).
The manifest
Every version has a manifest.json:
curl -s https://data.bioconice.cancerdatasci.org/latest/manifest.jsonDuckDB reads it directly. The provenance fields of the current latest/:
SELECT release, published_at, git_sha
FROM read_json('https://data.bioconice.cancerdatasci.org/latest/manifest.json');And the row count of each published table:
SELECT t.schema, t."table", t.row_count
FROM read_json('https://data.bioconice.cancerdatasci.org/latest/manifest.json'),
unnest(tables) AS u(t)
ORDER BY t.schema, t."table";releaseis the release date andgit_shathe commit of the pipeline code that built it.provenancelists each upstream source with its version, URL, retrieval time and row count.tablesgives each table’spath,row_count,bytes,sha256, comment and column docs.