Skip to content

Record what each backend holds in its metadata - #7

Merged
YPARK merged 1 commit into
mainfrom
ypp/backend-metadata
Oct 1, 2026
Merged

YPARK merged 1 commit into
mainfrom
ypp/backend-metadata

Conversation

@YPARK

@YPARK YPARK commented Oct 1, 2026

Copy link
Copy Markdown
Contributor

Every backend faba writes now records which batch it holds and which command wrote it, using the backend metadata added in data-beans 0.6.23. Readers such as senna can take the sample id from the file itself instead of parsing faba's file names.

Metadata written

key value
sample the batch name
producer faba {command}: count, dartseq, atoi, apa, snp, depth
content gene_count from faba count (rows {gene}/count/{spliced|unspliced})
  • ToBackend::to_backend takes the metadata, so every writer states it.
  • backend_meta(command, batch) builds the common part.
  • The editing pipelines name their command from the modification type.
  • QC's filtered matrices keep the input's metadata, through data-beans' column selection.
  • The gene-level repool copies sample and producer and drops content, since its rows change.
  • Row reorders and squeezes in data-beans keep the metadata too.

CI

  • clippy runs with and without --features hdf5.
  • The HDF5 job runs cargo test --features hdf5 instead of cargo check. clippy with --all-targets --features hdf5 covers compiling every target.

Tests

to_backend writes sample, producer and content as given, and they read back from the stored backend.

Version 0.15.4, with data-beans 0.6.23.

Every backend faba writes now says which batch it holds and which
command wrote it (data-beans 0.6.23 metadata): `sample` is the batch,
`producer` is `faba {command}`. `faba count` also sets `content` to
`gene_count`, its rows being `{gene}/count/{spliced|unspliced}`.
Readers take the sample from here rather than from the file name.

`ToBackend::to_backend` takes the metadata, so no writer can leave it
out. QC keeps the input's metadata through its filtered matrices; the
gene-level repool keeps `sample` and `producer` and drops `content`.

CI now lints and tests with the `hdf5` feature too: clippy runs with
and without it, and the HDF5 job runs the tests instead of only
checking.
@YPARK
YPARK merged commit 59b76f7 into main Oct 1, 2026
6 checks passed
@YPARK
YPARK deleted the ypp/backend-metadata branch October 1, 2026 19:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant