Skip to main content
Glama
systemsomicslab

ms-data-parser

arf_plot_group_intensity

Read-only

Plot per-sample lipid intensities for selected classes or molecular species across sample groups, generating one panel per item to compare group distributions.

Instructions

選んだクラス・分子種ごとに、試料群の試料別強度を並べる(1 項目 1 パネル。既定は PNG 画像)。

  • items: 1 項目 1 パネル(1〜30 件)。.arf2 の Ontology に完全一致すればクラス(全分子種の合計)、 しなければ分子種名(| で分けた候補名に完全一致。low score: 等の接頭辞は無視)。 "PE+EtherPE" のように + で合算。当たらない項目は N.D. のパネルになる。

  • groups: 1 群以上。arf_differential と同じトークン規則("KO_9w" は両方を含む試料)。 QC・ブランクは群の指定に qc / blank を書いたときだけ入る。

  • 1 点 = 1 試料の PeakHeight 合計(gap-fill 含む)。縦軸は log10 で全パネル共通、群は log10 の平均 ± SD。 検定はしない(arf_differential を使う)。

  • クラスの合計からは標識内部標準((d7) 等)と、standard_samples の試料にだけある分子種を除く。 apply_curation(既定 True)で人の判断(wrong / redundant 除外、assign 付け替え)、 exclude_auto_likely_wrong で最新レビューの likely_wrong も除く。除いたものは payload の excluded。

  • low_reliability_samples: 白抜きで描き、平均 ± SD から外す。

  • detection_limit: 検出下限の破線。省略時は param ファイルの Minimum peak height。

  • arf_exclude で除いた試料は描かず、除いたスポットはクラスにも名前指定にも入れない(excluded の manual)。

  • output: "image"(既定)/ "payload"(lipidmix.group_intensity.v1)。PNG ファイルが要るときは save_figure(kind="group_intensity")。

  • 入力の誤り(群が当たらない・detection_limit が 0 以下・ncols が 1 未満など)は {"status": "error", "message": ...} で返す。失敗した呼び出しの後は前回の図を破棄する。

Input Schema

NameRequiredDescriptionDefault
itemsYes
ncolsNo
titleNo
groupsYes
outputNo
apply_curationNo
detection_limitNo
standard_samplesNo
low_reliability_samplesNo
exclude_auto_likely_wrongNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only declare readOnlyHint, but the description discloses the real behavior: curation defaults (apply_curation, exclude_auto_likely_wrong), that class totals drop (d7)-labeled internal standards and standard_samples-only species, that arf_exclude removals propagate, the log10 common axis and mean±SD computation, and that a failed call discards the previous figure. Error semantics ({"status": "error", "message": ...}) are stated too. This is a lot of value beyond the annotation.

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 purpose sentence leads, followed by per-parameter bullets, so the doc is front-loaded and easy to scan. It is dense and mixes in edge cases like error strings and prior-figure invalidation, which are useful but slightly bloat the end of the list.

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 10 parameters, no output schema and only a readOnly annotation, the description covers inputs, computation, exclusion rules, output mode ("image" vs the lipidmix.group_intensity.v1 payload) and failure behavior. That is sufficient for an agent to invoke it correctly without guessing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and there are 10 params, so the description must carry the load, and it mostly does: items gets matching rules, '|' candidate handling, '+' summing, the 1–30 limit and N.D. fallback; groups gets the token rule with the qc/blank caveat; output, apply_curation, exclude_auto_likely_wrong, detection_limit and low_reliability_samples are all defined. title is never mentioned and ncols is only referenced via its validation constraint, leaving two params under-specified.

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?

States a specific verb and resource: it lays out per-sample intensities of sample groups for each selected class or molecular species, one item per panel (default PNG). It also explicitly contrasts itself with arf_differential (no statistical testing) and save_figure (for getting a PNG file), so an agent can place it among the plotting siblings without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit routing: '検定はしない(`arf_differential` を使う)' and 'PNG ファイルが要るときは save_figure(kind="group_intensity")', plus a clear rule that QC/blanks are only included when requested. It never differentiates itself from the nearest sibling, arf_plot_species, which is the one remaining gap.

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