Skip to main content
Glama

gene_set_overrepresentation

Read-only

Over-representation analysis (ORA): which gene sets hold more of a gene list than chance, by the one-sided hypergeometric test against a background, as clusterProfiler's enricher() runs it (enrichit 0.2.6). Reports gene and background ratios, fold enrichment, odds ratio, z-score, p, adjusted p and Storey q-value per set, and which sets pass both cutoffs. Every tested set is bit-identical to enrichit in R on pasilla's DE genes against every fly GO term.

Input Schema

NameRequiredDescriptionDefault
genesYesthe gene list (e.g. the significant genes of a DE run), one ID per line or separated by commas or spaces.
_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.
weightsNoper-gene sampling weights, 'gene weight' per line (e.g. a DESeq2 run's mean normalized counts, `meanCounts`, or gene lengths): replaces the hypergeometric test with Wallenius' noncentral one (BiasedUrn), each set's odds being its members' mean weight over the rest of the background's, so a set of well-counted or long genes is not called for being easy to detect. Background genes without a weight take the median; weights at or below 0 are lifted to the smallest positive one. Empty is the unweighted test.
_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.
geneSetsYesthe gene sets, as GMT text (MSigDB, GO or WikiPathways exports): one set per line, tab-separated ID, description, then member gene IDs. IDs must be the same kind as the genes'.
universeNothe background: every gene the experiment could have called (e.g. a DE run's tested genes). Empty is every gene any set annotates, clusterProfiler's default.
maxGSSizeNolargest set tested, counted within the background.
minGSSizeNosmallest set tested, counted within the background.
pvalueCutoffNoa set is enriched when p and adjusted p are at most this.
qvalueCutoffNoand its q-value at most this.
forceUniverseNouse `universe` as given instead of intersecting it with the annotated genes.
pAdjustMethodNomultiple-testing adjustment across the tested sets (R `p.adjust`).BH

Output Schema

NameRequiredDescriptionDefault
termsYesevery tested set, by p: count, set size, gene and background ratios, fold enrichment, odds ratio, z-score, p, adjusted p, q-value, the hit genes
summaryYesinput genes, how many are in the background, the background size, sets supplied, in the size range and tested, and the q-value route
enrichedYesthe sets passing the p, adjusted-p and q cutoffs

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / weights
      Added value: +{
      +  "default": "",
      +  "description": "per-gene sampling weights, 'gene weight' per line (e.g. a DESeq2 run's mean normalized counts, `meanCounts`, or gene lengths): replaces the hypergeometric test with Wallenius' noncentral one (BiasedUrn), each set's odds being its members' mean weight over the rest of the background's, so a set of well-counted or long genes is not called for being easy to detect. Background genes without a weight take the median; weights at or below 0 are lifted to the smallest positive one. Empty is the unweighted test.",
      +  "type": "string"
      +}
  2. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, openWorldHint=false, and destructiveHint=false, so the safety profile is clear. The description adds valuable behavioral context: the exact statistical test (one-sided hypergeometric, or Wallenius with weights), the reported metrics (ratios, fold enrichment, odds ratio, z-score, p, adjusted p, Storey q-value), and the claim that results are 'bit-identical to enrichit in R' for a benchmark dataset. It does not contradict the annotations.

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 front-loaded with the core purpose and method, followed by output details and a reproducibility claim. It is appropriately sized for a complex analysis tool, though the output enumeration and validation sentence are dense; every sentence contributes useful information, but minor tightening could improve flow.

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's complexity (12 parameters, nested objects, output schema present), the description is complete enough for an agent to call it correctly. It explains the statistical method, the required inputs (gene list, gene sets as GMT, background), the output metrics, and the reproducibility guarantee. The output schema and detailed parameter descriptions cover the remaining structured details.

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 parameters in detail, including defaults and semantics (e.g., weights, universe, maxGSSize). The description does not add parameter-specific meaning beyond what the schema provides; it focuses on method and output. Baseline 3 is appropriate when the schema does the heavy lifting.

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 states a specific verb+resource: 'Over-representation analysis (ORA): which gene sets hold more of a gene list than chance, by the one-sided hypergeometric test against a background'. It also names the exact implementation ('as clusterProfiler's enricher() runs it') and what it reports, which distinguishes it from sibling tools like gene_set_enrichment and gene_set_camera.

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?

The description implies usage by naming the statistical method and output, and mentioning 'as clusterProfiler's enricher() runs it' gives some context. However, it does not explicitly state when to use this tool versus alternatives such as gene_set_enrichment or gene_set_camera, nor does it list exclusions or prerequisites.

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