Skip to main content
Glama

jean — Molecular Biology & Genomics

design_free_codes

Read-only

Generate INDEL-correcting barcodes — FREE divergence codes (Hawkins et al., PNAS 2018) — by reserving each codeword's error sphere over the whole 4^k space, so the guarantee survives an insertion or deletion rather than only a substitution. Or prune a set you already own down to a valid FREE code, and see which members' decode spheres collided. This is a different construction from design_barcodes' distance-based search, and answers a different question: a Levenshtein-distance set corrects indels between two barcodes, a FREE code corrects them in the read.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeNogenerate a new code, or prune an existing set down to a valid one. Values: generate (Generate a code), prune (Prune a set to a valid code).generate
limitNostop after this many codewords. 0 = take the whole code. Advanced.
_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.
lengthNobarcode length k. The search is over the whole 4^k space, so cost rises steeply with it.
max_gcNoreject a candidate above this GC fraction. 0 = no limit. 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.
barcodesNothe set to prune — required when `mode` is `prune`, ignored when generating. Only applies when mode is prune.
reservedNocodewords already in use, whose decode spheres are claimed BEFORE generation — this is how a code is EXTENDED rather than regenerated, so what comes back is compatible with the indexes a lab already owns.
max_errorsNohow many insertions/deletions/substitutions each codeword must tolerate. Each extra error costs most of the code.
max_homopolymerNoreject a candidate with a run of this many identical bases. 0 = no limit. Advanced.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
countYeshow many codewords came back
droppedYesprune only: the codewords removed because their decode spheres collided — a user pruning their own set needs to know which indexes to stop using, not how many
barcodesYesthe codewords — generated, or the ones that survived pruning

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 this is a safe, non-destructive, closed-world read/compute operation, so the bar is lower. The description still adds real value: it explains that the search spans the whole 4^k space (cost implication), that prune mode reports colliding decode spheres, and that `reserved` enables extension compatible with existing lab indexes.

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?

Three sentences, front-loaded with the core action and immediately followed by the sibling contrast. The prose is dense and jargon-heavy ("error sphere," "decode spheres") but each sentence carries distinct information, so there is little waste.

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?

An output schema and full annotation set exist, so return values and safety need not be described. For a 10-parameter tool with nested objects and two modes, the description conveys the domain model and the sibling distinction well; the main omission is explicit prerequisite/format guidance for the prune input, which the schema partly covers.

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 schema already documents every parameter including the mode enum and the `reserved`/`barcodes` semantics. The description reinforces the conceptual model (error-sphere reservation) but adds little parameter-level detail beyond what the schema supplies; baseline 3 is appropriate.

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?

The description names a specific verb and resource ("Generate INDEL-correcting barcodes — FREE divergence codes") and covers both modes (generate and prune). It explicitly distinguishes itself from design_barcodes by naming the sibling and stating the difference in construction (FREE error-sphere reservation vs. Levenshtein-distance search), so an agent can route correctly.

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?

It gives clear context for both branches: generate a new code, or prune an owned set down to a valid one. It also names the alternative (design_barcodes) and articulates the selection question (indel correction between barcodes vs. in the read). It stops short of explicit "use X instead when..." routing or prerequisite/permission notes, so a 4 rather than 5.

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