Skip to main content
Glama

jean — Molecular Biology & Genomics

draw_alignment

Read-only

Draw a block of an alignment as an SVG figure: the rows named, the residues shaded by how much of their column agrees with them, the column numbers over the block and Easel's Clustal conservation line under it. Wire alignedSequences from align_sequences. Name the window around whatever you are asking about — a variable site, a motif, a gap — because a 2,000-column alignment drawn at once shows nothing.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
fromNofirst column drawn, 1-based and inclusive. Clamped into the alignment.
rowsYesthe ALIGNED rows, each {name, aligned}; every row must already be the same length. Wire `alignedSequences` from align_sequences.
rulerNoprint the column numbers over the block. 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.
schemeNoidentity shades a residue by how much of its column agrees with it, which works for any alphabet; nucleotide paints QUEEN's own base colours and is IGNORED over protein rows, which the answer's `scheme` then says. Values: identity (Column identity), nucleotide (Base colours).identity
columnsNohow many columns to draw. Past about 200 the letters are narrower than the strokes that make them.
_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.
cell_widthNowidth of one column's cell. In px. Advanced.
name_charsNohow many characters of a row's name to print; a longer one is elided in the middle, keeping the tail where two rows of a family differ. Advanced.
row_heightNoheight of one row. In px. Advanced.
conservationNoprint the conservation line under the block.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
svgYesthe alignment block as an SVG figure
rowsYesrows drawn
widthYesfigure width in px
heightYesfigure height in px
schemeYesthe scheme ACTUALLY used, which is `identity` whenever `nucleotide` was asked for over protein rows
columnsYescolumns in the WHOLE alignment, so the window can be read against it
alphabetYesthe alphabet the conservation line was computed for — Easel marks the strong and weak groups for protein only
lastColumnYeslast column drawn, 1-based inclusive
firstColumnYesfirst column drawn, 1-based inclusive, AFTER clamping
meanIdentityYesmean per-column identity over the window drawn, 0-1 — the window's, not the alignment's
conservedColumnsYescolumns in the window every row agrees on and none gaps — the `*` marks

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 a safe, non-destructive read, so the description's job is to disclose rendering behavior — and it does: identity shading is defined as column-agreement, nucleotide colours are ignored over protein rows, and the conservation line is drawn under the block. It does not discuss output size or performance limits beyond the windowing hint, which is already partly in the schema.

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 outcome and followed by the upstream wiring hint and the windowing constraint; no filler. Slightly dense with parenthetical asides, but every sentence carries information an agent needs.

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-format explanation is unnecessary, and the 11-parameter schema is fully described. The description supplies the missing workflow context (upstream producer and the windowing caution). Remaining gap is the absence of explicit routing against the nearest sibling, alignment_window.

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 (from, rows, scheme, columns, ruler, conservation, etc.). The description reinforces the meaning of `scheme` (shading by column agreement) and `conservation`/`ruler` conceptually, but adds little syntax or default information beyond what the schema states. Baseline 3 applies.

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 (Draw) and resource (a block of an alignment) and immediately specifies the artifact produced — an SVG figure — plus the visual elements rendered (named rows, identity shading, ruler, conservation line). The 'alignment' resource is unique among the draw_*/export_* siblings, so an agent can pick it without opening the schema.

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 prerequisite (wire `alignedSequences` from align_sequences) and actionable scoping advice ('Name the window around whatever you are asking about... a 2,000-column alignment drawn at once shows nothing'). It does not, however, name a sibling alternative such as alignment_window or alignment_agreement, so it stops short of explicit when-not guidance.

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