Repository navigation
loom: read Baysor's and R LoomExperiment's looms - #59
Conversation
Found converting 29 real looms from cellgeni tickets: - Baysor writes some looms as /matrix alone, with no attribute groups; in a file named .loom that is now read as a loom. - Baysor names genes in a 'Name' row attribute, now a fallback for gene symbols. - R's LoomExperiment writes LOOM_SPEC_VERSION as a one-element array (summaries showed "['2.0.1']") and graph vertices as floats, now checked to be whole numbers. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
There was a problem hiding this comment.
Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.
An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Test Results (py3.13)1 539 tests 1 539 ✅ 3m 48s ⏱️ Results for commit c279f07. |
Test Results (py3.12)1 539 tests 1 539 ✅ 3m 54s ⏱️ Results for commit c279f07. |
Follow-up to #57 (#26), from converting 29 real looms found across cellgeni tickets: 22 Baysor segmentation counts (Xenium), 3 looms written through anndata/loompy, 3 R package examples (LoomExperiment, SummarizedExperiment), and a 2.3 GB Baysor
ncvs.loom.All 28 that were recognised already matched
anndata.read_loomand exported to looms loompy validates. Fixed:.loomholding/matrixalone (Baysor'sncvs.loom, no attribute groups) was not recognised. In a file named.loomit now reads as a loom; the same content under another name is still refused. The 7,979,604 x 8,729 file converted in 10.5 min at a 211 MB Python-level peak; random blocks match the loom.Name: now a fallback for gene symbols, so its looms no longer get numbered genes.LOOM_SPEC_VERSIONas a one-element array (the summary showed['2.0.1']) and graph vertices as floats (loompy refuses the file); vertices are now checked to be whole numbers rather than truncated.Each has a regression test in
tests/test_loom.py.🤖 Generated with Claude Code