Skip to main content
Glama
taehojo
by taehojo

compare_variants

Compare two genomic variants side by side to view predicted effect sizes by modality and see which variant has the larger absolute quantile per scorer.

Instructions

Two variants side by side: the strongest predicted effect of each modality for both, and which of the two has the larger absolute quantile per scorer. A comparison of predicted effect sizes, not of severity.

Runs live inference (score_variant with the SDK's recommended variant scorers); works for single-nucleotide variants, indels and multi-nucleotide variants. The result states source: live.

Results are AlphaGenome model predictions for research prioritization, not clinical classifications: scores and calibrated quantiles are reported as returned, and no pathogenic/benign call is made.

Example: "Compare APOE rs429358 and rs7412"

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
variant1Yes
variant2Yes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed10 schema fields changedv0.3.0
    • addedInput schema / properties / variant1 / properties / alt / description
      Added value: +"Alternate allele (A, C, G, T; more than one base for an indel)"
    • addedInput schema / properties / variant1 / properties / chromosome / description
      Added value: +"Chromosome (chr1-chr22, chrX, chrY)"
    • addedInput schema / properties / variant1 / properties / position / description
      Added value: +"Genomic position (1-based, hg38)"
    • addedInput schema / properties / variant1 / properties / ref / description
      Added value: +"Reference allele (A, C, G, T; more than one base for an indel)"
    • addedInput schema / properties / variant1 / properties / variant_id
      Added value: +{
      +  "description": "Optional: variant identifier (e.g., rs number)",
      +  "type": "string"
      +}
    • addedInput schema / properties / variant2 / properties / alt / description
      Added value: +"Alternate allele (A, C, G, T; more than one base for an indel)"
    • addedInput schema / properties / variant2 / properties / chromosome / description
      Added value: +"Chromosome (chr1-chr22, chrX, chrY)"
    • addedInput schema / properties / variant2 / properties / position / description
      Added value: +"Genomic position (1-based, hg38)"
    • addedInput schema / properties / variant2 / properties / ref / description
      Added value: +"Reference allele (A, C, G, T; more than one base for an indel)"
    • addedInput schema / properties / variant2 / properties / variant_id
      Added value: +{
      +  "description": "Optional: variant identifier (e.g., rs number)",
      +  "type": "string"
      +}
  2. First observed

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and largely does: it discloses that this performs live inference via score_variant with the SDK's recommended scorers, that results carry `source: live`, and that outputs are model predictions for research prioritization with no pathogenic/benign call. That is meaningful behavioral context beyond a bare 'compare' statement, though it doesn't quantify latency/cost of live inference.

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 core comparison semantics are front-loaded in the first sentence, followed by execution model, applicability, provenance, and a caveat. The 'comparison of predicted effect sizes, not of severity' idea is restated near the end, which is mildly redundant but not wasteful enough to hurt much.

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 two-nested-object tool with no output schema and no annotations, the description covers execution model, accepted variant types, provenance flag, and interpretive limits. It could say more about what the returned per-scorer structure looks like, but the essentials an agent needs to invoke it correctly are present.

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?

The description adds no field-level meaning for variant1/variant2 beyond noting the accepted variant classes (SNV, indel, MNV) and an example using rsIDs. The nested schema properties do carry descriptions, so variant structure is largely covered there, making 3 the appropriate baseline.

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 names a concrete operation on a specific resource: pairwise comparison of two variants, reporting per-modality predicted effects and which has the larger absolute quantile per scorer. It even disambiguates the semantics ('comparison of predicted effect sizes, not of severity'). It stops short of explicitly routing against near-name siblings like compare_variants_same_gene or compare_alleles.

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?

It states the operating context (runs live inference, works for SNVs/indels/MNVs) and gives a worked example, which implies when it applies. However, there is no explicit when-not guidance or pointer to alternatives such as batch_score_variants for many variants or compare_variants_same_gene for the same-gene case, leaving sibling selection to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.