Command Reference
This page is a compact map of the installed dotmatch command surface. Use
dotmatch <command> --help for option defaults and full argument details.
Core Utilities
dotmatch --version
dotmatch citation
dotmatch dist SEQ1 SEQ2
dotmatch leq K SEQ1 SEQ2
dist prints the global edit distance between two short DNA strings. leq
prints true when the edit distance is less than or equal to K.
Fixed-Window Assignment
dotmatch count --targets targets.tsv --reads sample.fastq.gz \
--sample-label sample --target-start 23 --target-length 20 \
--k 1 --metric hamming --out counts.tsv
dotmatch demux --barcodes barcodes.tsv --reads pooled.fastq.gz \
--barcode-start 0 --barcode-length 8 --k 1 --out-dir demuxed/
Use count for guide, barcode, primer, adapter, feature-tag, and panel-target
counting from one fixed read window. Use demux when uniquely assigned inline
barcodes should be written to split FASTQ files.
Current correction-radius support:
Hamming:
k=0..3for fixed-length windows.Levenshtein:
k=0..2for short insertion/deletion rescue.Metal GPU: experimental Darwin Metal path for eligible Hamming
k<=1workloads only; CPU remains the assignment authority unless validation passes.
Before production Hamming k=2 or k=3, run exact audit:
dotmatch audit --targets guides.tsv --k 3 --audit-mode exact --out-dir audit/
Proceed only when safe_at_hamming_k2 or safe_at_hamming_k3 is true for the
radius you plan to use.
AssaySpec Workflows
dotmatch assay new crispr --library guides.csv --reads-dir fastqs/ --out screen/
dotmatch assay start screen/assay.toml
dotmatch assay check assay.toml
dotmatch assay optimize assay.toml
dotmatch assay plan assay.toml
dotmatch assay run assay.toml
dotmatch assay autopsy assay.toml --out-dir autopsy/
start is the production entrypoint: it checks the spec, runs assignment, and
prints the reliability verdict. optimize writes an advisory CPU/GPU backend
recommendation; it does not change the count authority.
Supported templates include crispr, feature-barcode,
inline-barcode-count, inline-barcode-demux, amplicon-panel,
oligo-adapter, and pair-count.
Barcode Workflows
dotmatch barcode infer --barcodes barcodes.tsv --reads pooled.fastq.gz --out offset_scan.tsv
dotmatch barcode audit --barcodes barcodes.tsv --k 1 --out-dir barcode_audit/
dotmatch barcode demux --barcodes barcodes.tsv --reads pooled.fastq.gz --out-dir demuxed/
dotmatch barcode count --barcodes barcodes.tsv --reads pooled.fastq.gz --out counts.tsv
dotmatch barcode autopsy --barcodes barcodes.tsv --reads pooled.fastq.gz --out-dir autopsy/
dotmatch barcode report --out-dir autopsy/
Use barcode autopsy when a barcode run has high unmatched, ambiguous, invalid,
or low-quality rescue rates. It combines offset inference, barcode audit,
demultiplexing/counting diagnostics, unmatched-window inspection, and a report.
Barcode Panel Design
dotmatch panel check barcodes.tsv --k 1 --metric hamming --out-dir panel_check/
dotmatch panel design --n 96 --length 16 --preset illumina-inline-96 --out-dir panel/
dotmatch panel optimize vendor_barcodes.tsv --n 24 --out-dir optimized/
dotmatch panel simulate barcodes.tsv --reads 1000000 --out-dir simulation/
dotmatch panel layout barcodes.tsv --plate 96 --out plate_layout.tsv
dotmatch panel export barcodes.tsv --format illumina-samplesheet --out-dir sheets/
dotmatch panel compare old.tsv new.tsv --out-dir panel_compare/
dotmatch panel design-dual --samples 384 --i7-count 384 --i5-count 384 \
--i7-length 10 --i5-length 10 --unique-dual --out-dir dual_panel/
Panel certificates use the same unique, ambiguous, none, and invalid
assignment semantics as counting and demultiplexing.
CRISPR Workflows
dotmatch crispr new --library guides.csv --reads-dir fastqs/ --out screen/
dotmatch crispr start screen/assay.toml
dotmatch crispr qc --counts counts.mageck.tsv --sample-qc sample_qc.tsv --out crispr_qc.json
dotmatch crispr-count --library guides.csv --samples samples.tsv \
--guide-start 23 --guide-length 20 --k 1 --out counts.mageck.tsv
The crispr namespace wraps AssaySpec helpers for guide-count workflows.
crispr-count is the direct single-command MAGeCK-compatible count writer.
Compatibility Entrypoints
dotmatch guide-counter count --input sample.fastq.gz --samples sample \
--library guides.tsv --output guide_counts
dotmatch guide-counter-count ...
dotmatch guide-count ...
These GuideCounter-compatible entrypoints preserve familiar input/output shapes while delegating assignment to DotMatch’s deterministic CPU counting engine.
Diagnostics
dotmatch inspect-unmatched --targets targets.tsv --reads sample.fastq.gz \
--target-start 23 --target-length 20 --k 1 --top 50 --out top_unmatched.tsv
dotmatch validate --targets targets.tsv --reads sample.fastq.gz \
--target-start 23 --target-length 20 --k 1 --oracle scan
Use inspect-unmatched to diagnose frequent unassigned windows. Use validate
to compare indexed assignment with an exhaustive scan or Edlib oracle when
checking correctness-sensitive workflows.