DotMatch Barcode Panel Design
DotMatch does not merely design barcodes. It designs barcode panels that come with proof of how they will behave during assignment.
dotmatch panel is for barcode design for known-target assignment. It is not general genome alignment, not UMI entropy generation, not basecalling, and not a replacement for downstream biological interpretation.
Commands
dotmatch panel design --n 96 --length 16 --preset illumina-inline-strict --seed 42 --out-dir panel/
dotmatch panel check panel/barcodes.tsv --k 1 --metric hamming --out-dir panel_check/
dotmatch panel optimize vendor_barcodes.tsv --n 24 --out-dir optimized/
dotmatch panel simulate panel/barcodes.tsv --reads 1000000 --out-dir simulation/
dotmatch panel layout panel/barcodes.tsv --plate 96 --out plate_layout.tsv
dotmatch panel export panel/barcodes.tsv --format illumina-samplesheet --out-dir sample_sheet_templates/
Every designed panel includes a machine-checkable safety certificate:
panel_summary.jsontarget_safety.tsvcollision_pairs.tsvambiguous_error_spheres.tsvreverse_complement_warnings.tsvprefix_collisions.tsvsuffix_collisions.tsvcycle_balance.tsvcontext_risk.tsvflanked_sequences.tsvpanel_report.html
target_safety.tsv includes a per-barcode safe_hamming_correction_radius field. This is the largest Hamming correction radius, up to the certificate’s exact enumeration limit, for which that specific target has no ambiguous or silent-assignment variants under DotMatch radius semantics.
Safety Semantics
Panel safety is checked under DotMatch assignment outcomes: unique, ambiguous, none, and invalid, using the same default radius ambiguity policy as demux and counting.
DotMatch never marks a panel safe for a configured correction radius when any query inside the checked error sphere maps ambiguously. If ambiguity_policy = "best" is selected for compatibility, the report also includes silent assignment risk: possible errors from one barcode that would be assigned uniquely to another barcode.
The v1 certificate exhaustively enumerates configured error spheres up to k=2. Requests above k=2 are refused rather than downgraded to a partial proof.
For Hamming distance, a minimum pairwise distance d gives substitution correction up to floor((d - 1) / 2) and detection up to d - 1. The certificate still matters because DotMatch checks the exact assignment rules that will later be used by demux/counting.
Simulation is a stochastic stress test, not the certificate. The default source distribution is uniform across panel records and the simple error model uses explicit substitution, insertion, and deletion probabilities in [0, 1]. simulation_summary.json records the source distribution, the false-assignment confidence method, and a one-sided 95% upper bound; zero observed false assignments therefore still produce a positive upper bound rather than proving zero risk.
Outputs From panel design
panel design writes:
barcodes.tsvdesign_report.jsondesign_trace.tsvpanel_check/assignment_safety.tsvcollision_pairs.tsvambiguous_error_spheres.tsvflanked_sequences.tsvplate_layout.tsvplate_layout.svgneighbor_distance.tsvlab_picklist.csvsample_sheet_templates/report.htmlREADME_FOR_LAB.md
The barcode table is intentionally auditable rather than a two-column list. It includes GC, homopolymer length, nearest-neighbor distances, reverse-complement collision flags, self-complement score, status, warnings, and the certified DotMatch command.
Presets
Preset |
Intended use |
Default length |
Core guarantee |
|---|---|---|---|
|
small panels |
12 |
high spacing |
|
general inline barcodes |
16 |
safe one-edit correction target |
|
large panels |
20 |
high capacity |
|
fixed-window inline demux |
10 |
Hamming-first |
|
paired i7/i5 indexing |
10+10 |
pair-aware safety |
|
noisy long-read contexts |
18 |
Levenshtein/seqlev spacing |
|
experimental raw-signal candidate narrowing |
16 |
symbolic safety first |
Signal-aware output is experimental and cannot override symbolic safety.