Skip to main content
Glama

jean — Molecular Biology & Genomics

call_mixed_bases_from_trace

Read-only

Call the bases of a Sanger trace AND ask at every position whether a second allele is present, writing a two-base IUB code (R, Y, S, W, K, M) where it is. mode: het assumes the two alleles are present in equal amounts, which is the diploid heterozygote case; mode: mix assumes nothing about their ratio, for a mixed template, a contaminated read or a pooled sample. The two disagree: on this repo's own corpus they differ on 348 of 5,605 calls. Also returns the ALTERNATIVE calls the search considered and rejected.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeNohet = the two alleles are assumed present 1:1 (a diploid heterozygote); mix = no assumption is made about their ratio.het
tableNothe instrument/polymer calibration table to score against. The same signal scores differently under each, so a quality value is only interpretable with the table named. Defaults to ABI 3730 POP-7.3730pop7
_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.
_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.
documentNowhich trace to run on: a file name (`read_F.ab1`) or its project file id. Leave unset to use the trace tab on screen. A file id is project-specific, so a template ships this unset.
min_ratioNohow tall a second peak must be, as a fraction of the called peak, before the search will consider it as a second allele. Lowering it widens what is considered, which is not the same as calling more mixed bases.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
basesYeshow many bases the reading called
mixedBasesYeshow many positions were called as carrying two alleles. Reported as 0 rather than omitted when none were, because a missing field is not an answer
meanQualityYesthe mean Phred of the reading, on the calibration table it names
instrumentBasesYeshow many the FILE carries, so a gate can see a de-novo reading change the read's length

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=false, so the safety profile is covered. The description adds real behavioral context beyond that: the two modes disagree on 348 of 5,605 calls on the repo corpus, and the tool also returns the alternative calls the search rejected.

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?

Purpose is front-loaded in the first sentence and the mode distinction follows logically. Four sentences with little waste, though the corpus-disagreement statistic is a nice-to-have rather than strictly necessary.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/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 spelled out, and the description still notes the extra rejected alternatives. Mode, scoring-table dependence, and executable context are covered, leaving nothing an agent needs to call it correctly missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds meaning the schema lacks for `mode` by naming concrete scenarios (mixed template, contaminated read, pooled sample) and quantifying how the two modes diverge, which helps an agent choose. It says nothing extra about `min_ratio` or `table`, keeping it out of 5 territory.

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 ('Call the bases of a Sanger trace') and immediately extends it with the distinguishing behavior (testing for a second allele and emitting two-base IUB codes). This lets an agent separate it from the plain-base sibling without inspecting 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 clear when-to-use guidance for the key branch: `het` for a diploid heterozygote, `mix` for mixed template, contaminated read, or pooled sample, plus a concrete disagreement statistic. It does not explicitly name the alternative sibling (e.g. call_bases_from_trace) or state when not to use this tool, so it falls short of 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