tooluniverse-cancer-classification について
がんの記述をOncoTreeコードに対応付けるToolUniverseスキルです。腫瘍名とコードの標準化が必要な研究者向けに、後続のバリアント注釈やコホート選定に使うコードとクロスリファレンスを検証します。
主な機能
- 01記述によるがん種の検索
- 02OncoTreeコードの取得と検証
- 03組織カテゴリーとサブタイプの探索
- 04コードを用いたOncoKB注釈
- 05UMLS・NCI参照情報の確認
活用シーン
- 01腫瘍の記述をコードに対応付け
- 02がん種に含まれるサブタイプの検索
- 03OncoKB注釈用コードの選定
- 04コホート解析用の腫瘍コード選定
MCP 対応
OncoTree分類の検索・検証と、コードのOncoKBへの受け渡しに使うToolUniverseのツールを説明します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ mims-harvard/ tooluniverse --skill tooluniverse-cancer-classificationインストール後、Claude Code で/tooluniverse-cancer-classificationを入力して読み込まれたか確認します。
詳細
OncoTree によるがん分類
OncoTree オントロジーを使用して、がん種の名称を標準化します。自由記述の腫瘍の説明を、UMLS/NCI の相互参照を含む構造化コードに変換し、OncoKB のバリアント注釈や GDC コホート選択での後続利用を可能にします。
使用するタイミング
研究者から次のような質問があった場合に使用します。
- 「[腫瘍の説明] の OncoTree コードは何ですか?」
- 「[がん種] のすべてのサブタイプを見つけてください」
- 「[組織] に発生するがんは何ですか?」
- 「OncoKB の注釈に腫瘍種コードが必要です」
- 「[がん] の TCGA/COSMIC コードは何ですか?」
- 「CNS/脳のがんの全サブタイプを列挙してください」
- 「膠芽腫に対応する NCI コードは何ですか?」
主なツール
| ツール | 目的 | 主なパラメーター |
|---|---|---|
OncoTree_search | がん種を自由記述で検索 | query(腫瘍名または説明) |
OncoTree_get_type | 既知の OncoTree コードの詳細を取得 | code(例:「LUAD」、「AML」) |
OncoTree_list_tissues | 32 種類の組織カテゴリーをすべて列挙 | (パラメーターなし) |
OncoKB_annotate_variant | OncoTree コードを使用してバリアントを注釈 | gene、variant、tumor_type |
GDC_get_mutation_frequency | がん種横断の変異頻度(TCGA) | gene_symbol |
ワークフロー
フェーズ 1:がん種の特定
自由記述検索を開始し、一致する OncoTree コードを見つけます。
OncoTree_search(query="breast cancer")
-> Returns list: code, name, main_type, tissue, parent, level, external_references
主なレスポンスフィールド:
code:OncoTree コード(例:「BRCA」、「IBC」)。OncoKB の呼び出しで使用しますlevel:階層の深さ(1=組織、2=主な種類、3~5=サブタイプ)parent:階層をたどるための親ノードコードexternal_references.UMLS:UMLS CUI のリストexternal_references.NCI:NCI シソーラスコードのリスト
検索のヒント:
- 広い用語(「肺がん」など)では多くの結果が返されるため、組織またはレベルで絞り込みます
- 正確に一致させるには、「浸潤性乳がん」のような組織特異的な用語を使用します
- 略語も使用できます。query="GBM" で膠芽腫が見つかり、query="AML" で白血病の種類が見つかります
フェーズ 2:コードの検証と詳細の取得
候補コードが見つかったら、詳細を取得します。
OncoTree_get_type(code="LUAD")
-> Returns: name, main_type, tissue, color, parent, level, history, external_references
注:すべてのコードが有効とは限りません。「GBM」は 404 を返します。正しいコードは「GB」(膠芽腫、IDH 野生型)です。
下流のツールで使用する前に、必ず OncoTree_get_type で検証してください。
フェーズ 3:組織レベルでの探索
ユーザーが組織カテゴリーに属するすべてのがんを求めている場合:
OncoTree_list_tissues()
-> Returns 32 tissue names: "Breast", "CNS/Brain", "Lung", "Myeloid", ...
OncoTree_search(query="CNS/Brain")
-> All cancer types with tissue="CNS/Brain"
フェーズ 4:バリアント注釈での下流利用
検証済みの OncoTree コードを OncoKB に渡し、がん種に特化した治療レベルを取得します。
OncoKB_annotate_variant(gene="EGFR", variant="L858R", tumor_type="LUAD")
-> highestSensitiveLevel: "1" (FDA-approved therapy for this tumor+variant)
tumor_type を指定しない場合、OncoKB はがん種横断のレベルを返すため、具体性が低くなることがあります。
ツールパラメーターのリファレンス
| ツール | 必須 | 任意 | 備考 |
|---|---|---|---|
OncoTree_search | query | — | 自由記述。関連度順に並べたリストを返します |
OncoTree_get_type | code | — | 大文字と小文字を区別します。「brca」ではなく「BRCA」。無効なコードの場合は 404 を返します |
OncoTree_list_tissues | — | — | パラメーターなし。32 個の組織文字列のリストを返します |
OncoKB_annotate_variant | gene、variant | tumor_type | tumor_type は OncoTree コードです。がん種横断の場合は省略します |
GDC_get_mutation_frequency | gene_symbol | — | がん種横断の TCGA のみ。サブタイプ別の内訳はありません |
よく使われる OncoTree コード(動作確認済み)
| コード | 名前 | 組織 |
|---|---|---|
BRCA | 浸潤性乳がん | 乳房 |
LUAD | 肺腺がん | 肺 |
LUSC | 肺扁平上皮がん | 肺 |
MEL | メラノーマ | 皮膚 |
CRC | 大腸がん | 腸 |
PAAD | 膵腺がん | 膵臓 |
GBM | (無効 — GB を使用) | CNS/脳 |
GB | 膠芽腫、IDH 野生型 | CNS/脳 |
AML | 急性骨髄性白血病 | 骨髄系 |
PRAD | 前立腺腺がん | 前立腺 |
よくあるパターン
# Pattern: Resolve free-text to OncoTree code
results = OncoTree_search(query="pancreatic ductal adenocarcinoma")
# Pick result with lowest level number (most specific match)
code = results["data"][0]["code"] # e.g., "PAAD"
# Pattern: Get all subtypes within a main type
results = OncoTree_search(query="Glioma")
subtypes = [r for r in results["data"] if r["main_type"] == "Glioma"]
# Pattern: Validate code before OncoKB call
detail = OncoTree_get_type(code="GB")
if detail["status"] == "success":
OncoKB_annotate_variant(gene="IDH1", variant="R132H", tumor_type="GB")
腫瘍分類の推論(重要)
推測せずに検索する — 腫瘍の分類は治療に影響します。記憶に頼らず、必ずツールを使用してコードとバイオマーカーの解釈を検証してください。
組織学的分類と分子分類
腫瘍は2つの軸で分類されます -- どちらも治療選択にとって重要です:
- 組織学的(顕微鏡下での見た目):腺癌、扁平上皮癌、小細胞癌など。これは OncoTree 階層のレベル3以上を決定します。
- 分子的(どの変異・変化がそれを駆動しているか):EGFR 変異、HER2 増幅、MSI-high など。これは OncoKB の治療レベルを決定します。
ある腫瘍が組織学的に別の腫瘍と同一であっても、分子的に異なれば、異なる治療が必要になります。例:2つの肺腺癌(どちらも LUAD)でも、一方は EGFR 変異(標的治療)、もう一方は KRAS 変異(別の標的治療)です。常に両方の軸を確認してください。
バイオマーカー解釈の戦略
がんバイオマーカーを解釈する際は、アクショナビリティの判断に OncoKB を使用してください:
- HER2:陽性 = IHC 3+ または FISH 増幅。治療レベルには
OncoKB_annotate_variant(gene="ERBB2", variant="Amplification", tumor_type="BRCA")を使用してください - ER/PR:陽性 = ホルモン受容体陽性乳癌。治療クラス(内分泌療法)を変更します
- Ki67:増殖指数。高値(>20%)は攻撃的な生物学を示唆し、乳癌のグレーディング(Luminal A 対 B)に用いられます
- TMB(腫瘍遺伝子変異量):TMB 高値(>10 mut/Mb)は腫瘍種を問わず免疫療法への反応を予測します。
OncoKB_annotate_variant(gene="Other Biomarkers", variant="TMB-H")を使用してください - MSI(マイクロサテライト不安定性):MSI-High はペムブロリズマブの全がん種承認バイオマーカーです。
OncoKB_annotate_variant(gene="Other Biomarkers", variant="MSI-H")を使用してください
ステージングとグレーディング -- 異なる概念
- ステージ(TNM):どこまで広がっているか? T=腫瘍径、N=リンパ節、M=転移。Stage I〜IV。予後と手術適応を決定します。
- グレード:細胞がどれだけ異常に見えるか? Grade 1(高分化、緩徐)〜Grade 3(低分化、攻撃的)。攻撃性を決定します。
- Stage I・Grade 3 の腫瘍(小さいが攻撃的)は、Stage III・Grade 1(広がっているが緩徐増殖)とは異なる意味合いを持ちます。
アクショナビリティの評価
腫瘍を分類した後、所見が臨床的にアクション可能かどうかを評価します:
- レベル1(FDA 承認済み、特定の腫瘍種):直ちに治療へ影響します。例:LUAD における EGFR L858R
- レベル2(標準治療):強いエビデンスがあるが、状況依存的
- レベル3(説得力のあるエビデンス):臨床試験の候補
- レベル4(生物学的エビデンス):研究段階のみ
- 常に OncoTree コードを OncoKB に提供してください -- これがないと全がん種レベルが返され、特定の腫瘍種に対するアクショナビリティを過小評価または過大評価する可能性があります
結果解釈のための推論フレームワーク
エビデンスの格付け
| グレード | 基準 | 例 |
|---|---|---|
| Confirmed | 正確な OncoTree コードが OncoTree_get_type で検証済み、UMLS + NCI のクロスリファレンスが存在 | LUAD:検証済み、UMLS C0152013、NCI C3512 |
| Probable | OncoTree 検索が一致を返すが、コードが未検証またはクロスリファレンスが欠落 | 「cholangiocarcinoma」の検索が部分的な外部参照を持つ CHOL を返す |
| Ambiguous | 複数の OncoTree コードが異なる階層レベルで記述に一致 | 「Breast cancer」が BRCA(浸潤性)、BREAST(組織)、IBC(炎症性)に一致 |
| Unresolved | OncoTree に一致なし。腫瘍種がオントロジーにとって稀すぎるか新規すぎる | OncoTree に存在しない超稀な肉腫サブタイプ |
解釈のガイダンス
- OncoTree コードの信頼性:候補コードは、後続処理で使用する前に必ず
OncoTree_get_typeで検証してください。一般的な略語の中には(例:「GBM」)、有効な OncoTree コードではないものがあります(正しいコードは「GB」です)。UMLS および NCI の相互参照を含む検証済みコードは、最も信頼性が高い情報です。 - UMLS/NCI 相互参照の優先順位:標準化されたレポートでは、がんに特化したコンテキスト(caDSR、GDC で使用)において NCI Thesaurus コードが優先されます。UMLS CUI は対象疾患の範囲が広く、文献マイニングに役立ちます。両方が利用できる場合は両方を報告し、片方だけ利用できる場合は、腫瘍学のワークフローでは NCI を優先してください。
- 組織階層の解釈:OncoTree のレベルは特異性を表します。レベル 1 は原発組織(例:「Lung」)、レベル 2 は主ながん種(例:「Non-Small Cell Lung Cancer」)、レベル 3 以上は組織学的サブタイプ(例:「Lung Adenocarcinoma」)です。OncoKB のバリアントアノテーションでは、腫瘍を正確に表す最も特異度の高い(最下層の)レベルを使用してください。コホートレベルの解析(例:TCGA)では、通常、レベル 2~3 のコードが適切です。
- OncoKB における腫瘍タイプの影響:OncoKB に腫瘍タイプコードを指定すると、治療レベルが変わることがあります(例:EGFR L858R は LUAD ではレベル 1、がん種横断ではレベル 3B です)。患者の特定の腫瘍タイプに対して検証済みの OncoTree コードを必ず使用してください。
- 非推奨または名称変更されたコード:OncoTree はバージョンごとに更新されます。
OncoTree_get_typeの応答にあるhistoryフィールドで過去の名称を確認できます。必ず現在のコードを使用してください。
統合に関する質問
- 選択した OncoTree コードは、最も特異度の高い組織学的サブタイプを表していますか?それとも、より正確なコードを使用することで OncoKB の治療アノテーションを改善できますか?
- 自由記述の腫瘍記述が複数の OncoTree コードに対応する場合、解析の目的(バリアントアノテーションとコホート選択)の観点で、特異性と網羅性のバランスが最もよい階層レベルはどれですか?
- UMLS/NCI の相互参照は、外部分類(WHO、ICD-O)と一致していますか?解決が必要な相違はありますか?
フォールバックチェーン
| 主な方法 | フォールバック | 条件 |
|---|---|---|
OncoTree_get_type(code="GBM") | OncoTree_search(query="glioblastoma") | 一般的な別名で 404 が返された場合 |
OncoTree_search(結果なし) | OncoTree_list_tissues + 組織レベルでの検索 | 非常にまれな腫瘍タイプ、または新規の腫瘍タイプ |
| OncoKB 用の OncoTree コード | tumor_type パラメーターを省略 | OncoKB がコードを認識しない場合 |