Skip to main content
Glama

jean — Molecular Biology & Genomics

design_saturation_primers

Design site-saturation mutagenesis (SSM) primers: one overlapping forward/reverse pair per site, each carrying a degenerate codon, sharing ONE reaction-level overlap and 3' temperature so every site amplifies in the same tube (both of Mutation Maker's solvers: fast approximation by default, exhaustive search on request). Every Tm is Biopython's Tm_NN over the Allawi & SantaLucia 1997 nearest-neighbour table (DNA_NN3, upstream's own), under the salt correction and buffer below. A design/write.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
kNopotassium concentration. In mM. Advanced.
mgNomagnesium concentration — the term the Owczarzy corrections are most sensitive to. In mM. Advanced.
naNosodium concentration the salt correction is computed for. In mM. Advanced.
cdsYesthe CDS nucleotide sequence, in frame from the start codon (length must be a multiple of 3).
dntpNototal dNTP concentration, which chelates magnesium and so lowers the effective Mg²⁺. In mM. Advanced.
trisNoTris concentration. In mM. Advanced.
dnac1Nothe higher-concentration strand (the primer, in a large excess). In nM. Advanced.
dnac2Nothe lower-concentration strand (the template). In nM. Advanced.
sitesYesthe saturation sites, comma- or space-separated, as [WT][pos]X — e.g. "V2X, K107X". 1-based residue positions.
_filesNoThe project: record references shaped like _subject. Their records become library documents a tool names in sequences/parts/document; a trace or alignment is found by file name.
solverNowhich of Mutation Maker's two solvers designs the pairs. `fast` grows one candidate per site per temperature combination (upstream's own default, milliseconds). `exhaustive` enumerates every primer of every allowed length at every allowed start and scores every geometrically valid pair — hundreds of thousands per site, seconds rather than milliseconds, and it reports what it searched. Values: fast (Fast approximation), exhaustive (Exhaustive search).fast
_subjectNoThe record to act on: exactly one of sequence, accession (+source), sample (an id from list_samples) or file ({name, text} or {name, base64}); record_index picks one record of several.
precisionNodecimal places the reported Tm is rounded to. In dp. Advanced.
oligo_prefixNoprefix for the designed oligo names. Advanced.ssm
five_end_flankNoexplicit 5' flanking sequence — only for a free-standing gene with no plasmid open, and then the 3' flank is required too. Advanced.
forward_primerNo5' flanking primer, 5'→3'. Left empty, it is read off the open plasmid 56 bp either side of the CDS (22 nt, and only when it occurs there exactly once).
max_gc_contentNohighest GC accepted. In %. Advanced.
min_gc_contentNolowest primer GC accepted before a primer is flagged out of range. In %. Advanced.
reverse_primerNo3' flanking primer, 5'→3' on its own strand. Left empty, it is read off the open plasmid 56 bp either side of the CDS (22 nt, and only when it occurs there exactly once).
max_primer_sizeNolongest whole primer. In nt. Advanced.
min_primer_sizeNoshortest whole primer. In nt. Advanced.
salt_correctionNosalt-correction method, in Biopython's `saltcorr` order. Values: No (None), Schildkraut_1965 (Schildkraut & Lifson 1965 (16.6 · log[Na⁺])), Wetmur_1991 (Wetmur 1991 (16.6 · log[Na⁺/(1 + 0.7 · Na⁺)])), SantaLucia_1996 (SantaLucia 1996 (12.5 · log[Na⁺])), SantaLucia_1998 (SantaLucia 1998 (11.7 · log[Na⁺])), SantaLucia_DeltaS_1998 (SantaLucia 1998, entropy (corrects ΔS, not Tm)), Owczarzy_2004 (Owczarzy 2004 (GC-dependent, corrects 1/Tm)), Owczarzy_2008 (Owczarzy 2008 (Mg²⁺ decision tree, dNTP-corrected)). Advanced.Owczarzy_2004
three_end_flankNoexplicit 3' flanking sequence, the partner of `five_end_flank`. Advanced.
degenerate_codonNothe degenerate codon installed at every site (NNK is the common 32-codon choice).NNK
max_overlap_sizeNolongest overlap. Upstream's scan stops two short of this (a reproduced quirk, see the port header). In nt. Advanced.
min_overlap_sizeNoshortest shared overlap. In nt. Advanced.
gc_content_weightNoscore weight on GC overflow. Upstream's default is 0, and its GC term counts G twice and never counts C (a reproduced bug, see the port header) — raising this weight makes that quirk observable. Advanced.
max_five_end_sizeNolongest 5' arm before the mutated codon. In nt. Only applies when solver is exhaustive. Advanced.
min_five_end_sizeNoshortest 5' arm before the mutated codon. In nt. Advanced.
max_three_end_sizeNolongest 3' arm beyond the mutated codon. Bounds the search area and discards candidates whose 3' arm overruns it. In nt. Only applies when solver is exhaustive. Advanced.
min_three_end_sizeNoshortest 3' arm beyond the mutated codon. In nt. Advanced.
overlap_temp_rangeNowidth of the overlap Tm window. In °C. Advanced.
overlap_temp_weightNoscore weight on overlap Tm deviation. Advanced.
three_end_temp_rangeNowidth of the 3'-end Tm window scanned around each candidate temperature. In °C. Advanced.
three_end_size_weightNoscore weight on 3'-end length deviation. Advanced.
three_end_temp_weightNoscore weight on 3'-end Tm deviation. Advanced.
max_overlap_temperatureNohighest overlap Tm allowed. In °C.
min_overlap_temperatureNolowest overlap Tm the reaction may settle on. In °C.
overlap_temp_range_stepNostep between overlap temperatures tried. In °C. Advanced.
exclude_flanking_primersNotake the 3' Tm window from the explicit min/max above instead of from the flanking pair's own Tm. Advanced.
compute_hairpin_homodimerNoadd the hairpin/homodimer/heterodimer penalty to the score (roughly doubles the run; off upstream). Advanced.
max_three_end_temperatureNohighest 3'-end Tm allowed. In °C.
min_three_end_temperatureNolowest 3'-end Tm (used when `exclude_flanking_primers` is on; otherwise the window comes from the flanking pair). In °C. Only applies when exclude_flanking_primers is true.
three_end_temp_range_stepNostep between 3'-end temperatures tried. In °C. Advanced.
hairpin_temperature_weightNoscore weight on hairpin Tm. Only applies when compute_hairpin_homodimer is true. Advanced.
primer_dimer_temperature_weightNoscore weight on homo/heterodimer Tm. Only applies when compute_hairpin_homodimer is true. Advanced.
separate_forward_reverse_temperaturesNooptimise the forward and reverse 3' temperatures independently. Advanced.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
pairsYesone designed forward/reverse pair per site, with its overlap, temperatures, GC and in-range flags
searchYeswhat the solver actually searched: candidates enumerated and kept, pairs scored, temperature combinations tried. Null for the fast solver, which enumerates nothing
siteCountYessites requested
foundCountYessites the solver found a pair for (< siteCount means the parameters were too tight for some)
fullSequenceYesthe construct the design spans, flanking primer to flanking primer
forwardTemperatureYesreaction-level forward 3'-end Tm
overlapTemperatureYesthe ONE overlap Tm the whole reaction settled on
reverseTemperatureYesreaction-level reverse 3'-end Tm

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations cover the safety profile (readOnlyHint=false, destructiveHint=false, openWorldHint=false), and the description adds genuine method context beyond that: the two solvers and their cost tradeoff, the exact Tm model (Biopython Tm_NN over Allawi & SantaLucia 1997 DNA_NN3). It does not quantify run cost or failure modes in detail, but the algorithmic disclosure is meaningful.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core behavior is front-loaded in the first sentence, followed by two supporting sentences on solvers and Tm method. It is appropriately brief for a 47-parameter tool, though the trailing fragment 'A design/write.' is awkward and adds nothing beyond the write annotation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a very complex design tool an output schema exists, so return values need not be explained, and 100% schema coverage handles the parameter surface. The description supplies the essential model-level context (shared overlap constraint, solver choice, Tm method), leaving only prerequisites such as the open-plasmid/flanking requirement to the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% across 47 parameters, so the schema already documents every argument in depth. The description only gestures at the salt/buffer parameters ('under the salt correction and buffer below') without adding syntax or defaults, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a precise verb+resource ('Design site-saturation mutagenesis (SSM) primers') and adds the defining structural signature — one overlapping forward/reverse pair per site sharing a single reaction-level overlap and 3' temperature. This implicitly separates it from siblings like design_mutagenesis_primers and design_multisite_primers, but no sibling is named explicitly, so it falls short of a full 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The scope ('every site amplifies in the same tube') implies when this tool is appropriate versus simpler single-site designs, and it notes the default solver is fast with exhaustive 'on request'. However, there is no explicit when-to-use/when-not guidance and no named alternatives, so usage must be inferred.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources