Introduce AssayCode and the DotMatch 0.2.0 assay platform - #54
Draft
dnncha wants to merge 93 commits into
Draft
Conversation
dnncha
marked this pull request as ready for review
July 13, 2026 14:14
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 37dfba7c0d
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
dnncha
marked this pull request as draft
July 14, 2026 14:21
Owner
Author
|
Applied in commit
Local evidence: 549 PR54 tests, release/readiness and packaging gates, wheel and sdist clean-install identity checks, and both Bioconda recipe validators pass. The new hosted CI/CodeQL/workflow-ecosystem runs are still in progress; the unrelated Vercel status remains failing. |
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Outcome
This draft introduces AssayCode as the assay-level platform while preserving
DotMatch as the matching engine, Python/Bioconda distribution, native ABI,
DOI, and scientific citation. This is an additive identity, not a destructive
package rename.
Implemented
assaycodeCLI and Python namespace alongside all existingdotmatchinterfaces.anchors or fixed windows, jitter/orientation, target-library safety analysis,
allowed combinations, input fingerprints, deterministic strategy selection,
and portable compiled plans.
fitting, allowed-tuple joint decoding, calibration diagnostics, empirical FDR
threshold selection, and strict smoothed priors.
ambiguity, no-calls, confusion, and false-discovery rate under declared
substitution-error models.
assaycode watchwith Wilson intervalsand machine-readable on-track/review/insufficient-data decisions.
auditable assay workflows, with explicit supported/experimental boundaries.
while keeping compatibility language visible.
assaycodeBioconda metapackage pinned to the matchingdotmatchengine release, preserving old installs while creating the newflagship package coordinate.
and emits ready-to-copy
recipes/dotmatch/andrecipes/assaycode/.command identities, and Python engine identity.
Scientific boundary
The deterministic DotMatch assignment paths remain authoritative. AssayScript
v2 execution, calibrated decoding, simulation, and sequential monitoring are
labeled experimental until their dedicated public-data correctness,
calibration, and throughput gates pass. No universal assay runtime, sequencing
platform model, or superiority claim is made.
Verification
Passing on an independent Linux checkout:
assaycode simulateJSON smoke testGitHub Actions CI, workflow-ecosystem, and CodeQL remain the external hosted
gates. The PR remains draft and the release record remains
not_released.Bioconda handoff
The distribution strategy is intentionally dual-coordinate:
dotmatch: engine, native artifacts, compatibility CLI, and uninterruptedupgrade path.
assaycode: flagship noarch metapackage pinned to the matching DotMatchrelease.
A Bioconda 0.2.0 PR still requires the immutable
v0.2.0archive. After thetag,
scripts/prepare_bioconda_handoff.pyinserts its real SHA-256 and emitsboth upstream recipes for a joint submission. No placeholder-checksum PR will
be presented as releasable.