Skip to main content
Glama

Jean — Molecular Biology & Genomics

cluster_flow_cytometry_flowsom

Read-only

FlowSOM on an FCS file's population: a self-organizing map of the chosen channels (fluorescence on the display scale), its nodes joined by their minimum spanning tree, grouped into metaclusters by ConsensusClusterPlus, with per-node marker medians, shares of events and FlowSOM's TestOutliers report.

Input Schema

NameRequiredDescriptionDefault
ANoadditional negative decades. Only applies when scale is logicle or hyperlog or flowcore-logicle or fasinh.
MNodecades of the full scale. Only applies when scale is logicle or hyperlog or flowcore-logicle or fasinh.
TNotop of scale; empty means the file's largest fluorescence $PnR.
WNolinear width in decades. Only applies when scale is logicle or hyperlog or flowcore-logicle.
rlenNotraining passes over the data.
seedNoR set.seed for the map and the metaclustering.
xdimNogrid width.
ydimNogrid height.
scaleNothe display scale of the fluorescence channels (scatter and time stay linear): used for the plot, the threshold and, with `stats_on: scaled`, the statistics. Values: logicle (Logicle (Gating-ML 2.0, Moore & Parks)), fasinh (ArcSinh (Gating-ML 2.0 fasinh)), arcsinh (ArcSinh with a cofactor (asinh(x / c), Cytobank and CyTOF)), hyperlog (Hyperlog (Gating-ML 2.0, Bagwell)), flowcore-logicle (Logicle on a 0–M axis (flowCore)), wsp-biex (Biex (FlowJo 10, channels 0–4096)), flin (Linear (Gating-ML flin)).logicle
_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.
gatingNoa Gating-ML 2.0 document in the project, by name or id; empty for no gating (every statistic is then of all events).
n_clusNometaclusters.
plot_xNochannel (PnN or PnS) on the density plot's x axis; empty for no plot.
plot_yNochannel on the plot's y axis.
derivedNoderived parameters, `name = expression` separated by `;` (FlowJo's vocabulary: channels by name or [name], + − * / % ^, abs ceil floor neg round max min pow exp ln log sqrt and the trig functions); each becomes a channel of the run.
_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.
channelsNochannels to build the map on, comma-separated; empty for every fluorescence channel.
cofactorNothe c in asinh(x / c): 5 is the CyTOF convention, 150 a common one for fluorescence. Only applies when scale is arcsinh.
documentNothe FCS file, by name or id; may be left empty when the project holds exactly one.
biex_widthNoFlowJo biex width basis (negative; FlowJo's default -10). Only applies when scale is wsp-biex.
outlier_madNoTestOutliers madAllowed.
standardizeNoFlowSOM scale = TRUE: centre and divide each channel by its SD first.
compensationNo`auto`: the file's own $SPILLOVER/$SPILL when it has one, else none; `file`: that, refusing a file without one; `none`: leave the values as acquired. Values: auto (automatic), file (file's own matrix), none (none).auto
biex_negativeNoFlowJo biex extra negative decades. Only applies when scale is wsp-biex.
plot_populationNothe population plotted; empty for all events.
compensation_methodNowhich published algorithm: FlowKit's solve(Sᵀ, Xᵀ) or flowCore's X · S⁻¹. They agree to ~1e-15 of full scale. Values: flowkit (solve(Sᵀ, Xᵀ) (FlowKit)), flowcore (X · S⁻¹ (flowCore)). Only applies when compensation is auto or file.flowkit

Output Schema

NameRequiredDescriptionDefault
mstYesthe minimum spanning tree: node pairs and normalized weights
seedYesthe seed the run consumed
nodesYesper node: metacluster, share of events, median per map channel
outliersYesper node: events, outliers, distance threshold, maximum distance
metaclustersYesper metacluster: share of events

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

B3.2/5.0
Behavior3/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 safety and side-effect questions are answered by structured data. The description adds real value beyond that by disclosing the return content (nodes, MST, metaclusters, per-node marker medians, event shares, TestOutliers report), which tells the agent this is a heavy decomposition rather than a summary. It says nothing about cost, runtime, or how the run interacts with gating and compensation beyond restating those parameter concepts.

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?

It is a single densely-packed sentence that front-loads the method (FlowSOM) and then lists outputs in pipeline order, with no filler or repetition. The jargon (MST, ConsensusClusterPlus) presumes domain familiarity but each clause carries information, so it is appropriately sized for a complex analytical tool.

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?

With 26 parameters, nested _subject/_files objects, three enums and an output schema, the description covers what the analysis is and roughly what comes back, which is the minimum an agent needs. It omits how the many scaling, compensation, gating and plotting options relate to one another and gives no hint that most parameters have safe defaults, leaving a large surface under-explained for a tool of this 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%, so every one of the 26 parameters, including enums for scale, compensation and compensation_method, is documented in the schema itself, making 3 the baseline. The description only implicitly touches parameters ("chosen channels" for channels, "metaclusters by ConsensusClusterPlus" for n_clus, "TestOutliers report" for outlier_mad) without adding format, interaction or default guidance beyond the schema.

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 the algorithm (FlowSOM) and the source resource (an FCS file's population), and enumerates what the run produces: SOM nodes, MST, ConsensusClusterPlus metaclusters, per-node marker medians, event shares and the TestOutliers report. That is concrete and verifiable. It does not distinguish the tool from flow-cytometry siblings such as analyze_flow_cytometry, auto_gate_flow_cytometry or check_flow_cytometry_quality, so an agent has to infer that this is the clustering option.

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 when-to-use guidance: nothing says when to reach for FlowSOM rather than gating (auto_gate_flow_cytometry), quality checking (check_flow_cytometry_quality) or population comparison (compare_flow_cytometry_populations), and there are no prerequisites or exclusions. The only conditional hints (gating empty means all events; document may be empty when there is one file) live in the schema descriptions, not 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