DotMatch

CRISPR guide counting and barcode assignment

Count known guides from FASTQ files and export MAGeCK-compatible tables. Review unique, ambiguous, unmatched and invalid reads.

Apache-2.0Linux & macOSLocal processing

Read assignment exampleRadius-one Hamming
Observed read windowCGCATGCATGCATGCATGCA
1 compatible target
uniqueguide_C

One target within one substitution. Adds one count to that target.

Synthetic example, checked against the native matcher. Example inputs and tests

Current source benchmark · One mismatch, no indels

DotMatch versus guide-counter

Faster complete commands
1.6–5.5×
Lower peak memory
11.3–14.4×
Guide/sample count differences
0

The benchmarked source checkout's dotmatch guide-counter count returned identical full count matrices in every paired comparison with unmodified guide-counter 0.1.3. The performance workloads use controlled 100k/1M-read FASTQs against the public 87,437-guide Yusa library, with one or four samples.

Five paired repeats, one CPU thread. Guide-counter is faster in the tested exact-mode million-read cases. Full experimental-screen performance remains unmeasured; these performance results do not establish biological accuracy.

Install DotMatch

Published CLI 0.7.0 · Conda, containers & installation help

python3 -m pip install dotmatch==0.7.0

Counting workflow

  1. 01 / PREPARE

    Prepare inputs

    Give DotMatch your library and FASTQs. Review the proposed read window before the analysis starts.

    Follow the first-run tutorial
  2. 02 / COUNT

    Run assignment

    Use exact, substitution-tolerant or indel-aware matching. Keep ambiguous and unmatched reads separate from unique counts.

    Compare matching policies
  3. 03 / ANALYSE

    Export counts and QC

    Take the raw count matrix into MAGeCK. Carry configuration, QC and methods with the result in a local review bundle.

    Inspect the handoff workflow

Assignment sensitivity

Compare matching policies

In this nine-read example, exact and radius-one matching each uniquely assign three reads, but produce different per-guide counts.

Open example report
Synthetic example · 9 reads · 5 target IDs
Matching ruleUniqueAmbiguousUnmatched
Exact314
One target within k=1341
Nearest target, k=1521

One additional read has an invalid window under every policy. 5 reads change outcome between policies. Calculated with the native matcher; not a biological accuracy benchmark.

Supported assays

Pooled CRISPR screens

Count known guides, inspect assignment QC and export a guide-by-sample matrix.

CRISPR counting

Barcodes & sequencing cores

Demultiplex inline barcodes and investigate collisions or unexpected unmatched reads.

Barcode diagnostics

Feature & guide capture

Assign known features and build matrices from observations with explicit cell identifiers.

Feature-matrix workflow

Benchmarks and examples

Reproduce a public example, inspect count differences and compare DotMatch with your current workflow.

Yusa & Brunello CRISPR data

Recorded comparisons with MAGeCK, guide-counter and reference matchers. Runtime, memory, settings and count differences are reported together.

Read the results →

Public direct-guide capture

A GSE146194 example with separate discovery and evaluation reads. Evidence for per-read guide assignment, not completed single-cell analysis.

Reproduce the case study →

The example on this page

Nine synthetic reads exercise close targets, duplicate sequences, a literal N, an unmatched read and a short read. Expected assignments are checked against the native matcher.

Inspect the fixture →
Pipelines and local agents

Use stable files and structured tools to prepare, preflight, run and review an assay. Inspect the installed contract before choosing a workflow.

dotmatch agent tools --json
dotmatch agent export-skill --target ./dotmatch-agent

Agent guide · Workflow examples · Command reference

DotMatch handles known-target sequence assignment. Genome alignment, cell/UMI processing and downstream screen statistics remain separate steps. Methods & scope · Cite DotMatch
Published package 0.7.0; website source version 0.7.0.