Skip to main content
Glama

jean — Molecular Biology & Genomics

draw_gel

Read-only

Run an agarose gel and photograph it: every lane's fragments migrated by the validated pydna model, drawn as a gel-doc image with the marker ladder's bp marks and each lane's name. The same plate the gel panels draw, so the figure and the rail put every fragment in the same place. Wire fragments from a digest or lengths from an assembly into lanes. A fragment the calibrating curve cannot place is COUNTED in offScale, never drawn at the well.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
lanesYesthe lanes, each {name, lengths: [bp, …]}. The marker lane is added for you — `ladder` chooses it.
stainNothe dye the plate was stained with; its published emission maximum is the colour the bands are drawn in. Values: etbr (Ethidium bromide), sybr-safe (SYBR Safe), sybr-gold (SYBR Gold), gelred (GelRed).etbr
_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.
labelsNoprint the ladder's readable bp marks, each lane's number above its well and a legend naming it. Off gives the bare plate, for a figure that captions itself.
ladderNothe MW marker in the reference lane, which is also the curve every lane's migration is read off unless `agarose_percent` is set. 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
captionNothe line under the plate naming the curve that positioned the bands and what their brightness is relative to. 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.
dna_formNotopology of the sample DNA: supercoiled and nicked circles do not migrate where a linear fragment of the same length does. Only the Helling-Goodman-Boyer law uses it. Values: linear (Linear), supercoiled (Supercoiled), nicked (Nicked), relaxed (Relaxed). Only applies when agarose_percent is set. Advanced.linear
exposureNoWhole plate: brightness against the brightest band on the plate (a lightly loaded lane, the ladder included, can draw almost black); Per lane: brightness against each lane's own brightest band (brightness can no longer be compared between lanes). Values: plate (Whole plate), lane (Per lane).plate
lane_widthNohow wide each lane is drawn. In px. Advanced.
mobility_modelNowhich published mobility law the agarose % is applied through. Ignored unless `agarose_percent` is set. Values: helling-goodman-boyer (Helling-Goodman-Boyer), rill-van-winkle (Rill / Van Winkle). Only applies when agarose_percent is set. Advanced.helling-goodman-boyer
agarose_percentNothe gel's agarose (% w/v). Set it and migration comes from a concentration law instead of the ladder's own spline, so the gel responds to the percentage the way a real one does; leave it unset for the ladder-calibrated placement. In %.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
svgYesthe gel as an SVG figure, carrying the photographed plate and its labels
widthYesfigure width in px
heightYesfigure height in px
ladderYesthe marker in the reference lane
offScaleYesfragments the curve could not place, so they are NOT on the picture — check this before reading a lane as complete
bandCountYesbands with a position on this plate — what the picture shows
laneCountYessample lanes drawn, the marker lane excluded
calibratedByYesthe (bp, Rf) curve that positioned every lane

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 already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds genuine behavioral context beyond that: fragments the calibrating curve cannot place are COUNTED in offScale and never drawn at the well, and migration uses 'the validated pydna model'. This discloses non-obvious output behavior.

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 action in the first sentence, then layers in input wiring and the offScale edge case. Four sentences with little waste, though the offScale/well detail is dense jargon that could be trimmed.

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 exists, so return values need not be described, and the 12 parameters are fully covered in the schema. The description supplies purpose, input sources, and the offScale behavior; its only notable gap is the lack of explicit differentiation from sibling gel tools.

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 each parameter (ladder, stain, labels, dna_form, mobility_model, etc.) is already thoroughly documented in the schema. The description only weakly adds meaning by naming fragments/lengths as lane sources; the baseline 3 applies when the schema does the heavy lifting.

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 specific verb and resource — 'Run an agarose gel and photograph it' — and describes the output as a gel-doc image with ladder marks and lane names. It clarifies scope by noting it draws 'the same plate the gel panels draw', but it never explicitly distinguishes itself from the closely related run_gel_lane / run_gel_plate siblings.

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?

Gives input wiring guidance ('Wire `fragments` from a digest or `lengths` from an assembly into `lanes`'), which tells the agent what to feed it. However, there is no explicit statement of when to prefer this tool over run_gel_lane, run_gel_plate, or other gel-rendering siblings, so the routing decision is left implicit.

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