Skip to main content
Glama

jean — Molecular Biology & Genomics

codon_usage_analysis

Read-only

Codon-usage analysis of an in-frame CDS: CAI / expression stats, GC, and every rare-codon occurrence for the chosen organism (pydna port), plus the two bias measures that need NO reference table — ENC (Wright 1990) and RCBS (Roymondal 2009), which are therefore computable for any organism.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tableNoscore CAI and rare codons against a codon-usage table this project holds, BY NAME, as the Codon Usage panel lists it — any organism, not just the two pydna curates. Takes precedence over `organism`, and switches the rare-codon call from pydna's curated list to `rare_threshold`. Leave unset for the curated pydna report, which is the only arm carrying start/stop weights and the N-end half-life.
_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.
featureNoscore this annotated CDS or gene by NAME instead of the selection (the panel's "A CDS / feature…" mode). Its own strand is used unless `reverse` says otherwise.
reverseNoread the region as the reverse complement. Leave unset to take the strand from the annotation when the selection is exactly an annotated CDS or gene, which is what the panel does.
_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.
organismNoreference organism for CAI weights + rare codons. Only some organisms carry CAI weights; the rest still get the rare-codon scan + GC.sce
enc_pairsNocount codon PAIRS rather than single codons for ENC (k-mer 2) — bias in the junctions rather than in the codons.
rcbs_meanNohow the per-codon RCBS weights are averaged. Roymondal 2009 uses the geometric mean. Values: geometric (Geometric (Roymondal 2009)), arithmetic (Arithmetic).geometric
rare_thresholdNoa codon is rare when its relative adaptiveness w = f/f_max falls below this. 0.30 is GenScript GenRCA's CFD cutoff, a convention rather than a measurement, so retune it per host. Only applies when table is set.
rcbs_directionalNoRCBS weights taken as max(observed/expected, expected/observed), so under-use counts as bias too rather than only over-use.
enc_bg_correctionNocorrect ENC for the sequence's own base composition (Novembre 2002). Off is Wright's 1990 ENC, which reads GC-rich genes as more biased than they are.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
gcYesGC fraction (0–1)
caiYesCodon Adaptation Index, or null when nothing could be scored — check `caiAvailable` before comparing it, and `referenceTable` before comparing two runs
encYeseffective number of codons, 20 (one per residue) to 61 (uniform) — needs no reference table
rcbsYesrelative codon bias vs the sequence's own base composition; 0 = as predicted — needs no reference table
codonsYesnumber of codons
regionYeswhat was actually measured — the selection when there is one, otherwise the whole record, naming the STRAND and where it came from
reportYesthe full codon report
codonMapYeshow often each of the 64 codons occurs in the measured region, laid out as the genetic-code chart: rows are the first two bases, columns the third
rareHitsYesevery rare-codon occurrence with its position
rareBasisYes`curated` (pydna's published low-usage list for this organism — `rare_threshold` did not apply) or `threshold` (relative adaptiveness below `rare_threshold`). Rare counts from the two are different claims and do not compare
caiAvailableYeswhether a CAI could be computed at all. FALSE means `cai` is null because there was no reference to score against, NOT that adaptation is poor
rareFractionYesfraction of codons that are rare (0–1)
strandSourceYes`explicit` (you passed `reverse`), `feature` (taken from the annotation the selection matches) or `default` (forwards, nothing said otherwise)
referenceTableYesthe project table CAI was scored against, or empty when the curated pydna organism answered

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare this as a safe, read-only, non-destructive local operation. The description adds useful context such as the requirement for an in-frame CDS and the fact that ENC/RCBS are computable without a reference table, but it does not disclose failure modes, validation constraints, or performance characteristics.

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?

The description is a single dense sentence that is front-loaded with the core purpose. Every clause contributes information, though the heavy use of em dashes and parentheticals makes it less scannable than ideal.

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 read-only analysis tool with an output schema and 100% parameter documentation, the description provides enough domain context to understand what is computed and the key input constraint (in-frame CDS). It is slightly incomplete on usage guidance, but the structured fields carry the rest.

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 all 11 parameters in detail. The description mentions the chosen organism and the role of reference tables, but it adds no parameter-specific syntax or behavior beyond what the schema provides.

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?

The description clearly states the resource (an in-frame CDS) and the specific outputs (CAI, expression stats, GC, rare-codon occurrences, ENC, RCBS). It differentiates itself partly by noting measures that need no reference table, but it does not explicitly distinguish itself from nearby siblings like codon_optimality or codon_usage_distance.

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

Usage Guidelines2/5

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

There is no explicit when-to-use guidance or comparison to alternative tools such as codon_optimality, codon_usage_distance, or discover_codon_outliers. Usage is only implied by the description of what the tool computes.

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