Skip to main content
Glama

Sanger plate clone verdicts

sanger_plate_verify
Read-onlyIdempotent

Judge a whole plate of Sanger reads against one construct and return one row per clone: PASS, POINT_MUTATION, INDEL, VECTOR_ONLY (the insert is absent), WRONG_INSERT (the backbone matches and the insert does not), LOW_COVERAGE, or AMBIGUOUS. Reads are grouped into clones from their FASTA/FASTQ record names (facility conventions like PlateA_A01_pXY-1_M13F, pXY-1_T7-F, 2026-08-01_pXY_clone3_R), and every read's assignment is reported with a confidence so a grouping can be corrected rather than trusted. Each clone's reads are piled up in reference coordinates, so a difference one read reports where other covering reads read the reference is reported as the sequencing error it is, not as a mutation — and a position no read covered is never PASS. Every verdict cites the positions it rests on. Give insertStart/insertEnd to have clones judged over the insert alone, which is also what VECTOR_ONLY and WRONG_INSERT need.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
readsYesAll the plate's reads as FASTA or FASTQ (auto-detected). The record name is what the clone grouping is read from. Up to 384 reads / 400,000 total bases, and (reference length x total read bases) must stay under 200,000,000 — split a 96-clone plate across calls.
circularNoTreat the construct as a plasmid, so a read crossing its arbitrary linear start is aligned through the join instead of having its tail discarded.
groupingNoHow reads become clones. "auto" parses the record names; "one-clone" treats every read as being of one clone (use when the names carry nothing); "per-read" judges each read on its own.auto
insertEndNo1-based last base of that stretch.
referenceYesThe intended construct (raw or FASTA). Up to 20,000 bp.
insertLabelNoWhat to call it in the verdicts. Default "the insert".
insertStartNo1-based first base of the stretch that has to be right (the insert). With insertEnd, every clone is judged over this span alone — the only honest framing when one 900 bp read cannot cover a 6 kb plasmid — and VECTOR_ONLY/WRONG_INSERT become reachable. May be greater than insertEnd on a circular construct, meaning the span crosses the origin.
qualityOffsetNoASCII offset of the FASTQ quality string. 33 for anything modern, 64 for pre-1.8 Illumina.
trimThresholdNoPhred threshold for trimming both ends of a read (BWA's rule). Only applies to FASTQ input, which is the only input that carries quality.

TDQS

A4.8/5.0
Behavior5/5

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

The description goes beyond the annotations by detailing how reads are grouped from record names, how coverage affects verdicts (e.g., 'a position no read covered is never PASS'), how insertStart/insertEnd restrict analysis to the insert, and how trimming follows BWA's rule. It also explains the confidence reporting for per-read assignments and the treatment of differences as sequencing errors. This is highly transparent and adds significant behavioral context beyond the readOnlyHint and idempotentHint annotations.

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

Conciseness5/5

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

The description is dense but well-structured. It front-loads the core purpose and verdict list, then explains grouping, coverage, and constraints in a logical flow. Each sentence adds essential information, from the definition of verdicts to the honest framing of insertStart/insertEnd. Despite its length, there is no fluff or redundancy—every sentence earns its place.

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 complexity of the tool and the absence of an output schema, the description provides sufficient context: it explains the return format (one row per clone with verdicts), the per-read confidence reporting, and edge cases like low coverage and insert-span handling. It also addresses practical limitations and usage parameters, making the description complete for an agent to understand what to expect and how to call the tool.

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 the schema already provides descriptions for all parameters, the tool description adds crucial details: specific size limits for reads (384 reads/400,000 bases) and a computational constraint (reference length x total read bases < 200,000,000), the meaning of insertStart/insertEnd in relation to VECTOR_ONLY/WRONG_INSERT, and the rationale for the 'one-clone' grouping mode. These enrich the parameter semantics beyond the basic schema descriptions.

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 clearly states the tool's purpose: 'Judge a whole plate of Sanger reads against one construct and return one row per clone' with a specific list of verdicts. It distinguishes itself from similar tools like sanger_vs_reference by focusing on a plate-level analysis and explicitly describing the grouping and coverage logic.

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?

The description gives clear usage context: it is for whole-plate analysis, and it provides practical guidance like splitting a 96-clone plate across calls due to computational limits. It also explains the 'one-clone' grouping alternative for when record names carry no information. However, it does not explicitly name sibling tools or state when to prefer this over them, though the plate-focused language makes the intended use clear.

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