Install any skill in seconds. Free to start, no credit card required.
Get Started Free →PCR / qPCR primer and oligo design — design forward/reverse primers for a target region (SantaLucia nearest-neighbor thermodynamics), compute melting temperature (Tm) and annealing temperature (Ta), check GC content, and screen an oligo for hairpins and primer-dimers. Use when you need primers for a sequence, want to QC an existing primer pair, or need the Tm of an oligo. Covers the primer-design rules (Tm matching, GC clamp, 3'-end, length) and the tools' constraint quirks.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-13 | ✗→✓ | ▲ Improved | 79% | 0% |
| case-16 | ✗→✓ | ▲ Improved | 54% | 0% |
| case-12 | ✓→✗ | ▼ Worse | 3% | 0% |
| case-03 | ✓→✓ | = Same ✓ | 45% | 0% |
| case-04 | ✓→✓ | = Same ✓ | 56% | 0% |
Design primers for a target DNA region, get their Tm/Ta, and QC them for the secondary-structure problems that make a PCR fail.
bashtu run DNA_primer_design '{"operation":"primer_design", "sequence":"ATGGCG...AACGTG", # full template; must be >= target_end + flanking primer room "target_start":40, "target_end":125, "tm_target":60, "product_size_min":80, "product_size_max":140}'
Returns forward_primer / reverse_primer (sequence, tm, gc_content, length, position) and product_size. (target_end is clamped to the sequence length, so a too-short template silently shrinks the target — see the constraint quirk below.)
> Constraint quirk — read this or it will error. target_start..target_end is the region the amplicon must cover, and the design only succeeds when that span fits inside the product-size window AND good-Tm primers can be placed flanking it. So you need roughly: product_size_min ≤ (target span) ≤ product ≤ product_size_max, with enough flanking sequence on both sides. Common errors and the fix: > - "Target region (N bp) is smaller than product_size_min" → your target is narrower than product_size_min; lower product_size_min or widen the target. > - "product does not cover the target / does not span" → the target is too wide for product_size_max, or runs too close to a sequence end; widen product_size_max or give more flanking sequence.
bashtu run NEB_Tm_calculate '{"primer_sequence":"CTACCTGAAGAACCTGAG", "primer_sequence_2":"CTTGATGTCCTCCAGCAT", "polymerase":"Q5", "primer_concentration":500, "monovalent_salt_mm":50}'
NEB returns Tm for each primer and a recommended annealing temperature (Ta) for the chosen polymerase. IDT_analyze_oligo (sequence, salt/Mg/dNTP/oligo concentrations) adds GC%, molecular weight, and hairpin / self-dimer screening. DNA_calculate_gc_content is a quick GC check.
> Tm depends on method + conditions. SantaLucia NN (the design tool), NEB, and IDT use different parameter sets, and Tm shifts with monovalent salt, Mg²⁺, and primer/dNTP concentration. Pick one calculator + condition set and use it for the whole experiment; don't compare a SantaLucia Tm to an IDT Tm. Always state the conditions.
| Property | Target | Why | |---|---|---| | Length | 18–24 nt | long enough for specificity, short enough for efficient annealing | | Tm | 58–62 °C | works with standard cycling; keep the pair within ~2–3 °C of each other | | ΔTm (forward vs reverse) | < 3 °C (≤5 absolute max) | mismatched Tm → one primer anneals poorly | | GC content | 40–60 % | balanced stability | | GC clamp | 1–2 G/C in the last 3 nt of the 3′ end | stabilizes 3′ priming; >3 G/C risks mispriming | | 3′ end | avoid 3′ complementarity within a pair and within a primer | prevents primer-dimers | | Runs / repeats | avoid ≥4 identical bases in a row and di-nucleotide repeats | reduce slippage / mispriming | | Annealing temp (Ta) | ~ Tm − 3 to −5 °C (use the polymerase's calculator) | specificity vs yield | | Amplicon (qPCR) | 70–150 bp | efficient amplification |
scripts/primer_qc.py checks a primer pair against these rules (GC clamp, 3′ self/cross-complementarity, runs, GC%, length, Wallace/NN Tm, Tm match) and flags problems — use it to QC primers from any source.
Tm and structure are necessary but not sufficient. A primer can be thermodynamically perfect and still amplify the wrong locus. These tools do not check genome specificity — always BLAST each primer (or use Primer-BLAST) against the target genome and confirm a single intended product before ordering. State this in any recommendation.
IDT_analyze_oligo / the QC script flag it.tooluniverse-sequence-analysis — upstream sequence handling (FASTQ, alignment, coverage).tooluniverse-enzyme-kinetics / tooluniverse-dose-response — other quantitative assay analyses.Other measured skills in the registry, with their headline benchmark lift.