Skip to main content
Glama

jean — Molecular Biology & Genomics

design_codehop

Design CODEHOP hybrid oligos from a block of aligned PROTEIN - for homologues too diverged for nucleotide-level design to see at all. Each primer is a 3' DEGENERATE core over a few conserved residues fused to a 5' non-degenerate consensus clamp, back-translated through a codon-usage table. A different algorithm from the degenerate designer, not a variant of it.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tableYesthe codon-usage table to back-translate the clamp through, BY NAME as the Codon Usage panel lists it. REQUIRED and deliberately without a default: a CODEHOP designed under the wrong organism's usage is wrong in a way nothing downstream can detect, so picking one here would silently pick a host (§1).
_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.
strandNowhich strand to design on. `both` returns forward and reverse sets, which is what a PCR needs.both
max_runNolongest single-base run allowed; 2003's stated polynucleotide run limit. A primer exceeding it is rejected. In nt. Advanced.
_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.
clamp_tmNotarget melting temperature for the non-degenerate 5' clamp (Rose 2003 step 8: "the current default is 60 °C, which usually provides a clamp of ~20 nucleotides"), measured as nearest-neighbour Tm in the buffer `conditions` names. In °C.
alignmentNothe ALIGNED PROTEIN rows, each { name, sequence } in one-letter amino acids with gaps preserved - wire an upstream protein alignment here. At least 3 sequences: the clamp is a CONSENSUS, and two have none worth the name.
weightingNohow the alignment's rows are weighted before the core's consensus is read. Values: pb (Position-based (Henikoff & Henikoff 1994)), none (None — every row counts once). Advanced.pb
conditionsNosalt, magnesium, dNTP and oligo concentrations plus the salt-correction method and any additives the clamp Tm is measured in. Left unset it is filled from your reaction-conditions settings, and falls back to pydna's Taq defaults (SantaLucia & Hicks 2004 table, 250 nM primer, Owczarzy 2008 salt correction) when there are none. Advanced.
base_cutoffNominimum predicted probability for a base to enter the degenerate core. Advanced.
block_indexNowhich gapless block to design in, 0-based, ordered as `gaplessBlocks` returns them (blocks of at least 8 ungapped columns). Unset = the first.
core_lengthsNocore lengths the scan tries, in residues — every length here is scanned and the best-scoring core kept. Advanced.
alignment_fastaNoan aligned PROTEIN FASTA, when there is no upstream alignment to wire.
genetic_code_idNoNCBI `transl_table` id for the codon-to-residue map. Advanced.
max_clamp_lengthNoceiling on clamp growth, so an unreachable Tm REFUSES instead of consuming the whole block. Ours, and a stop condition rather than a published criterion - 40 nt is already twice the ~20 the paper expects. In nt. Advanced.
max_core_degeneracyNodegeneracy ceiling for the 3' core (Rose 2003 step 7: "a maximum degeneracy of 128").

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
tableYeswhich codon table the clamp was back-translated through, named so a design is never unattributable
forwardYesthe first forward oligo, clamp + core
primersYesthe designed oligos: each with its degenerate 3' core, its consensus 5' clamp, the residues it covers and its degeneracy
reverseYesthe first reverse oligo
blockCountYeshow many gapless blocks the alignment offers, so a caller can see there were others to choose
rejectionsYeswhy each candidate position was rejected - degeneracy, run length, or a clamp that could not reach the Tm
primerCountYeshow many oligos were designed

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare the safety profile (destructiveHint=false, readOnlyHint=false, openWorldHint=false) and an output schema exists, so the bar is lower. The description still earns credit by disclosing the algorithmic behavior — hybrid degenerate-core/non-degenerate-clamp architecture and codon-usage back-translation — which tells the agent what kind of artifact it will get and why the design differs from a plain degenerate primer.

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

Conciseness5/5

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

Three sentences, each load-bearing: purpose first, mechanism second, sibling differentiation last. No filler, no restatement of the name or title, and the rationale ('too diverged for nucleotide-level design') is front-loaded ahead of the mechanics.

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 16-parameter tool with nested objects, an output schema and full schema description coverage, the description covers purpose, mechanism, and tool selection adequately; return values and parameter details are carried by structured fields. The only thing an agent might want stated upfront — the minimum of three aligned sequences and the mandatory codon table — lives in the schema rather than the prose.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds meaning beyond the schema by supplying the conceptual model — 'degenerate core' and 'non-degenerate consensus clamp' back-translated through a codon-usage table — which is exactly the frame needed to interpret clamp_tm, core_lengths, max_core_degeneracy, base_cutoff and max_clamp_length correctly.

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

Purpose5/5

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

Specific verb + resource ('Design CODEHOP hybrid oligos from a block of aligned PROTEIN') with the molecular mechanism spelled out (3' degenerate core + 5' consensus clamp, back-translated through a codon-usage table). It explicitly distinguishes itself from the sibling design_degenerate_primers: 'A different algorithm from the degenerate designer, not a variant of it.'

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

Usage Guidelines4/5

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

Gives a clear selecting condition — 'for homologues too diverged for nucleotide-level design to see at all' — which routes the agent away from nucleotide-level designers and toward this tool. It stops short of naming the specific sibling tool (design_degenerate_primers) or stating explicit exclusions, so it is clear context rather than fully explicit when/when-not routing.

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