Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
93 commits
Select commit Hold shift + click to select a range
d33fe29
Implement industry evaluation and CRISPR quickstart
dnncha Jul 13, 2026
3d718c2
Preserve complete native CLI source in release branch
dnncha Jul 13, 2026
164a56d
Restore complete source blob for native CLI
dnncha Jul 13, 2026
37dfba7
Include new review assets in docs navigation
dnncha Jul 13, 2026
0077096
Add AssayCode platform identity
dnncha Jul 14, 2026
fbff021
Add AssayCode platform identity
dnncha Jul 14, 2026
80abda9
Add AssayCode compatibility tests
dnncha Jul 14, 2026
28973ff
Add AssayCode platform guide
dnncha Jul 14, 2026
d6caa9a
Install AssayCode command with DotMatch
dnncha Jul 14, 2026
c967444
Add AssayCode to documentation
dnncha Jul 14, 2026
f38cd06
Position AssayCode as the DotMatch platform
dnncha Jul 14, 2026
9edbdab
Add AssayScript v2 compiler foundation
dnncha Jul 14, 2026
5834b42
Expose AssayScript compilation in AssayCode
dnncha Jul 14, 2026
b17363b
Test AssayScript compiler contracts
dnncha Jul 14, 2026
3e9ee3d
Add calibrated and joint decoding foundation
dnncha Jul 14, 2026
d215c39
Test calibrated and joint decoding
dnncha Jul 14, 2026
6a836fb
Add streaming assay quality monitor
dnncha Jul 14, 2026
ee39e57
Expose streaming AssayCode watch command
dnncha Jul 14, 2026
6d3ef62
Test streaming assay watch decisions
dnncha Jul 14, 2026
7cd3e5c
Test AssayCode in Bioconda recipe
dnncha Jul 14, 2026
7947c04
Rewrite paper around auditable assay compilation
dnncha Jul 14, 2026
5b6ee50
Add assay decoding references
dnncha Jul 14, 2026
1b4e2c5
Document AssayCode compiler and monitoring
dnncha Jul 14, 2026
f813c4b
Record AssayCode experimental evidence boundary
dnncha Jul 14, 2026
087eace
Add AssayCode readiness gate
dnncha Jul 14, 2026
2a57d2b
Gate AssayCode release readiness
dnncha Jul 14, 2026
52449bd
Align AssayCode readiness claim check
dnncha Jul 14, 2026
3dfdfcd
Align rewritten paper with JOSS structure
dnncha Jul 14, 2026
ed89820
Repair and extend Bioconda AssayCode smoke tests
dnncha Jul 14, 2026
b6f7b7c
Prepare AssayCode 0.2.0 release metadata
dnncha Jul 14, 2026
94b092c
Prepare AssayCode 0.2.0 release metadata
dnncha Jul 14, 2026
150dd83
Prepare AssayCode 0.2.0 release metadata
dnncha Jul 14, 2026
5dd8f5d
Prepare AssayCode 0.2.0 release metadata
dnncha Jul 14, 2026
7907c92
Prepare AssayCode 0.2.0 release metadata
dnncha Jul 14, 2026
d95069b
Prepare AssayCode 0.2.0 release metadata
dnncha Jul 14, 2026
309d6f9
Prepare AssayCode 0.2.0 release metadata
dnncha Jul 14, 2026
ed88204
Prepare AssayCode 0.2.0 release metadata
dnncha Jul 14, 2026
c653ab9
Prepare AssayCode 0.2.0 release metadata
dnncha Jul 14, 2026
62c0ce2
Prepare AssayCode 0.2.0 release metadata
dnncha Jul 14, 2026
45ff5ab
Align AssayCode 0.2.0 version
dnncha Jul 14, 2026
c610d0e
Align AssayCode 0.2.0 version
dnncha Jul 14, 2026
ab5ed47
Align AssayCode 0.2.0 version
dnncha Jul 14, 2026
f6c34ed
Prepare 0.2.0 distribution record
dnncha Jul 14, 2026
1ab824e
Align site lockfile with 0.2.0
dnncha Jul 14, 2026
465915a
Document AssayCode 0.2.0 changes
dnncha Jul 14, 2026
0c3cf75
Correct 0.2.0 packaging and Bioconda handoff
dnncha Jul 14, 2026
bca13ab
Align preferred citation with rewritten paper
dnncha Jul 14, 2026
015622e
Add calibrated decoding file interfaces
dnncha Jul 14, 2026
730665c
Expose calibrated AssayCode decoding workflow
dnncha Jul 14, 2026
55ba6dc
Test calibrated decoding CLI workflow
dnncha Jul 14, 2026
357d8cc
Gate calibrated AssayCode CLI workflow
dnncha Jul 14, 2026
f5aed18
Document calibrated AssayCode evaluation CLI
dnncha Jul 14, 2026
a080b44
Add deterministic assay panel simulation
dnncha Jul 14, 2026
1bd05fc
Test deterministic assay simulation
dnncha Jul 14, 2026
9aee764
Expose assay panel simulation in AssayCode CLI
dnncha Jul 14, 2026
48692d4
Exercise AssayCode simulation CLI
dnncha Jul 14, 2026
3cdbab6
Enforce integer calibration counts
dnncha Jul 14, 2026
af8ce2a
Test strict abundance prior counts
dnncha Jul 14, 2026
dc76f33
Document experimental assay simulation
dnncha Jul 14, 2026
fd26c5f
Record AssayCode digital twin
dnncha Jul 14, 2026
df6244f
Gate assay simulation assets
dnncha Jul 14, 2026
97072a2
Describe experimental assay digital twin
dnncha Jul 14, 2026
47b87d9
Bound assay simulation scientific claims
dnncha Jul 14, 2026
ca7ec3c
Rebrand public site around AssayCode
dnncha Jul 14, 2026
cdef313
Update AssayCode site metadata
dnncha Jul 14, 2026
c2bd818
Gate AssayCode site positioning
dnncha Jul 14, 2026
81e9412
Register AssayCode and AssayScript branding
dnncha Jul 14, 2026
ea1da24
Describe AssayCode distribution identity
dnncha Jul 14, 2026
91edd03
Lead README with AssayCode platform
dnncha Jul 14, 2026
3f11fb2
Keep compatibility wording machine-checkable
dnncha Jul 14, 2026
85022ba
Align posterior assertion with selective threshold
dnncha Jul 14, 2026
0b1c9c3
Smoke test the 0.2.0 container version
dnncha Jul 14, 2026
857445c
Distinguish current and future BioContainers tags
dnncha Jul 14, 2026
0b798ee
Repair and extend AssayCode readiness gate
dnncha Jul 14, 2026
2b78a6c
Preserve package metadata contract
dnncha Jul 14, 2026
583d1b9
Add AssayCode dual-package Bioconda handoff
dnncha Jul 14, 2026
5260f8f
Add AssayCode dual-package Bioconda handoff
dnncha Jul 14, 2026
d975c82
Add AssayCode dual-package Bioconda handoff
dnncha Jul 14, 2026
8f8ad30
Add AssayCode dual-package Bioconda handoff
dnncha Jul 14, 2026
daf006b
Fix Bioconda handoff regex parsing
dnncha Jul 14, 2026
0267585
Fix Bioconda handoff regex parsing
dnncha Jul 14, 2026
b2920c3
Gate both Bioconda package coordinates
dnncha Jul 14, 2026
ff3029d
Require AssayCode Bioconda handoff assets
dnncha Jul 14, 2026
5b73b28
Document dual-package Bioconda rollout
dnncha Jul 14, 2026
f9ac0e8
Record dual-package Bioconda strategy
dnncha Jul 14, 2026
f4ac702
Track AssayCode Bioconda coordinate
dnncha Jul 14, 2026
cc60000
Verify both Bioconda package coordinates
dnncha Jul 14, 2026
d5f9a10
Test AssayCode distribution verification
dnncha Jul 14, 2026
2c16a69
Explain dual-package install strategy
dnncha Jul 14, 2026
b165105
Use portable Bioconda handoff example path
dnncha Jul 14, 2026
eee12d5
Align 0.2 citation discovery metadata
dnncha Jul 14, 2026
989365c
Harden quickstart and release version gates
dnncha Jul 15, 2026
dfc6358
Repair source blobs in hosted PR branch
dnncha Jul 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
62 changes: 62 additions & 0 deletions .github/ISSUE_TEMPLATE/pilot_feedback.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
name: Evaluation feedback
description: Record scoped feedback from a DotMatch technical evaluation.
title: "[Evaluation]: "
labels: ["evaluation", "feedback", "needs-triage"]
body:
- type: dropdown
id: assay_context
attributes:
label: Assay Context
options:
- CRISPR guide counting
- Inline barcode demultiplexing
- Feature barcode assignment
- Perturb-seq guide capture
- Amplicon or panel target assignment
- Oligo or adapter-prefix assignment
- Other known-target workflow
validations:
required: true
- type: textarea
id: install_path
attributes:
label: Install Path
description: State PyPI, Bioconda, source checkout, container, or workflow wrapper version.
validations:
required: true
- type: textarea
id: inputs
attributes:
label: Inputs
description: Describe the target table and read window without sharing private raw data.
validations:
required: true
- type: checkboxes
id: outputs_reviewed
attributes:
label: Outputs Reviewed
options:
- label: sample_qc.tsv
- label: summary.json
- label: assignments.tsv
- label: top_unmatched.tsv
- label: HTML report
- label: methods.md / CITATION.bib / software_versions.yml
- type: textarea
id: findings
attributes:
label: Findings
description: What became clearer or blocked the evaluation?
validations:
required: true
- type: dropdown
id: public_use_permission
attributes:
label: Public Use Permission
options:
- No public use record approved
- Anonymized summary approved
- Public project name approved
- Approved public use record text and URL
validations:
required: true
54 changes: 54 additions & 0 deletions .github/ISSUE_TEMPLATE/workflow_integration.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: Workflow integration review
description: Propose or review an external DotMatch workflow integration.
title: "[Integration]: "
labels: ["workflow", "integration", "needs-triage"]
body:
- type: dropdown
id: workflow_manager
attributes:
label: Workflow Manager
options:
- nf-core / Nextflow
- MultiQC
- Galaxy / IUC
- Snakemake
- bio.tools
- Institutional workflow
validations:
required: true
- type: textarea
id: workflow_context
attributes:
label: Workflow Context
description: Which known-target assay workflow would this integration support?
validations:
required: true
- type: textarea
id: source_assets
attributes:
label: Source Assets
description: Link the local module, wrapper, fixture, parser, schema, or registry draft.
validations:
required: true
- type: textarea
id: expected_outputs
attributes:
label: Expected Outputs
description: List the TSV, JSON, FASTQ, HTML, MultiQC, or citation artifacts the integration should expose.
validations:
required: true
- type: textarea
id: review_evidence
attributes:
label: Review Evidence
description: Include commands, CI links, fixture paths, lint output, or external review links.
render: bash
validations:
required: false
- type: textarea
id: validated_scope
attributes:
label: Validated Scope
description: State what the integration supports and what it must not imply.
validations:
required: true
6 changes: 6 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,12 @@
- [ ] Large generated datasets or scratch outputs are not committed.
- [ ] No real FASTQ/BAM/BCL/customer assay data is committed; examples are synthetic, minimized, or public and scoped.

