Non-Repetitive Parts Calculator — Build a Part Toolbox That Cannot Recombine With Itself
Find the largest subset of your parts that share no long stretch of sequence, or design new ones that do not — the property that keeps a multi-part assembly stable and synthesisable.
🔒 Nothing you paste is logged or stored on our servers
Repetition is the failure that is invisible per part. Every promoter in your collection can look fine on its own while two of them share twenty-five bases, and the consequences arrive later and somewhere else: the assembly recombines once it is in a genome and quietly loses a cassette, or the synthesis order comes back delayed or cancelled — repetitive DNA is the single largest contributor to synthesis failure in the published analysis of what makes fragments fail. This tool asks the only question that catches it, which is a question about PAIRS rather than about parts: does any two of these share more than a length you choose, on either strand? Finder mode takes your toolbox as FASTA and returns the largest subset in which none do, naming every conflicting pair and why each dropped part was dropped. Maker mode goes the other way: give it an IUPAC template — hold a −35 and −10 box, randomise the flanks — and it constructs as many parts as you ask for that share nothing with each other, nothing with themselves, and nothing with a background sequence you supply, while honouring a GC window and excluding the restriction sites you clone with. It is deterministic throughout: whether two parts conflict is a fact about their substrings, not a score, and the same seed gives the same toolbox, so a library you ordered still matches the answer a month later.
Paste a set of parts above to see which of them share sequence.
How to use the Non-Repetitive Parts Calculator tool
- 1Pick a mode: paste an existing toolbox as FASTA to find a clean subset, or write a template to design new parts.
- 2Set the maximum shared length. Fifteen bases is a reasonable default; below about eight every pair of sequences matches by chance.
- 3In Finder mode, read the conflicting pairs — each names both parts and the stretch they share, including matches that are only visible reverse-complemented.
- 4In Maker mode, add the restriction sites you clone with as excluded motifs, then generate. Fewer parts than you asked for means the constraints left no room, and the shortfall says which one to loosen.
Frequently asked questions
Why does it matter that two parts share sequence, if each one works?
Because the failure is a property of the pair, not of either part. Two identical stretches in the same molecule are the substrate homologous recombination pairs up, so the DNA between them can be excised — which is how a multi-cassette construct loses a cassette while growing perfectly well. Separately, repetition is what synthesis vendors' complexity filters flag: the published feature-importance analysis of DNA synthesis failures puts repetitive sequence first among all causes. Checking each part alone finds neither.
How is this different from the Plasmid Stability Checker?
Same measurement, two different scopes. The stability checker looks INSIDE one construct for repeats it can delete itself with. This looks BETWEEN parts, before they are assembled, and it also builds replacements. Use the stability checker on the finished molecule and this one on the collection you are assembling it from.
Is the subset it returns the largest possible one?
Not guaranteed. Finding the largest mutually non-repetitive subset is the maximum independent set problem, which is NP-hard, so the answer comes from an approximation and is reported as one. Two strategies are offered because they disagree on real toolboxes — try both and keep the larger. Every part it keeps is genuinely non-repetitive at your threshold; what is not guaranteed is that no bigger clean subset exists.
Why does it check the reverse complement?
Because both recombination and synthesis see both strands. A stretch that appears forwards in one part and reverse-complemented in another is the same stretch of double-stranded DNA, and a forward-only comparison misses it entirely. You can turn it off, but almost no real use should.
Maker mode returned fewer parts than I asked for. Is that a bug?
No — it is the honest answer, and the alternative would be worse. A template of a given length at a given maximum shared length has a finite number of mutually non-repetitive forms, and constraints like a narrow GC window or a long fixed region shrink it further. Rather than emitting a part that violates the constraint to hit your count, it stops and says which constraint to loosen. A template whose FIXED region is longer than your threshold can only ever yield one part, because every member shares that region with every other.
Can I use this from the API?
Yes. Both modes are registry tools — nonrepetitive_parts_find and nonrepetitive_parts_design — so they are callable over the REST API, the MCP server and the batch endpoints, with the same deterministic behaviour. The design mode takes a seed, so a scripted pipeline reproduces the same toolbox.
More
Related tools
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.
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.