Skip to main content
Glama

Primer specificity screen

primer_specificity
Read-onlyIdempotent

Self-hosted e-PCR-style screen for off-target amplicons predicted by a primer pair against a small set of curated reference genomes (currently: E. coli K-12 MG1655, B. subtilis 168, human mitochondrion rCRS, Mycoplasma hyorhinis SK76 — see genomesChecked in the response for the exact list, and note that the nuclear human and mouse genomes are NOT covered). Amplicons are 1-based inclusive on the plus strand; a product across a circular genome's origin reports an end lower than its start and sets wraps: true. This checks background/host-genome specificity, NOT whether the primers hit your intended target — pair it with in_silico_pcr against your own template for that. Each off-target end reports its 3' ANCHOR — the primer's unbroken run of matched bases at the extending end — with that anchor's nearest-neighbour ΔG and a margin against the intended, fully matched reaction, so a site can be told apart by WHERE its mismatches fall rather than only how many there are: one mismatch at the 5' end leaves a site nearly as strong, and one at the 3' base leaves it unable to prime at all. Batchable over candidate REVERSE primers against one fixed forward primer (screen many candidates against a shared partner) — not independent primer-pair batching, which this tool doesn't support. A primer may carry a non-templated 5' tail (a restriction site, a Gibson arm, a tag): the screen looks for a 3'-anchored annealing region as well as a full-length match, so a tailed cloning primer is screened rather than silently matching nothing. Each end's anchor is the annealed run, which is the length that matters for extension, and start/end are measured on the ANNEALED footprints — the bases each primer actually pairs with on the genome — so length (the product, tails included) equals end - start + 1 only for untailed primers. Screening a TAILED primer without intendedTemplate inflates every margin by the tail's own free energy, because nothing about an oligo says where its non-templated part ends; intended.basis reports which footprint the margins rest on.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
forwardPrimerYesForward primer, 5'→3'.
maxMismatchesNoMismatches tolerated per primer against a reference genome. Capped at 4 — past that a primer would not extend anyway. No primer length is refused for raising this: the pigeonhole seed just gets shorter and less selective, so more candidate sites are verified and the call takes longer (an 18-mer over the bundled genomes runs in ~0.1 s at 0 and ~1.5 s at 4). A short primer at a high setting can still exceed the binding-site pairing limit and come back "unsupported" — a 13-mer at 4 binds too many places to pair up, where an 18-mer screens fine — and either primer under 13 nt is not screened at all (ambiguousSeed: true, no amplicons).
reversePrimerYesReverse primer, 5'→3'.
intendedTemplateNoThe template these primers are meant to amplify. Only their annealing footprints are read from it, so an amplicon, a plasmid or a cassette is always enough (at most 1,000,000 bp). Passing it is what makes closestCompetitorMargin true for a primer carrying a 5' tail: a tail is non-templated by definition, so nothing about the oligo says where it ends, and without a template the screen has to assume the whole oligo anneals — which credits the intended reaction with a duplex the tail cannot form ANYWHERE and inflates every margin by that tail's own free energy. Searched on both strands as given; a primer that cannot be found on it is an error rather than a silent fall back to the whole oligo.
maxProductLengthNoIgnore candidate off-target products longer than this (bp) — a search-window cap, not a biological claim.

TDQS

A4.7/5.0
Behavior5/5

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

Annotations provide only readOnly, idempotent, and openWorld hints, which are minimal. The description carries the full burden and does so extensively: it explains coordinate systems (1-based inclusive), circular genome wrapping (wraps: true), the anchor concept, tail behavior, the role of intendedTemplate in margin calculation, and performance scaling. It even discloses edge cases like unsupported short primers. This is far beyond what annotations convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely verbose, running well over 1000 words. It covers many detailed scenarios and caveats that, while informative, are not strictly necessary for an agent to select and invoke the tool. The core purpose is front-loaded, but the bulk is dense technical documentation that could overwhelm a decision-making model. It is not concise; every sentence does earn its place in a manual, but for a tool description it is over-specified.

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?

Given the tool has 5 parameters, no output schema, and a complex domain, the description is remarkably complete. It explains return fields like genomesChecked, wraps, anchor, margin, and intended.basis, covers all parameter behaviors, and addresses corner cases (tails, short primers, circular origins). Nothing an agent needs to call it correctly is missing; in fact, the description over-delivers.

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

Parameters5/5

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

Although schema coverage is 100%, the description enriches every parameter significantly. For maxMismatches it explains the trade-off between speed and sensitivity, the 'unsupported' failure mode for short primers, and the performance numbers. For intendedTemplate it details why it's essential for tailed primers and how it affects margin computation. maxProductLength is clarified as a search-window cap. The description adds operational meaning that the schema alone does not.

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 immediately states the tool's core function: a self-hosted e-PCR-style screen for off-target amplicons against curated reference genomes. It names the specific verb (screen), the resource (off-target amplicons), and scope (reference genomes), and it differentiates from siblings like in_silico_pcr and crispr_offtarget_check. The opening sentence is unambiguous and sets expectation clearly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says when to use this tool ('checks background/host-genome specificity, NOT whether the primers hit your intended target') and points to the alternative (in_silico_pcr) for that purpose. It also warns about the batching limitation (only reverse-primer batches, not independent pairs) and explains the effect of passing intendedTemplate. This leaves no ambiguity about selection.

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.

TDQS

A3.6/5.0
Disambiguation4/5

Most tools have highly specific purposes (e.g., crispr_grna_design vs base_editing_design vs prime_editing_design). However, there is some overlap in sequence analysis tools (characterize_sequence, sequence_report) and plasmid annotation tools (plasmid_annotate vs plasmid_deep_annotate) which could cause confusion.

Naming Consistency3/5

The naming pattern is largely consistent with snake_case verb_noun or noun_descriptor (e.g., primer_design, plasmid_annotate, fastq_trim). However, there are exceptions like 'batch', 'workflow', 'gc_content', and 'cloning_diagnose' which don't follow the verb_noun pattern consistently. Also, some names are phrases like 'golden_gate_from_parts'.

Tool Count2/5

With 101 tools, this server is extremely large and likely overwhelming for agents. Even for a comprehensive bioinformatics toolkit, this exceeds a manageable scope, risking agent confusion and inefficient tool selection. A more modular approach would be advisable.

Completeness4/5

The tool surface covers a wide range of bioinformatics workflows including sequence analysis, primer design, cloning, CRISPR, NGS, expression analysis, and data export. There are minor gaps such as lack of a dedicated protein structure prediction tool and limited off-target genome coverage, but overall the set is impressively complete for its domain.

Resources