Verify a full assembly recipe
verify_assemblyDeterministic self-check: given the same method/parts cloning_simulate would use (restriction-ligation, Gibson, Golden Gate, LIC, SLIC or In-Fusion/CPEC — optionally deriving a part by in-silico PCR first), re-derive the expected WHOLE product and diff it against a claimed final sequence. Returns pass/fail plus the exact position and nature of any discrepancy — not an opinion, the same deterministic simulation SeqBench already runs, run a second time as a check. A recipe that can give more than one molecule is checked against ALL of them and matchedCandidate names the one the claim matched: a non-directional ligation really does put the insert in both ways round (half the plate carries each), a vector cut more than twice offers more than one backbone, and a Gibson junction whose fragments already share terminal sequence has two honest readings (one homology arm, or a tandem repeat present twice). See verify_construct for a narrower, insert-only check that doesn't require declaring the vector/enzymes/method.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| names | No | Optional labels for each fragment. | |
| coding | No | Report amino-acid effects of any mismatch, assuming claimedConstruct is (or contains) a coding sequence. | |
| enzyme | No | Type IIS enzyme for Golden Gate — one of BsaI, BbsI, Esp3I (BsmBI); "BsmBI" also resolves to Esp3I, and NEB's variant names (BsaI-HFv2, BbsI-HF, BsmBI-v2) fold to the parent enzyme. Any other name fails the verification outright rather than being substituted. | BsaI |
| insert | No | Insert sequence (restriction and lic methods). Omit if insertPcr is given. | |
| method | Yes | Assembly method used. restriction/gibson/goldengate are the primer-and-enzyme methods; lic and slic re-run the T4-polymerase chew-back (sequence-defined and time-stopped respectively) and infusion is In-Fusion/CPEC. Anything else is refused rather than substituted — see the note on "topo". | |
| vector | No | Vector sequence (restriction and lic methods; for lic, the LINEARISED vector). Omit if vectorPcr is given. | |
| enzyme3 | No | Insert 3′ enzyme (restriction method). | BamHI |
| enzyme5 | No | Insert 5′ enzyme (restriction method). | EcoRI |
| circular | No | Treat the product/claimed construct as circular (most plasmids are). | |
| fragments | No | Fragments (5′→3′), assembled head-to-tail (gibson/goldengate/slic/infusion). BARE parts only — for gibson do NOT include the homology arms, which are added by the assembly primers and merged (so the product is fragment1+…+fragmentN). The convention is the OPPOSITE for slic and infusion: there the homology must already BE on the fragments (it arrived on the PCR primer tails), and infusion derives the ORDER from those homologies, so the order listed here is ignored. Use "" as a placeholder for any fragment supplied instead via the matching fragmentPcrs[i]. | |
| insertPcr | No | Derive the insert by PCR instead: {template, forwardPrimer, reversePrimer, maxMismatches? (0-10), circular?}. | |
| vectorPcr | No | Derive the vector by PCR instead: {template, forwardPrimer, reversePrimer, maxMismatches? (0-10), circular?}. | |
| frameStart | No | 1-based reading-frame start on claimedConstruct, used when coding is true. | |
| overlapLen | No | Gibson homology-arm length (bp) that the assembly PRIMERS add at each junction. Since the fragments themselves must not carry their arms, this describes the junction/primer design only — it does not change the predicted product length or the verdict. | |
| armTmTarget | No | Target annealing Tm (°C) for primer arms. | |
| chewBackLen | No | slic method: nucleotides removed from each 3′ end. A SLIC chew-back has no dNTP to arrest it and is stopped by time, so this is an input rather than a property of the sequence. 0 (default) models the intended reaction — chewed to the full homology and no further. | |
| homologyLen | No | infusion method: terminal homology required at every junction, in bp. At least 15 — the junction is annealed and extended by a polymerase with no exonuclease to widen it and no ligase to seal it, so a shorter overlap is a different chemistry rather than a weaker version of this one. | |
| fragmentPcrs | No | Parallel to fragments, same length: null (or omit) to use fragments[i] directly, or a PCR spec {template, forwardPrimer, reversePrimer, maxMismatches? (0-10), circular?} to derive that fragment instead. | |
| vectorEnzyme3 | No | Vector 3′ enzyme (restriction method); defaults to enzyme3. | |
| vectorEnzyme5 | No | Vector 5′ enzyme (restriction method); defaults to enzyme5. Set a different, compatible enzyme (e.g. BglII for a BamHI insert) to verify heterologous-overhang cloning. | |
| claimedConstruct | Yes | The sequence you claim you ended up with. | |
| insertNucleotide | No | lic method: the single dNTP the INSERT's chew-back was run with. Normally the COMPLEMENT of vectorNucleotide (the classic pair is dTTP on the vector, dATP on the insert). | |
| vectorNucleotide | No | lic method: the single dNTP the VECTOR's chew-back was run with (T for dTTP…). Required — T4 pol's exonuclease stops at the first occurrence of this base reading inward from each 3′ end, so there is no product to check against without it. | |
| mergePreAddedArms | No | Gibson only. When two fragments already share terminal sequence, count that share ONCE (the default — the fragments already carry their arm) or set false to concatenate it twice, which is the right reading when the shared block is a genuine tandem repeat. You should rarely need this: the check tries BOTH readings and reports which one matched in `matchedCandidate`. Setting it restricts the check to one. | |
| dephosphorylateVector | No | The linearised vector was CIP/rSAP-dephosphorylated (restriction method). Affects the self-ligation background warnings, not the product. |