Construction graph
A construct's build history drawn as the graph it actually is: every starting molecule, every intermediate, every reaction that joined them, and the finished plasmid at the end of it.
What it does
A cloning history is a directed graph, not a list. Two primers and a template make an amplicon; three amplicons and a backbone make an assembly; that assembly becomes the template for the next round. A numbered protocol flattens that into steps and loses the shape — which inputs were consumed together, where two lineages met, how deep the build really goes.
This canvas draws the shape. Molecules are nodes, laid out in build order from the starting materials on the left to the final construct on the right; a reaction is the fan of edges that joins its inputs to its products. Reading it answers the questions a step list makes you reconstruct in your head: what came from where, how many rounds is this, and which of these do I still have in the freezer.
When you'd use this
- Before you repeat a build. The graph is the shopping list: every leaf node on the left is something you must have or make before step one.
- When you inherit a plasmid. A file from a collaborator, a repository, or your own lab three years ago carries its build history if it was made in a tool that records one. This is that history, without taking anyone's word for it.
- To find where two lineages met. A construct assembled from parts that were themselves assembled has a join in it, and the join is where a mix-up would have happened.
- To check depth. Built on builds is a real risk factor: every additional round is another amplification, another chance for a mutation that no one sequenced for.
What this computes
- A layered lineage — each molecule placed at its build depth, so the horizontal position is the number of reactions between a starting material and that molecule
- Reaction edges — every input consumed by a step joined to every product it made, so a many-to-one assembly reads as the fan it is
- The construct's own summary beside the drawing: step count, distinct inputs, build depth, and the finished size and topology
- A selectable molecule — picking a node filters the step list to only the operations that consume or produce it, so a 26-step history collapses to the two or three steps that concern one fragment
- Primers and oligos held out of the lineage on purpose: an oligo has no construction history of its own, so drawing it as a parent would add a branch that can never be walked back. They are recorded on the step that used them, with their sequences, which is what a bench protocol needs
What it refuses, instead of drawing nothing: a document that records no build draws no graph, and says so — an empty canvas would look like a construct with no history rather than a file that never carried one.
Where the history comes from
Three real sources, and the panel always names which one it read — where did this history come from is the first question a provenance claim has to answer:
| Source | What it is |
|---|---|
| This workbench's own log | The edges recorded as our cloning tools built things: the operation, the product, the real input names, the enzymes and the primers, captured at the moment the reaction ran |
A SnapGene .dna file | The reaction graph SnapGene embeds in the file, walked as a graph |
| A QUEEN GenBank | The complete, re-runnable build script the file carries in its own annotations |
| An OpenCloning strategy | The exchange format's own record of a documented cloning plan |
Nothing here is inferred from sequence similarity. A history is either recorded in the file or it is not, and an absent history is shown as absent.
Where it lives
The graph is a section of the History & Provenance panel and it opens as its own canvas tab on the stage, at the width of the editor rather than a side panel's. That split is what this is for: a four-round build is wider than any rail, and reading a lineage means seeing the whole shape at once before zooming into one branch.
The tab and the panel draw the same graph — there is one lineage, not two. Selecting a molecule on either one selects it on the other, and the step list filters to it immediately.

A 26-step, 8-input build at depth 6, drawn as one graph. The starting plasmid pCMV_ABE has been
clicked on the canvas and is outlined on both the canvas and the panel's copy of the graph, with
Selected pCMV_ABE in the header — one selection, two surfaces. Reading left to right: eight primers
and two template plasmids, three extractions, three amplified fragments, each modified, then the
assembly that joins them.
Reading the layout
- Left to right is build order, not time. Two molecules in the same column were made in the same round, whatever day they were actually made.
- A node with no incoming edge is a starting material — something bought, ordered or inherited.
- A fan of edges into one node is one reaction with several inputs: an assembly, a ligation, a multi-fragment Gibson.
- A long horizontal chain is depth, and depth is what built on builds in the summary counts.
Pitfalls
- A recorded history is a claim about what was intended, not proof of what is in the tube. It says the build was planned and run this way; only sequencing says the plasmid matches.
- Depth is a risk signal. Each round is another polymerase pass. A depth-6 construct that has never been fully sequenced is the one to sequence.
- An absent history is not a defect in the file. Most GenBank files carry none, because most tools record none. It means this canvas has nothing to draw, not that the construct is suspect.
- Names are the file's own. A history that calls its product
dnais a history whose author called it that; nothing is renamed to look tidier.
What it hands to and takes from other tools
- The numbered protocol and the step table are the same history in the two other shapes a bench needs: something to follow, and something to search.
- Compare aligns this construct's procedure against another one in the project, step by step, so "was this built the same way as that" is a question with an answer.
- The history can be written into a GenBank file, so a construct exported from here carries its build with it and the next person sees this same graph.