Data model & storage¶
Everything in U-Chrom is a ChromData (package chromdata, also uchrom.ChromData): cells ›
traces › spots, every spot pointing at one locus of a shared locus axis (bins). Coordinates
live in coords, per-spot signals in spot_tracks, per-locus signals in bin_tracks, cell
metadata and embeddings in cells / cellm, called structures in intervals, analysis outputs
with their provenance in results. Contact maps, RNA and other matrices stay in their own files
and are linked per cell — or embedded into the store when it is shared.
A ChromData is saved as a .chromdata.zarr store (Zarr v3 + Parquet; .cdz is the same tree
in one zip file). A store opens backed: only the small tables are read, and a cell, a trace or
a chromosome is read when it is needed — from a local disk or over HTTP from object storage.
chromdata needs only numpy, pandas, zarr and pyarrow; the analysis library and the web browser
build on it.
Task |
API |
|---|---|
build from a spot table / a reconstruction CSV |
|
subset |
|
per-locus vs per-spot data |
|
structures and results |
|
distances on demand |
|
cell positions and outlines |
|
write / read |
|
stream large data |
|
linked modalities |
|
embedded copies (atlas) |
|
catalogs of stores |
|
Tutorials¶
Guides¶
The store layout is specified in the format specification; the API is under chromdata.