Skip to main content
Glama

Jean — Molecular Biology & Genomics

gene_set_camera

Read-only

Competitive gene set test that accounts for inter-gene correlation (camera; Wu & Smyth 2012), as limma 3.68.5 runs it: is a set more differentially expressed than the genes outside it, with the variance of its mean statistic inflated by the correlation between its genes instead of treating them as independent.

Input Schema

NameRequiredDescriptionDefault
nameNothe tested coefficient by name; empty is the design's last. Only applies when statistic is voom.
_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.
countsNoa gene-by-sample table of raw read counts, gene IDs in the first column: camera then runs on its voom fit (filterByExpr, TMM, voom weights). Give this or `ranked`. Only applies when statistic is voom.
designNowith `counts`: the design formula, the variable of interest last. Only applies when statistic is voom.~ condition
rankedNoa gene-wise statistic, 'gene statistic' per line (e.g. a DE run's Wald or moderated t). Only applies when statistic is ranked.
samplesNowith `counts`: one row per sample, its name first, then the design's variables. Only applies when statistic is voom.
_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.
contrastNo'factor, numerator, denominator', the denominator being the factor's reference level. Only applies when statistic is voom.
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'.
minCountNofilterByExpr: minimum count in the smallest group's worth of samples. Only applies when statistic is voom.
useRanksNoa correlation-adjusted Wilcoxon rank-sum test instead of the parametric t on z-scores; robust to a few extreme genes.
fdrCutoffNoa set is called when its BH FDR (its p-value when one set is tested) is at most this.
referenceNoreference level per factor, 'variable=level' separated by commas; a factor not named takes its alphabetically first level. Only applies when statistic is voom.
statisticNoranked: cameraPR on a supplied gene-wise statistic (`ranked`). voom: camera on a voom fit of `counts` and `samples`, each gene's own residuals and weights. Given only `counts`, voom is assumed.ranked
allowNegCorNowith an estimated correlation: let a negative estimate deflate the variance (limma floors it at 0). Only applies when statistic is voom.
directionalNotest up or down against the rest (true), or only whether the set's genes change more in either direction (false, a rank test on |statistic|).
filterByExprNodrop genes too lowly expressed to test (edgeR's filterByExpr) before voom. Only applies when statistic is voom.
interGeneCorNothe fixed inter-gene correlation, limma's default 0.01 (a value most real sets exceed slightly).
minTotalCountNofilterByExpr: minimum total count. Only applies when statistic is voom.
estimateCorrelationNowith `counts`: estimate each set's correlation from the residuals instead of fixing it; the test then uses min(residual df, genes - 2) degrees of freedom. Only applies when statistic is voom.

Output Schema

NameRequiredDescriptionDefault
termsYesevery set with a member among the tested genes, by p: genes in the set, correlation, direction, p and BH FDR
summaryYesthe mode (voom camera or cameraPR), genes tested, sets supplied and tested, the degrees of freedom, the prior df of the variance squeeze, the settings limma changed
enrichedYesthe sets at or under the FDR cutoff

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered and the description is free to spend its words on method. It does so well: it discloses that the variance of the set's mean statistic is inflated by inter-gene correlation rather than assuming independence, and pins the implementation to limma 3.68.5, which tells the agent results are reproducible against a known version. It does not discuss cost, set-size limits, or failure modes, but with annotations and an output schema present that is a minor gap.

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?

A single sentence, front-loaded with 'Competitive gene set test' and followed by the citation and the mechanism, so an agent learns the essentials in the first few words. It is dense — the appositive after the citation is long — but no clause is pure filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 20-parameter tool with a nested `_subject` object, two statistical modes and an output schema, the description covers the statistical model but not the operational picture: how `counts`/`samples`/`design` relate to the project records, or how this differs from the other gene-set tools. Adequate but with clear gaps given the tool's complexity.

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% across 20 parameters, so the schema already carries the semantics for `statistic`, `useRanks`, `interGeneCor`, `fdrCutoff` and the voom-only fields. The description adds little per-parameter meaning beyond the version pin and the correlation-inflation concept, which is the correct baseline-3 situation 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.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource — a competitive gene set test (camera, Wu & Smyth 2012) — and states the exact question it answers: whether a set is more differentially expressed than the genes outside it. The 'competitive' framing plus the correlation-inflation mechanism conceptually separates it from the over-representation siblings (gene_set_overrepresentation, gene_set_enrichment), though no sibling is named explicitly.

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 or when-not-to-use guidance, and the closely related siblings gene_set_enrichment, gene_set_overrepresentation and resolve_gene_sets are never mentioned, so an agent gets no routing help. Mode selection (ranked vs voom) is left entirely to the `statistic` schema description, and no prerequisites such as needing a prior DE run's statistic or matched gene ID types are stated here.

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