2.52 GB
4 files
Updated 9 days ago
Name
Size
Acinonyx_jubatus
README.md2.08 kB
xet
juicebox_poc.html1.99 kB
xet
test_ranges.py5.79 kB
xet
README.md

DNA Zoo × Hugging Face Buckets prototype

This prototype serves DNA Zoo's current cheetah Hi-C contact map from a public Hugging Face Storage Bucket and tests S3-style random byte access.

Public object

Test 1: verify scattered ranges byte-for-byte

Requires Python 3 and curl; no Python packages are needed:

python3 test_ranges.py

The script requests seven deterministic 64 KiB ranges from both Wasabi and Hugging Face, including the first and last 64 KiB. It requires HTTP 206, validates Content-Range, checks browser CORS for https://www.dnazoo.org, and compares every returned byte.

To increase the sample count:

python3 test_ranges.py --samples 20

Test 2: use the file in Juicebox.js

Open the hosted demo directly:

https://huggingface.co/buckets/abidlabs/dnazoo-poc/resolve/juicebox_poc.html

Alternatively, run it locally from this directory:

python3 -m http.server 8000

Then open http://localhost:8000/juicebox_poc.html. In either version, pan and zoom around the contact map. In browser developer tools, filter Network for aciJub1.hic; reads should resolve to the HF CDN as 206 Partial Content responses rather than downloading the full 2.52 GB object.

The HTML uses the public juicebox.js@2.4.8 build and requires no HF token or Xet-aware client.

One-request smoke test

curl -L \
  -H 'Origin: https://www.dnazoo.org' \
  -H 'Range: bytes=123456789-123522324' \
  -D - \
  -o range.bin \
  'https://huggingface.co/buckets/abidlabs/dnazoo-poc/resolve/Acinonyx_jubatus/aciJub1.hic'

Expected final response headers include:

HTTP/2 206
accept-ranges: bytes
content-range: bytes 123456789-123522324/2524603208
content-length: 65536
access-control-allow-origin: *
Total size
2.52 GB
Files
4
Last updated
Aug 21
Pre-warmed CDN
US EU US EU

Contributors