Check Sequencing Results Against Your Plasmid Map
Align your reads to your own annotated reference and get what each difference DOES — silent, missense at a named codon, or a premature STOP that ends the protein — not just where it sits.
🔒 Nothing you paste is logged or stored on our servers
Your sequencing came back. Somewhere in it a base does not match what you designed — and the question that actually decides your week is not where it is, it is whether it matters. Paste your map (the GenBank file SnapGene, Benchling or Addgene hands you) and the raw reads (Sanger, NGS or Nanopore, FASTA or FASTQ, auto-detected), and every read is aligned to it with the real minimap2 binary. A disagreement seen in one read alone is reported separately as likely sequencing noise; one several reads agree on is a consensus-supported variant — and each of those is then placed against your own annotation and read out: silent in your resistance marker, a missense at a named codon with the residue change, or a premature STOP with how much of the protein is left. That last half is what a whole-plasmid service's report leaves you to work out by hand. A corrected consensus sequence — the reference with every consensus-supported edit actually applied — comes out the other end, so you can see what the construct in your tube appears to be rather than a list of positions. Bare bases still work and simply return the positions.
0 bp
0 characters pasted — up to 2000 reads / 5,000,000 bp per call.
Reads that must agree on the same edit at a position for it to count as consensus-supported rather than single-read noise.
Aligns reads through the reference's arbitrary start instead of cutting them short there, so a variant in the part that would otherwise be clipped away still gets called. Turn this on for whole-plasmid data.
Paste a reference and its reads to align them with minimap2 and build a consensus.
Reads are aligned to the reference with the real minimap2 binary, and each read's difference string is parsed into exact substitution/insertion/deletion calls. This is a mapping/diff tool, not a variant caller: read-quality (Phred) scores are not used to weight calls, and reads that fail to map at all give no positional information about where they diverge. Identity is measured over the aligned part of each read only, so read it next to Read used — the aligner clips freely, and a read it used half of can still show 100% identity. The reference is treated as linear unless you tick Circular reference: without it, a read spanning the reference's arbitrary start (routine for whole-plasmid nanopore data) is reported as its best-scoring single segment with the rest counted as clipped, and any variant in that clipped remainder is never called. With it, reads are aligned against the reference written out twice and every coordinate folded back, so the join is crossed rather than cut — reads that wrap are marked ↻ and their reference span reads high-to-low.
Working on a whole construct rather than one batch of reads? Open SeqStudio — the full editor, with live feature annotation, plasmid maps, restriction and primer panels, undo/redo, multi-document tabs and GenBank / SnapGene import and export.
How to use the Sequencing Read-Back Verification tool
- 1Paste your map into the reference box — a whole GenBank record, so the features travel with it (FASTA or raw bases work too, and give positions without consequences). Or click Load example.
- 2Paste the raw reads as FASTA or FASTQ, and set how many reads must agree on the same edit before it counts as real rather than single-read noise.
- 3Read the consequence for each difference, check the pass/fail gate and what it says it did NOT check, then copy or download the corrected consensus as FASTA.
Frequently asked questions
My sequencing came back with a difference — does it matter?
That is the question this tool exists to answer, and it can only answer it if the reference you paste carries features. Given a GenBank record, every consensus-supported difference is placed against your own annotation and read out: silent (the codon still encodes the same residue), missense with the codon number and the residue change, in-frame insertion or deletion, or one of the four that end the protein — frameshift, premature STOP, start lost, stop lost. The gate fails hard on that last group, because there the answer is to pick another colony rather than to note it and carry on. Paste bare bases and you get the positions and nothing more.
Do I have to paste a GenBank file?
No — bare bases and FASTA work exactly as before and return the position, the base change and the corrected consensus. What they cannot return is what any of it does, because there are no features to place it against. The gate is explicit about this rather than quietly passing: the protein-breaking check is simply absent from the checks list, and the "not checked" list says the question was never asked and how to ask it. Any GenBank record works — SnapGene, Benchling, Addgene, NCBI, or the one this site exports.
Which differences get a consequence, and which do not?
Only the edits actually APPLIED to the corrected consensus. A position where the reads tie between two different alleles has no allele to translate, and guessing one would be the most damaging kind of wrong on a report like this — so it stays a position in the variant table, is counted in the "not checked" list, and gets no consequence at all. Single-read disagreements below the supporting-read threshold are likewise reported separately and never read against the features. A spliced (join) CDS also gets no codon number: placing one needs the position mapped through the splice, which is not done here, and a wrong codon number is worse than none.
What counts as a "consensus-supported" variant?
A reference position where at least the chosen minimum number of reads (default 2) agree on the exact same edit (the same substitution, insertion, or deletion) relative to the reference. A position where only a single read disagrees with the reference is reported separately as informational, not gated on, since sequencing error versus a real mutation can't be distinguished from one read alone.
How is the corrected consensus sequence built?
Every consensus-supported edit is applied to the reference, working from the highest reference position down to the lowest, which avoids the classic bug where an earlier insertion or deletion shifts the coordinates of every edit after it. If two different edits at the same position are equally well supported, that position is left as the reference base rather than guessed.
Which read types and formats are supported?
Sanger, NGS (Illumina-style short reads) or Nanopore/PacBio long reads, pasted as FASTA or FASTQ — the format is auto-detected. Up to 2,000 reads or 5,000,000 total bp per call. Alignment runs on the real minimap2 binary, not a re-implementation.
Is this a variant caller with quality-score weighting?
No. It's a mapping/diff tool: read-quality (Phred) scores are not used to weight calls, and reads that fail to map at all give no positional information about where they diverge. Treat consensus support as a count of independent reads agreeing, not a quality-weighted confidence score.
Does 100% identity mean the whole read matched?
Not on its own, which is why every alignment also reports how much of the read was used. minimap2 soft-clips, and identity is matches over the aligned block, so a read the aligner only used half of still scores 100% on that half. Each alignment therefore carries readLength, the aligned span of the read (queryStart/queryEnd and alignedLength), clippedBases and queryCoveragePct, and the gate raises a soft check when a mapped read had a meaningful share of it clipped away. Read identity and coverage together.
Why is my whole-plasmid nanopore read reported as partly clipped?
Because by default the reference is treated as linear. A whole-plasmid read starts wherever the molecule happened to be cut, so it usually spans the arbitrary start position of the reference — and only one side of that join can sit in a single linear alignment, leaving the rest counted as clipped and never variant-called. Tick "Circular reference (plasmid)" and re-run: the reads are then aligned against the reference written out twice, so a read crossing the join is aligned right through it in one piece, and every coordinate is folded back to the real sequence. Reads that wrap are marked, and their reference span reads high-to-low (e.g. 2400–400). It is a coordinate artefact, not a problem with the clone.
What does the circular option actually change?
It changes which parts of your reads get compared to the reference at all. Aligning against a doubled copy of the reference gives a read that straddles the join one contiguous place to sit, so minimap2 aligns all of it in a single pass — a real mutation sitting in the part a linear run would have soft-clipped away is then called normally instead of being invisible. Positions are folded back into 1..length afterwards, so everything reported stays in true reference coordinates. The trick covers reads up to the full length of the reference; a longer read (a rolling-circle or concatemer product) still runs off the end and has the excess counted as clipped.
Is my data stored, and can I run this from code?
No. Your reference and reads are used only to run the alignment and are never logged or stored. The same tool, including the gate and the corrected consensus sequence, is available via the REST API and the MCP server.
More
Guides
Related tools
Paste what you got back and the PCR you say made the insert. It re-derives the insert, finds it in either orientation, and gives you the exact mismatch positions.
Auto-detect promoters, tags, origins and resistance markers in a plasmid, then run a deep scan against pLannotate's full feature databases.
Paste an unlabelled plasmid and get its closest classic backbone, whether it looks like a chimera of two, and every stretch that neither a known backbone nor a known feature accounts for.