SeqBench

Deconvolve a Mixed Sanger Trace into Candidate Molecules

Decompose one messy chromatogram into fractions over the molecules your reaction could have produced - not onto a generic indel ladder.

🔒 Nothing you paste is logged or stored on our servers

Predicted, not measured
How good is it?
Every run reports its own R²: how much of the observed per-position composition the candidate basis explains. That is a measured adequacy on YOUR trace, and a low value is a statement that the tube holds something the candidate set does not contain. No accuracy against a reference method is published for this implementation, and none is quoted. Exact recovery of synthetic mixtures is deliberately NOT offered as validation: it tests the arithmetic, not whether a real capillary trace behaves like the model.
Only valid for:
One read, from one primer, over a set of candidate molecules that all contain that primer's site and differ from each other within the read. Fractions are reported per GROUP of candidates the read cannot tell apart, and that grouping is part of the answer. NOT valid when the read's anchor identity to a candidate is low (it does not share the primer region), nor when R² comes back low, nor for telling apart candidates that differ only outside the read.
Fitted on:
Nothing. There are no fitted coefficients: the basis is the caller's own candidate sequences, and the only free parameters are the mixing fractions themselves, solved per run under non-negativity and a sum-to-one constraint. The model is that a Sanger trace of a mixture is, at each position, the composition of the molecules in it — so the per-position normalised channel intensities are linear in the fractions.

A mixed chromatogram from a cloning reaction is usually not a mixture of indels - it is a mixture of molecules: the intended construct, the empty backbone, a double insert, a part in backwards. Tools that decompose a trace onto an indel ladder answer a question about editing, not about cloning. This one fits the trace against the candidate molecules' own sequences by non-negative least squares, so no molecule is ever assigned a negative share, and reports the R² of the fit - which is the number that says whether the tube holds anything outside the candidate set you supplied. Where two candidates produce the same read over the span you sequenced, they are GROUPED rather than having their share split between them, because splitting invents a distinction the data does not contain.

Parsed in your browser; only the base calls and per-base intensities are sent.

0 candidates. The molecules this reaction could have produced — the assembly outcomes tool enumerates them.

Upload the trace and paste the molecules the reaction could have produced.

How to use the Mixed Trace Deconvolution tool

  1. 1Upload the trace (.ab1, .abi or .scf). It is parsed in your browser.
  2. 2Paste the candidate molecules as FASTA - the same set you planned the reads against.
  3. 3Read the R² first. A poor fit means something in the tube is not in your candidate list, and the fractions below it are then a decomposition of the wrong question.
  4. 4Treat a grouped set as one answer. If two candidates are grouped, this read cannot separate them, whatever the fractions say.

Frequently asked questions

How is this different from indel spectrum tools like TIDE or ICE?

Those decompose a trace onto a ladder of insertions and deletions at a cut site, which is the right model for a CRISPR edit. This decomposes it onto molecules you name, which is the right model for a cloning reaction where the alternatives are whole constructs rather than frameshifts.

What does the R² tell me?

How much of the trace the candidate set explains. A low R² means the tube contains something you did not list, and the fractions are then a best fit to an incomplete set rather than an answer.

Why are some candidates grouped together?

Because the read you supplied cannot tell them apart. Splitting their share between them would report a distinction the data does not support. Plan a read that separates them with the sequencing read planner.

Can I use it on a clean trace?

You can, and it should return nearly all of the signal on one candidate. That is a reasonable confirmation, though a straight comparison against the intended sequence is a more direct way to ask it.

More