## Public Language and Reviewer Readiness

- [ ] This PR does not imply accepted external workflow integration.
- [ ] Broad replacement wording or launch copy was removed or avoided.
- [ ] Public-facing claims link to a checked artifact, gate, or scoped status record.

## Acceptance Criteria

-
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -113,10 +113,10 @@ jobs:
run: docker build -t dotmatch:ci .
- name: Smoke test container
run: |
docker run --rm dotmatch:ci --version | grep '^dotmatch 0.1.8$'
docker run --rm dotmatch:ci --version | grep '^dotmatch 0.2.0$'
docker run --rm dotmatch:ci dist ACGT AGGT | grep '^1$'
docker run --rm dotmatch:ci leq 1 ACGT AGGT | grep '^true$'
docker image inspect dotmatch:ci --format '{{ index .Config.Labels "org.opencontainers.image.version" }}' | grep '^0.1.8$'
docker image inspect dotmatch:ci --format '{{ index .Config.Labels "org.opencontainers.image.version" }}' | grep '^0.2.0$'
- uses: docker/metadata-action@v6
id: meta
with:
Expand Down
2 changes: 1 addition & 1 deletion .zenodo.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"title": "DotMatch: deterministic known-target short-DNA assignment for sequencing workflows",
"upload_type": "software",
"version": "0.1.8",
"version": "0.2.0",
"conceptdoi": "10.5281/zenodo.20541628",
"creators": [
{
Expand Down
14 changes: 13 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,19 @@

All notable user-facing changes are tracked here. Public statements in release notes must stay aligned with `docs/scientific-claims.md`.

## Unreleased / Next (post 0.1.7)
## 0.2.0 - Unreleased

- Added a compatibility-safe AssayCode Bioconda metapackage template and a deterministic two-recipe release-handoff generator while preserving `dotmatch` as the engine package.

- Added a deterministic experimental panel simulator for pre-sequencing yield, ambiguity, no-call, confusion, and FDR analysis.
### AssayCode platform

- Added the additive `assaycode` CLI and Python namespace while preserving the `dotmatch` package, executable, ABI, DOI, schemas, and citation contract.
- Added AssayScript v2 compilation for R1/R2/I1/I2 segment declarations, fixed or anchored extraction, positional jitter, orientation, per-segment matching policies, allowed-combination tables, source and library fingerprints, bounded safety findings, deterministic strategy selection, and portable JSON plans.
- Added `assaycode compile`, `assaycode inspect`, and compatibility-safe assay workflow shortcuts.
- Added an explicitly experimental calibration module with per-cycle error fitting, Phred shrinkage, selective posterior calls, likelihood-ratio abstention, joint decoding over permitted tuples, Brier score, expected calibration error, held-out FDR threshold selection, and smoothed abundance priors.
- Added `assaycode watch`, a bounded-memory JSONL monitor that emits assignment-rate confidence intervals and threshold-based sequential QC decisions.
- Added a release-blocking AssayCode readiness gate, focused tests, updated scientific claim boundaries, a rewritten paper, and Bioconda smoke tests for both command identities.

### Added
- `dotmatch.tl` submodule: scverse/scanpy-style tools (`tl.assign_features`, `tl.feature_counts`, aliases for CRISPR/feature barcodes). In-place modification or copy, with provenance in `.uns`. Excellent UX for AnnData-centric workflows.
Expand Down
4 changes: 2 additions & 2 deletions CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ authors:
orcid: "https://orcid.org/0009-0003-5012-7229"
repository-code: "https://github.com/dnncha/dotmatch"
license: Apache-2.0
version: "0.1.8"
version: "0.2.0"
doi: 10.5281/zenodo.20541628
abstract: "DotMatch is a deterministic known-target short-DNA assignment engine for CRISPR guide counting, barcode demultiplexing, and fixed-target FASTQ workflows."
keywords:
Expand All @@ -21,7 +21,7 @@ keywords:
- edit distance
preferred-citation:
type: article
title: "DotMatch: deterministic known-target short-DNA assignment for sequencing workflows"
title: "DotMatch: ambiguity-aware known-target DNA assignment and auditable assay workflows"
authors:
- given-names: "Donncha"
family-names: "O'Toole"
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ LABEL org.opencontainers.image.title="DotMatch" \
org.opencontainers.image.source="https://github.com/dnncha/dotmatch" \
org.opencontainers.image.url="https://dotmatch.readthedocs.io/" \
org.opencontainers.image.documentation="https://dotmatch.readthedocs.io/" \
org.opencontainers.image.version="0.1.8" \
org.opencontainers.image.version="0.2.0" \
org.opencontainers.image.licenses="Apache-2.0" \
org.opencontainers.image.authors="Donncha O'Toole"

Expand Down
15 changes: 14 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -454,7 +454,7 @@ repository-ready:
python3 scripts/check_evidence_gallery.py
$(MAKE) docs-ready

release-ready: python-test python-package-test docs-ready scientific-readiness-ready assay-evidence-ready alphabet-policy-ready citation-metadata-ready native-comparator-scope-ready workflow-examples-ready evidence-gallery-ready distribution-record-ready bioconda-recipe-ready gpu-evidence-gate native-exact-gate public-crispr-evidence-gate crispr-comparison-gate barcode-comparison-gate feature-barcode-public-gate perturb-seq-public-gate amplicon-panel-public-gate bcl-tiny-public-gate oligo-adapter-public-gate
release-ready: python-test python-package-test docs-ready scientific-readiness-ready assay-evidence-ready alphabet-policy-ready citation-metadata-ready native-comparator-scope-ready workflow-examples-ready evidence-gallery-ready distribution-record-ready bioconda-recipe-ready gpu-evidence-gate native-exact-gate public-crispr-evidence-gate crispr-comparison-gate barcode-comparison-gate feature-barcode-public-gate perturb-seq-public-gate amplicon-panel-public-gate bcl-tiny-public-gate oligo-adapter-public-gate reviewer-readiness-ready adoption-metrics-ready assaycode-readiness-ready
python3 scripts/check_release_readiness.py

pretag-ready:
Expand Down Expand Up @@ -498,12 +498,25 @@ workflow-integration-test: dotmatch shared
workflow-adoption-status:
python3 scripts/check_workflow_adoption.py

.PHONY: reviewer-readiness-ready
reviewer-readiness-ready:
python3 scripts/check_reviewer_readiness_assets.py

.PHONY: adoption-metrics-ready
adoption-metrics-ready:
python3 scripts/check_adoption_metrics.py

distribution-record-ready:
python3 scripts/check_distribution_record.py

.PHONY: assaycode-readiness-ready
assaycode-readiness-ready:
python3 scripts/check_assaycode_readiness.py


bioconda-recipe-ready:
python3 scripts/check_bioconda_recipe.py
python3 scripts/check_assaycode_bioconda_recipe.py

distribution-channels:
python3 scripts/check_distribution_channels.py
Expand Down
Loading
Loading