Skip to content

Releases: tanaylab/dafr

dafr 0.1.0 — First public release

23 Apr 20:37

Choose a tag to compare

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 interopDafAnnData R6 facade + h5ad_as_daf / daf_as_h5ad for round-trip I/O.
  • Contractscreate_contract / contract_scalar / contract_vector / contract_matrix / tensor_contract / axis_contract / verify_contract for computation validation.

Installation

remotes::install_github("tanaylab/dafr")

No Julia install required — pure R + C++.

Known gaps

  • h5df HDF5-backed Daf store (post-0.1.0).
  • Sparse-matrix h5ad encoding, categorical obs/var columns, nested uns groups — 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.