Operon Designer — Assemble a Polycistron and Find What the Joins Created
Build a multi-gene operon from a promoter, coding sequences and a terminator, then scan the assembled molecule for the internal promoters, ribosome binding sites and terminators that the joins created.
🔒 Nothing you paste is logged or stored on our servers
The elements that break an operon are usually not in any of its parts. They are made by the JOIN: the last bases of one coding sequence plus the first of the next spacer spell a Shine-Dalgarno sequence, or a −35 box in one gene pairs with a −10 box that only exists once the next part is attached. Checking each part and then assembling finds nothing, and the construct still has the problem — an internal promoter reading backwards through an upstream gene, an internal ribosome binding site producing a truncated protein, a terminator-shaped hairpin cutting the message short. So this assembles first and scans the product. Give it your coding sequences in order, optionally with a promoter, a spacer, a terminator and a host to recode for, and it returns the assembled sequence, an annotated GenBank file, and every consensus-matching element in the molecule with its coordinates, its strand and how far it sits from consensus. What it reports is what MATCHED: a −35 and a −10 box seventeen bases apart with one mismatch, at position 812. It does not score that match or claim it transcribes — for an estimated strength, the RBS Designer's promoter and translation models are one page away, and they carry their own accuracy statements because those are estimates and these are not.
Paste one or more coding sequences above to assemble an operon.
Design, edit, and verify complete constructsSeqStudio combines sequence editing and annotation, plasmid maps, primer/cloning/CRISPR design, Sanger verification, and GenBank/SnapGene files in one workspace.
How to use the Operon Designer tool
- 1Paste your coding sequences, one per line, optionally with a name in front of each.
- 2Add a promoter, an inter-gene spacer and a terminator if you have chosen them, and pick a host if you want every CDS recoded.
- 3Press Assemble and check. The recoding is verified to translate back to the same protein, and skipped for any gene where it would not.
- 4Read the elements found in the ASSEMBLED molecule, then download the annotated GenBank or copy the sequence into a map.
Frequently asked questions
Why scan the assembled operon rather than each part?
Because the elements this finds are very often created by the junction between two parts and exist in neither. A Shine-Dalgarno sequence spanning the end of one CDS and the start of the next spacer is invisible in both parts and perfectly real in the product. That is the entire reason assembly and scanning are one step here rather than two tools.
Does finding an “internal promoter” mean my construct is broken?
It means a sequence in your construct matches the sigma-70 consensus within the mismatch budget you set. Whether it actually transcribes depends on the host, the growth condition and context this tool does not read. Treat a hit as a place to look, not a verdict — and if you want a strength estimate, the Promoter Calculator model on the RBS Designer page gives one, with its own accuracy caveats.
Why does it search the reverse strand?
Because a promoter pointing backwards through an upstream gene is the one that does the most damage — it makes antisense RNA and knocks down expression of everything it reads through — and it is completely invisible to a forward-only scan. Coordinates are always reported on the forward strand, with the strand named, so you can find the hit in your own map.
What does recoding for a host actually do?
It replaces every codon with that host's most-frequent codon for the same amino acid, and then checks that the result translates back to exactly the protein that went in — if it does not, that gene is left alone and a warning says so. It is a determinate rewrite, not a yield prediction: published codon-optimisation algorithms are close to a coin flip on whether they raise or lower real expression, so treat recoding as removing rare codons rather than as an expected improvement.
Why does it not assign a translation rate to each gene?
Because that is a modelled estimate and this tool is deterministic. Mixing them would make an assembly step inherit a model's error bars without saying so. The RBS Designer page has both halves — rbs_predict for a rate and the RBS library designer for a ladder of them — and both carry their published validation statistics.
What does it not check?
Expression level of anything, synthesisability of the assembled sequence (run the Synthesis Complexity tool on it), mRNA folding beyond the shape of an inverted repeat, and whether any consensus match is functional. The gate in the API response lists all of this explicitly rather than leaving it implied.
More
Related tools
Measure the repeats, GC extremes, GC transitions, homopolymer runs and hairpins that make a fragment hard to synthesise — each against the threshold vendors publish, with no score and no probability.
Locate the exact direct repeats that let a construct recombine away the DNA between them, and build the shortened molecule you would actually recover.
308 publicly deposited vectors with their full GenBank feature tables, and 617 parts harvested from them.