Skip to main content
Glama

jean — Molecular Biology & Genomics

back_translate

Read-only

Protein → DNA: the coding sequence that would encode a protein, weighted by a real codon-usage table. Four rules — the host's most-frequent codon (EMBOSS backtranseq), a draw from the family's real frequency distribution, the IUPAC-degenerate consensus for primers/probes (EMBOSS backtranambig), or DnaChisel's table-free first codon. It does NOT optimize: for restriction-site avoidance, a GC target or repeat removal, follow it with optimize_sequence.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
hostNocodon-usage table to weight by, named as the workbench knows it. Required for the two table-driven strategies and ignored by the other two. Tables loaded in the Back-translate or Optimizer panel this session are valid names as well as the bundled ones. Only applies when strategy is mostFrequent or weightedRandom.E. coli K-12
seedNoseed for the usage-weighted draw, which makes a sampled design reproducible. Omit for an unseeded draw; ignored by the three deterministic rules. Only applies when strategy is weightedRandom.
tableNogenetic code the codons are chosen under.Standard
_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.
proteinYesthe protein sequence, one-letter codes (B/Z/J/U/O/X and gaps are handled and reported); wire it from translate_sequence.
_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.
strategyNomostFrequent — EMBOSS backtranseq, and SnapGene's “Preferred Codons”: every residue takes its host's single most-used codon. | weightedRandom — Each residue is drawn from its family's real frequency distribution: a natural-looking gene rather than a run of one codon. | ambiguous — EMBOSS backtranambig: one ambiguity-coded codon covering EVERY codon for the residue. The degenerate-primer answer; needs no usage table. | firstCodon — DnaChisel's reverse_translate. Deterministic and table-free, but it is not a biological preference: use it only to reproduce a DnaChisel result.mostFrequent
append_stopNoappend a stop codon, chosen by the same strategy and table as every other codon. Skipped when the residues already end in *.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
gcYesGC fraction of the product (0–1), over unambiguous bases only
dnaYesthe coding sequence — wire it into optimize_sequence, or open it as a record
cautionsYesonly the caveats THIS product earned, each with its measurement and whose published limit it crossed — an empty list is the healthy case and is not padded
residuesYesevery residue with the codon chosen, its share of its synonymous family, and why if it took a special path
conclusionYesone generated sentence saying what this product IS — size, GC, and how adapted it is to the table you named. Built from the run by the same `conclusionOf` the panel headlines, so a turn and the panel cannot state different things about one design
provenanceYesthe assumptions the answer rests on: strategy, genetic code, codon-usage table and residue count — the same facts the panel prints under the product
undefinedResiduesYesresidues the genetic code has no codon for; each became NNN
unweightedResiduesYesresidues whose synonymous family carried NO weight in this table, so codon order decided the answer rather than usage — empty is the healthy case

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so this is a safe, non-mutating computation. The description adds real behavioral context beyond that: it is table-weighted, it does not optimize, and it must be followed by optimize_sequence for gene-design objectives, plus each strategy's algorithmic basis.

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?

Front-loads the core mapping and the non-optimization caveat, with no filler. Slightly redundant because the strategy enumeration largely duplicates the rich strategy enum descriptions in the schema.

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?

With an output schema present, return values need not be explained, and the description covers the strategy space, the non-optimization boundary and the follow-up tool. An agent has enough to call it correctly, though the host/table interaction is left 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%, so the baseline is 3; the schema already documents host, seed, table and strategy at length. The description largely restates the four strategies rather than adding format or interaction detail the schema lacks (e.g. how host interacts with table).

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?

States a specific verb and resource direction ('Protein → DNA: the coding sequence that would encode a protein') and immediately names the four strategies that define the tool's scope. It is clearly distinguishable from siblings like optimize_sequence or translate_sequence.

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?

Adds a strong negative boundary ('It does NOT optimize: for restriction-site avoidance, a GC target or repeat removal, follow it with optimize_sequence'), which routes the agent to the right next tool. It lacks an explicit positive 'use this when' sentence, but the strategy breakdown implies the use cases well.

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