Skip to main content
Glama

jean — Molecular Biology & Genomics

run_gel_plate

Read-only

Run a multi-lane virtual agarose gel and return its READING, not just its bands: how many lanes carrying how many bands over what range, positioned by which ladder, plus only the cautions this plate earned — a lane running off the top or bottom of the reference ladder entirely (no mark to interpolate against, so the position is the calibration curve extrapolated), a band inside the ladder but outside the resolving window of the agarose percentage cast, two fragments co-migrating as one drawn band, a DNA form the chosen law cannot move, an empty lane, and a refused calibration. Wire one run_gel_lane per lane into lanes. The migration model is @ports/gel, the same one the Virtual Gel Bench panel draws.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
formNothe DNA topology a lane runs at when its bands do not carry one. Only moves a band under a concentration law: ladder-calibrated migration reads every band off the ladder's own curve, and the reading says so rather than leaving the setting silently inert. Advanced.linear
lanesYesthe lanes, in edge order — each a `[bp, form]` band list, which is exactly what `run_gel_lane` emits. A bare list of fragment lengths is also accepted and runs at the plate `form`. Several wires land here.
_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.
ladderNothe reference ladder drawn beside the samples, and what "off the scale" is measured against. Values: generuler_1kb_plus (GeneRuler 1 kb Plus (75–20,000)), hi_lo (Hi-Lo DNA Marker (50–10,000)), generuler_1kb (GeneRuler 1 kb (250–10,000)), generuler_100bp (GeneRuler 100 bp (100–3,000)), generuler_100bp_plus (GeneRuler 100 bp Plus (100–3,000)), thermo_1kb_plus (Thermo 1 Kb Plus (100–15,000)), neb_1kb (NEB 1 kb (500–10,000)), neb_100bp (NEB 100 bp (100–1,517)), lambda_hindiii (Lambda DNA / HindIII (125–23,130)), penn_state (PennState (500–10,000)).generuler_1kb_plus
_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.
lane_namesNoa name per lane, in the same order. Unnamed lanes become `Lane 1`, `Lane 2`, … — the reading names the lane every caution is about, so a plate of unnamed lanes still says which one is off scale.
render_modeNohow the plate would be drawn. Echoed into the derivation chain because a raster merges what bands separate, so the reading is about a different picture. Advanced.bands
mobility_modelNowhich empirical agarose-% mobility law — helling-goodman-boyer (Helling–Goodman–Boyer (default)) · rill-van-winkle (Rill/Van Winkle). Values: helling-goodman-boyer (Helling–Goodman–Boyer (default)), rill-van-winkle (Rill/Van Winkle). Only applies when agarose_percent is set. Advanced.helling-goodman-boyer
agarose_percentNothe casting percentage, which activates a concentration law and a resolving window. LEAVE UNSET for the bench's own default: ladder-calibrated migration, interpolated on the ladder's measured curve with no concentration term. In %.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
bandsYesevery placed band: lane, length in bp, Rf and migration on the shared coordinate system, and whether this gel can measure it
cautionsYesonly the cautions this plate earned, each carrying the measurement that produced it and naming the lane it is about. Empty when every band is measurable
conclusionYesthe one-sentence reading, generated from this run: lanes, bands, the size range they span, and the ladder that positioned them
derivationYesthe machinery, one row per fact: what placed the lanes, the ladder that calibrated them and whether its curve is its own or borrowed, the resolving window, each lane`s DNA form, and how the plate is drawn
calibratedByYesthe ladder whose measured curve positioned every lane — which is NOT always the ladder drawn: 2 of the 10 built-ins carry (bp, Rf) points, and a gel showing one of the other 8 is positioned on the default curve
unmeasurableYesper lane, the two failures kept apart because different actions fix them: `offScale` (outside the reference ladder entirely — read it off the table) and `outOfWindow` (inside the ladder, outside this percentage`s resolving range — cast a different gel)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior5/5

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

Annotations already declare readOnlyHint/destructiveHint=false, but the description adds substantial behavioral context beyond them: what the reading contains, that off-ladder lanes are extrapolated from the calibration curve, that a concentration law yields a resolving window, co-migrating fragments, immobile DNA forms, empty lanes, and refused calibrations. It also notes that render_mode changes what the reading is about.

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 purpose and return-value summary are front-loaded before the detail, and the composition instruction follows logically. The long enumerated caution list is informative but heavy for a single sentence and could be trimmed without losing call-relevant meaning.

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, the description need not enumerate return fields, and it still adds the composition contract with run_gel_lane and the model provenance. The main gap is the absent routing guidance relative to draw_gel and other gel-related siblings.

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% and the schema already carries the detailed per-parameter prose (including the "Advanced." and "LEAVE UNSET" notes), so the description largely restates rather than extends it. The one addition — that `lanes` accepts exactly what run_gel_lane emits — is useful but marginal, so the 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 opens with a specific verb+resource ("Run a multi-lane virtual agarose gel") and immediately scopes the return value ("its READING, not just its bands"). It distinguishes itself from the single-lane sibling by instructing the agent to "wire one `run_gel_lane` per lane into `lanes`," so an agent can tell the two apart without opening either schema.

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?

Usage is only implied: the multi-lane framing and the "wire one run_gel_lane per lane" note signal this is the plate-level aggregation of the lane tool. There is no explicit when-to-use/when-not, and the relationship to the sibling draw_gel (drawing vs reading) is never stated.

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