Skip to content

Fix sparse LongTable assay indexing#185

Open
mtran-code wants to merge 2 commits into
develfrom
feat/sparse-longtable-index
Open

Fix sparse LongTable assay indexing#185
mtran-code wants to merge 2 commits into
develfrom
feat/sparse-longtable-index

Conversation

@mtran-code

Copy link
Copy Markdown
Contributor

Updates LongTable() construction so assay indexing is built from observed assay rows instead of allocating a dense rowData x colData Cartesian product. It also preserves assay-specific keys, such as per-dose indices, so repeated observations for the same row/column pair remain recoverable through LongTable accessors.

Why

The previous constructor eagerly expanded every row/column combination before joining assays. For sparse treatment-response datasets, this can create extremely large temporary indices even when only a small fraction of row/column pairs have assay data.

The constructor also reduced assayIDs to only row and column identifiers, which dropped assay-specific identifiers needed to distinguish repeated measurements.

Changes

  • Build assayIndex from observed assay records.
  • Preserve assay-specific keys after row and column IDs in assayKeys.
  • Keep assay-specific key columns in stored assay tables.
  • Avoid duplicated key/value columns in assayCols().
  • Add tests covering:
    • sparse assay index construction
    • assay-specific key preservation
    • summary assay expansion over observed keys

@coderabbitai

coderabbitai Bot commented Jun 24, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 124eb736-89a9-4353-8113-8277a46db9f2

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/sparse-longtable-index

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@mtran-code mtran-code marked this pull request as ready for review June 24, 2026 13:37
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