Releases: tanaylab/dafr
Releases · tanaylab/dafr
dafr 0.1.0 — First public release
First public release of dafr — a native R + C++ port of Julia's DataAxesFormats.jl.
Headline features
- Full Daf data model — scalars, per-axis vectors, per-axis-pair matrices, axis entries, cache invalidation, disk persistence.
- Query DSL — string form (
daf["@ cell : donor"]) and pipe-chain builders (daf[Axis("cell") |> LookupVector("donor")]). 53 exported builders across 5 categories. - mmap-backed reads — vectors and sparse matrices from a read-only FilesDaf are mmap'd with zero-copy access.
- OpenMP-parallel kernels — Sum, Mean, Var, Mode, Quantile, GeoMean dispatch to parallel C++ for large inputs.
- AnnData interop —
DafAnnDataR6 facade +h5ad_as_daf/daf_as_h5adfor round-trip I/O. - Contracts —
create_contract/contract_scalar/contract_vector/contract_matrix/tensor_contract/axis_contract/verify_contractfor computation validation.
Installation
remotes::install_github("tanaylab/dafr")No Julia install required — pure R + C++.
Known gaps
h5dfHDF5-backed Daf store (post-0.1.0).- Sparse-matrix h5ad encoding, categorical obs/var columns, nested
unsgroups — skipped via the unsupported-feature handler. - CRAN submission pending installed-size burn-down.
See NEWS.md for the full release notes and list of breaking changes vs. the Julia-facade wrapper.