Skip to main content
Glama

Jean — Molecular Biology & Genomics

screen_oligo_structure

Read-only

Fold a set of oligos and check them against each other: every oligo's hairpin, its self-dimer anywhere and its self-dimer at the 3' end, plus the cross-dimer with every other oligo in the set, at any position and at a 3' end.

Input Schema

NameRequiredDescriptionDefault
namesNooptional labels, in the same order as `oligos` — what the pair table calls each one. Missing or short, the rest are numbered. 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.
oligosYesthe oligos to screen, 5'→3'. One is a valid pool: it still gets its hairpin and self-dimer. Wire the primers out of a design run, or list them.
dv_concNodivalent cations (Mg²⁺), mM. In mM.
mv_concNomonovalent cations (Na⁺ + K⁺ + Tris⁺), mM. In mM.
_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_concNooligo strand concentration, nM — it moves a DIMER's Tm and leaves a hairpin's alone, because a hairpin is unimolecular. In nM.
max_loopNolargest internal loop the alignment will span (primer3's MAX_LOOP). Advanced.
dntp_concNototal dNTPs, mM — subtracted from the divalent term, because dNTPs chelate Mg²⁺. In mM.
temperatureNothe temperature ΔG is evaluated at. It does NOT move any Tm — Tm is the structure's own melting point — so change it to read ΔG at your annealing temperature. In °C. Advanced.

Output Schema

NameRequiredDescriptionDefault
cleanYesthe oligos that broke no limit of their own AND appear in no flagged pair — the ones to order. An oligo is dropped from here for a partner's sake, which is the point of screening a POOL
pairsYesevery unordered pair INCLUDING the self diagonal, with the any-position and 3'-end cross-dimer and which oligo's 3' end the reported end measure belongs to
limitsYesthe five primer3 cutoffs every verdict here was made against, and the settings file they come from — a verdict whose threshold is not stated is not checkable (§10a)
flaggedYesonly the oligos and pairs that broke a limit, with which limit — the list to act on. Empty is a real result and means every measure sat under primer3's cutoffs
perOligoYesper oligo: its hairpin, its self-dimer anywhere and its 3'-end self-dimer, each with ΔG, ΔH, ΔS, Tm, the limit it was graded against and whether it exceeds it — plus primer3's own drawing of the pairing, so a number can be checked rather than trusted
conditionsYesthe buffer every number here was computed in, including the values left at their default — so a result carries its own reaction rather than an unstated one
provenanceYeswhich primer3 this engine IS, and which one a user comparing against primer3web or bioconda `ntthal` is holding. The two generations disagree on about 3% of primer-length oligos
worstAnyTmCYesthe highest any-position dimer melting temperature in the set, self-dimers included
worstEndTmCYesthe highest 3'-end dimer melting temperature in the set — the single number that predicts a primer-dimer band. Self-dimers count, because an oligo dimerising with itself makes a band too. 0 means no 3'-anchored alignment was found at all, not that the set is safe
worstHairpinTmCYesthe highest hairpin melting temperature across the oligos — a hairpin melting above the annealing temperature competes with the template
incompatibleCountYeshow many DISTINCT pairs broke a limit — the self diagonal excluded, because a single oligo's self-dimer is not a pair problem and counting it makes a one-oligo run report an incompatibility. Branch a workflow on this rather than re-deriving it from `pairs`; read `flagged` for the self-structures

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedOutput schema / properties / worstAnyTmC / x-unit
      Added value: +"°C"
    • addedOutput schema / properties / worstEndTmC / x-unit
      Added value: +"°C"
    • addedOutput schema / properties / worstHairpinTmC / x-unit
      Added value: +"°C"
  2. 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, destructiveHint=false and openWorldHint=false, so safety is covered; the description still adds real behavioral substance by saying precisely what is folded and at which positions (anywhere vs. 3' end), which is the agent's cue for interpreting the pair table. It stops short of describing cost/scale behavior for large sets, which is the remaining gap.

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?

A single front-loaded sentence with a colon-led enumeration; every clause contributes (the 'anywhere' vs. '3' end' distinction is load-bearing, not filler). It is slightly run-on and could be broken for scanability, but there is no wasted wording.

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?

For a 10-parameter tool with nested _subject/_files wiring, the description covers the core computation and the schema plus an existing output schema carry the parameter and return-value burden. Nothing needed to invoke it correctly is missing, though a note on pool size or where results are reported (pair table) would round it out.

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 parameter docs are unusually rich (dna_conc moves a dimer's Tm but not a hairpin's; dNTPs chelate Mg²⁺; temperature does not move Tm). The description adds nothing beyond the schema on any of the 10 parameters, so the baseline 3 applies.

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 concrete pair of verbs (fold, check) on a concrete resource (a set of oligos) and enumerates exactly which structures are computed: hairpin, self-dimer anywhere, self-dimer at the 3' end, and cross-dimers with every other oligo. The 'against each other / every other oligo in the set' framing distinguishes it from single-sequence folding tools, though no sibling (primer_check, melting_temperature, fold_rna) is named.

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 implied rather than stated: the pairwise framing tells an agent this is for checking a pool of primers for mutual interactions, and the schema note that one oligo is a valid pool hints at the small-set case. There is no explicit when-to-use vs. primer_check/check_primer_specificity/melting_temperature, and no stated preconditions or exclusions.

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