File formats¶
What U-Chrom reads and writes, in one table; the chapters show each in use.
Readers and writers¶
Data |
Read |
Write |
|---|---|---|
|
|
|
4DN FISH Omics Format, chromatin tracing (FOF-CT) + cell and RNA tables |
|
|
PyHiM ECSV traces |
|
— |
Bintu et al. 2018 tracing CSV |
|
— |
DNA seqFISH+ multi-omics (Takei et al. 2025) |
|
— |
contacts: |
|
|
contact maps: |
|
— |
per-cell maps ( |
linked: |
embedded copies: |
structures: |
|
|
structures as PDB |
— |
|
legacy |
convert once: |
— |
Particles: save_particles / read_particles¶
The reconstruction modules can write a particle table through uchrom.io.save_particles(df, path):
a path ending in .csv writes a plain CSV, .chromdata.zarr / .cdz a ChromData store (other
suffixes raise). read_particles picks the format by the suffix, so code that reads structures does
not care which one is on disk.
from uchrom.io import save_particles
save_particles(df, "out.chromdata.zarr") # ChromData
save_particles(df, "out.csv") # plain CSV
Store versions¶
cd.write(path) / ChromData.read(path) pick the container from the path: .chromdata.zarr (Zarr v3 +
Parquet) or .cdz (the same store in one zip file). The HDF5 .h5cd container of format 1.x / 2.0 is
no longer read or written; convert such files once with python -m uchrom.io.upgrade old.h5cd
(→ old.chromdata.zarr) or uchrom.io.upgrade_h5cd(src, dst).
Every store records two attributes in its root zarr.json:
Attribute |
Example |
|---|---|
|
|
|
the version of the package that wrote it |
Reading: the same MAJOR is read (a higher MINOR warns; unknown fields are ignored); another MAJOR raises a
ValueError naming the converter. Formats 2.0–2.2 are read as they are.