Skip to content

feat: Add Diomni v4.2/4.3 file support to QuantStudio Design & Analysis parser#1224

Merged
nathan-stender merged 3 commits into
mainfrom
feat/appbio-quantstudio-diomni-v4-support
Jun 10, 2026
Merged

feat: Add Diomni v4.2/4.3 file support to QuantStudio Design & Analysis parser#1224
nathan-stender merged 3 commits into
mainfrom
feat/appbio-quantstudio-diomni-v4-support

Conversation

@nathan-stender

Copy link
Copy Markdown
Collaborator

Summary

  • Adds support for files exported by Diomni software (v4.2/4.3), which use Primary_result sheet instead of Results, alphanumeric well identifiers (A01 format), separate Software name/Software version header fields, and multicomponent data with partial dye columns
  • Normalizes alphanumeric wells to numeric IDs with a stable sorted mapping across all sheets, preserving well position as a separate column
  • Gracefully handles missing reporter/passive dye columns in multicomponent data instead of raising an error

Test plan

  • New test file: appbio_quantstudio_designandanalysis_Diomni_v4.3_Presence_Absence.xlsx with expected JSON output
  • All 29 parser tests pass (28 existing + 1 new)
  • All 316 discover_vendor tests pass (no sniff conflicts)
  • Lint clean (ruff, black, mypy)

🤖 Generated with Claude Code

…is parser

Adds support for files exported by Diomni software (v4.2/4.3), which differ from
Design & Analysis exports in several ways: Primary_result sheet instead of Results,
alphanumeric well identifiers (A01) instead of numeric, separate Software name/version
header fields, and multicomponent data with partial dye columns.

Changes:
- Rename Primary_result sheet to Results in reader for unified downstream handling
- Normalize alphanumeric well IDs to numeric with stable mapping across all sheets
- Handle separate Software name/version fields in header parsing
- Skip missing dye columns in multicomponent data cube creation
- Update sniff() to also detect Primary_result sheet
- Add Presence/Absence test file from Diomni v4.3 export

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@nathan-stender
nathan-stender requested review from a team and slopez-b as code owners June 10, 2026 15:15
nathan-stender and others added 2 commits June 10, 2026 12:11
Reduce from 384 wells (30k+ rows) to 4 wells covering all task types
(UNKNOWN, NTC, POSITIVE_CONTROL) and both reporters (FAM, ABY).
Anonymize sample IDs, serial numbers, barcode, and file paths.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@nathan-stender
nathan-stender merged commit 27aee9c into main Jun 10, 2026
9 checks passed
@nathan-stender
nathan-stender deleted the feat/appbio-quantstudio-diomni-v4-support branch June 10, 2026 21:45
nathan-stender added a commit that referenced this pull request Jun 10, 2026
### Added

- Add Diomni v4.2/4.3 file support to QuantStudio Design & Analysis
parser (#1224)
- Add Vi-Cell XR single-sample report format support (#1222)
- Add SUPPORTED_DETECTION_MODES to parsers for auto-generated table
(#1219)
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.

2 participants