Foundries & design
CAD software for synthetic biology
What a genetic-circuit compiler actually compiles, why shared resources and context-dependent part behaviour resist the chip-design analogy, and where the software genuinely works.
Much of this category is workflow plumbing — protocol generation, experiment scheduling, data capture — and plumbing has no mechanism to explain. But the core of it does, and the honest page is about that core: what a genetic-circuit compiler actually compiles, and why biology keeps resisting the electronic-design analogy it borrows.
What a compiler actually compiles
The input is a logic specification — a truth table of inputs and outputs the cell should implement. The compiler maps that behaviour onto a network of gates built from repressors: each gate is a promoter repressed by the product of another, and combinations of repressors realise NOR logic, from which any Boolean function can be composed. The compiler’s real decisions are allocation ones: which member of a characterised gate library to use for each node, and how to place gates on the DNA so that shared components do not interfere. The reason this is not chip design is that the “wires” are molecules diffusing through one shared cytoplasm. Every gate draws on the same finite pool of ribosomes and polymerases, so activating one logic path drains the others — a global coupling silicon does not have. The device is not a sum of isolated parts; it is a budget being spent several ways at once.
Why simulation is honest only about its data
A simulator can only interpolate inside its part library’s evidence. A promoter’s measured strength is conditional — on host strain, plasmid copy number, growth phase, neighbouring sequence, and on how much translation load sits downstream — and each of those conditions changes the number. So the binding constraint on prediction is characterization debt, not algorithm quality: the models are as good as the measured envelope they interpolate within, and silent outside it. This is the same physics that defeats standard parts composition and the same coupling the metabolic engineering page calls regulation: a biological component does not carry its behaviour with it the way a resistor does.
The solid half: assembly as constraint solving
The part of the category that genuinely works is compiling DNA, not behaviour. Modern assembly methods are constraint systems the software can verify: type IIS enzymes cut outside their recognition site, leaving short designed overhangs, and the compiler chooses overhang sequences so that every junction pairs with exactly its intended neighbour — unique, non-cross-reactive, and checkable by the physics of hybridisation alone. The same holds for overlap-based methods, where every fragment end must match its neighbour and no others. These design rules are annealing thermodynamics, not sociology, and they are why assembly-protocol generation is a solved-enough problem to automate. The honest split, then: the software is an engineer where the rules are physical, and a librarian where they are biological — and the frontier of the field is moving data from the second column to the first.