SeqBench

Find Mixed Bases and the Uncalled Tail of a Sanger Trace

Re-read a chromatogram for the second peak under each call, and for the bases past where the basecaller gave up.

🔒 Nothing you paste is logged or stored on our servers

A basecaller returns one base per position and stops when it loses confidence, and both of those decisions hide information you may need. A heterozygous position, a mixed colony or a clone with two inserts shows as a second peak under the called base - visible in the channel data, absent from the base calls. And the tail past the called region often still has readable signal, which matters when the difference you are checking sits at base 850 of an 800-base call. This re-reads the trace's own channel intensities to report both: the secondary base and its fraction at each mixed position, and the calls the basecaller declined to make. Neither is a claim about what is in the tube - a secondary peak can be dye blobbing or a compression as easily as a real allele - so the numbers are reported as measurements of the trace, not as verdicts.

Parsed in your browser. Nothing is logged or stored.

Second peak / first peak. The default is deliberately conservative.

Upload a chromatogram to read what is under its base calls.

How to use the Sanger Mixed Peaks tool

  1. 1Upload the trace (.ab1, .abi or .scf). It is parsed in your browser.
  2. 2Set the threshold for what counts as a secondary peak. The default is deliberately conservative.
  3. 3Read the mixed positions with their minor fractions. A consistent ~50% across many positions reads as two templates; a single isolated one more often reads as noise.
  4. 4Treat the uncalled tail as a lead, not as data - confirm anything you find there with a read from the other direction.

Frequently asked questions

Does a secondary peak mean I have a mixed clone?

Not on its own. Dye blobs, compressions and a strong preceding peak all produce secondary signal. A run of mixed positions at a consistent fraction is much stronger evidence than one isolated position, and the fractions are reported so you can judge that rather than being given a verdict.

Why does the basecaller stop before the signal does?

Because it stops when its own confidence falls below a threshold, which is a sensible default for a whole read and a poor one when the base you care about is just past the cut-off. The calls recovered here are lower confidence by definition - use them to decide where to point the next read.

How is the minor fraction computed?

From the raw channel intensities at each called base's peak position: the second-highest channel divided by the sum. It is a property of the trace, not an allele frequency in the sample.

Which files can I upload?

ABIF (.ab1 / .abi) and Staden SCF (.scf). Both are parsed in your browser and neither is logged or stored.

More