SeqBench

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.

Build a genetic part toolbox that cannot recombine with itself. Repetition is the failure that is invisible per part: two promoters that each look fine alone can share twenty-five bases, and the consequence arrives later, as an assembly that recombines in a genome and loses a cassette, or a synthesis order that comes back delayed or cancelled. The question asked here is about PAIRS rather than about parts: do any two of these sequences 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 constructs as many parts as you ask for from an IUPAC template (hold a −35 and −10 box, randomise the flanks) that share nothing with each other, nothing with themselves and nothing with a background sequence you supply, within a GC window and excluding the restriction sites you clone with. Both modes are deterministic: whether two parts conflict is a fact about their substrings, not a score, and the same seed returns the same toolbox.

Paste a set of parts above to see which of them share sequence.

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 Non-Repetitive Parts Calculator tool

  1. 1Pick a mode: paste an existing toolbox as FASTA to find a clean subset, or write a template to design new parts.
  2. 2Set the maximum shared length. Fifteen bases is a reasonable default; below about eight, every pair of sequences matches by chance.
  3. 3In Finder mode, read the conflicting pairs: each names both parts and the stretch they share, including matches that are only visible reverse-complemented.
  4. 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 names 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. 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. Repetition is separately 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, different scope. 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.

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 kept is genuinely non-repetitive at your threshold, but a larger clean subset may exist.

Why does it check the reverse complement?

Because both recombination and synthesis see both strands. A stretch appearing 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. The check can be turned off, but almost no real use should.

Maker mode returned fewer parts than I asked for. Is that a bug?

No. A template of a given length at a given maximum shared length has a finite number of mutually non-repetitive forms, and constraints such as a narrow GC window or a long fixed region shrink it further. Rather than emit a part that violates the constraint to reach your count, it stops and names the 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.

More