Skip to main content
Glama

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. From a count table it fits voom (filterByExpr, TMM, precision weights) and tests the design's coefficient per set (camera); from a ranked statistic it tests that statistic directly (cameraPR). Parametric or rank-based, fixed or per-set estimated correlation, directional or not. Every set is bit-identical to limma in R on filtered pasilla voom and on DESeq2's Wald statistics against every fly GO term.

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

A4.1/5.0
Behavior5/5

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

Annotations already declare read-only and non-destructive behavior, and the description adds substantial behavioral detail beyond them: voom fitting, filterByExpr, TMM normalization, precision weights, parametric versus rank-based testing, fixed versus estimated correlation, directional testing, and limma-equivalence validation. This gives an agent a clear model of what the tool computes.

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 method and then covers the two input modes. It is dense but mostly earns its length for a 20-parameter tool, though the final limma-equivalence sentence is more validation detail than operational guidance.

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?

Given the high parameter count, output schema, and annotations, the description supplies enough conceptual context to choose between voom and ranked workflows and to understand the correlation-adjusted test. Remaining details, such as individual parameter defaults and file references, are appropriately left to the schema.

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 coverage is 100%, so all 20 parameters are already documented in the schema. The description adds useful conceptual grouping around statistic modes, correlation estimation, and directional testing, but it largely restates semantics the schema already carries in detail.

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 names a specific method and resource: a competitive gene set test that accounts for inter-gene correlation, with two explicit operating modes (voom and ranked). This distinguishes it from generic enrichment siblings by emphasizing the correlation-adjusted competitive test.

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 explains when to use the voom versus ranked path based on whether you supply a count table or a ranked statistic, but it does not name or compare against sibling gene set tools such as gene_set_enrichment or gene_set_overrepresentation. The usage context is implied rather than routed.

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