Oligo/Adapter Assignment Evidence
This report covers fixed-window assignment of short adapter-like oligos with DotMatch’s known-target counting layer.
The synthetic lane checks exact, one-substitution, ambiguous, and unmatched adapter-like oligos. The public lane uses the fast-adapter-trimming TruSeq R1 fixture and validates DotMatch k=0 against a transparent exact-slice hash baseline over the documented fixed window.
Synthetic Command
dotmatch count --targets benchmarks/work/oligo_adapter/adapter_oligos.tsv --reads benchmarks/work/oligo_adapter/adapter_reads.fastq --sample-label oligo_adapter_fixture --target-start 0 --target-length 12 --k 1 --metric hamming --format dotmatch --out benchmarks/work/oligo_adapter/adapter_counts.tsv --summary benchmarks/work/oligo_adapter/adapter_summary.json --assignments benchmarks/work/oligo_adapter/adapter_assignments.tsv --ambiguous report --sample-qc benchmarks/work/oligo_adapter/adapter_sample_qc.tsv
Raw Rows
tool |
workflow |
status |
targets |
reads |
start |
length |
k |
metric |
assigned |
exact |
corrected |
ambiguous |
unmatched |
validation mismatches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
dotmatch_count |
synthetic_oligo_adapter_fixture |
smoke |
3 |
6 |
0 |
12 |
1 |
hamming |
2 |
1 |
1 |
3 |
1 |
0 |
dotmatch_count |
public_fast_adapter_truseq_r1 |
supported |
9 |
10000 |
229 |
20 |
0 |
hamming |
156 |
156 |
0 |
0 |
9844 |
0 |
dotmatch_count |
public_fast_adapter_truseq_r1 |
supported |
9 |
10000 |
229 |
20 |
1 |
hamming |
159 |
156 |
3 |
0 |
9841 |
0 |
exact_slice_hash |
public_fast_adapter_truseq_r1 |
supported |
9 |
10000 |
229 |
20 |
0 |
exact |
156 |
156 |
0 |
0 |
9844 |
0 |
Public Adapter-Prefix Lane
Dataset: fast-adapter-trimming
788707_20180313_S_R1.small.fastq.gzwithadapters/truseq.fatarget prefixes.Source repository: https://github.com/linsalrob/fast-adapter-trimming
Source license: MIT, as reported by the upstream GitHub repository metadata.
Fixed window: DotMatch uses
--target-start 229 --target-length 20on R1.Comparator semantics: the exact-slice hash baseline counts reads whose fixed R1 substring exactly matches a deduplicated TruSeq adapter-prefix target. It validates fixed-window assignment semantics, not trimming correctness.
Public Commands
dotmatch count --targets examples/oligo_adapter/data/adapter_oligos.tsv --reads examples/oligo_adapter/data/788707_20180313_S_R1.small.subsample10000.fastq.gz --sample-label fast_adapter_truseq_r1 --target-start 229 --target-length 20 --k 0 --metric hamming --format dotmatch --out benchmarks/work/oligo_adapter/public_fast_adapter_truseq_r1_k0_counts.tsv --summary benchmarks/work/oligo_adapter/public_fast_adapter_truseq_r1_k0_summary.json --assignments benchmarks/work/oligo_adapter/public_fast_adapter_truseq_r1_k0_assignments.tsv --ambiguous report --sample-qc benchmarks/work/oligo_adapter/public_fast_adapter_truseq_r1_k0_sample_qc.tsv
dotmatch count --targets examples/oligo_adapter/data/adapter_oligos.tsv --reads examples/oligo_adapter/data/788707_20180313_S_R1.small.subsample10000.fastq.gz --sample-label fast_adapter_truseq_r1 --target-start 229 --target-length 20 --k 1 --metric hamming --format dotmatch --out benchmarks/work/oligo_adapter/public_fast_adapter_truseq_r1_k1_counts.tsv --summary benchmarks/work/oligo_adapter/public_fast_adapter_truseq_r1_k1_summary.json --assignments benchmarks/work/oligo_adapter/public_fast_adapter_truseq_r1_k1_assignments.tsv --ambiguous report --sample-qc benchmarks/work/oligo_adapter/public_fast_adapter_truseq_r1_k1_sample_qc.tsv
python3 scripts/bench_oligo_adapter.py --include-public --metadata examples/oligo_adapter/data/metadata.json
Scope
These lanes verify fixed-window known-oligo/adapter assignment, one-substitution rescue, and explicit ambiguous/unmatched diagnostics. Run make oligo-adapter-smoke-gate for smoke evidence and make oligo-adapter-public-gate for the public lane. The public lane checks adapter-prefix assignment for the recorded R1 window. Primer removal, UMI grouping, read merging, and adapter-trimming workflows need separate comparator records.