Skip to content

feat(solo): optional CellRanger v3 .h5 count matrices via hdf5-pure - #275

Open
BenjaminDEMAILLE wants to merge 2 commits into
mainfrom
feat/solo-h5-output
Open

BenjaminDEMAILLE wants to merge 2 commits into
mainfrom
feat/solo-h5-output

Conversation

@BenjaminDEMAILLE

Copy link
Copy Markdown
Contributor

Refs #270 (the issue is "for consideration"; this is a concrete, conservative proposal).

  • New hdf5-out feature (hdf5-pure 0.47, pure Rust, MIT/Apache-2.0). Default build unchanged.
  • --soloOutH5 yes|no (default no); yes without the feature errors clearly.
  • Writes raw_feature_bc_matrix.h5 and, when present, filtered_feature_bc_matrix.h5 per Gene/GeneFull feature (SmartSeq: Gene), in CellRanger v3 layout. Verified with h5py/h5ls.
  • Built by reading back the MatrixMarket output, so src/solo/count.rs is untouched and counts equal the .mtx. Only a trivial conflict with feat: output anndata #237 expected in src/lib.rs.
  • Not converted: SJ, Velocyto, UniqueAndMult (no slot in CellRanger's format). features/genome is empty.
  • CI: clippy and h5 tests also run with the feature.

Open questions: is there a consumer for .h5 (scanpy/Seurat/CellBender read the MTX directory), and should this become a --soloOutputFormat value once #237 lands?

Tests: fmt, clippy 0 warnings with and without features, cargo test both ways, 5 unit + 3 integration tests.

🤖 Generated with Claude Code

New hdf5-out feature (pure-Rust hdf5-pure) and --soloOutH5 yes|no
(default no). Writes raw_feature_bc_matrix.h5 and, when present,
filtered_feature_bc_matrix.h5 per Gene/GeneFull feature, converted from
the MatrixMarket output. CI lints and tests the feature.

Refs #270

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Cargo.toml: main's noodles-bgzf 0.51 plus this branch's optional hdf5-pure and its feature. tests/alignment_features.rs: main's file with this branch's soloOutH5 tests re-added. src/solo/h5.rs: assert_eq! on the empty dataset, for clippy's assert_is_empty lint.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch has not been deployed

No deployments
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