mcpField
B
biomarker-discovery

biomarker-discovery

github.com/awslabsデータ・データベース6876 回インストール4 週間前に更新
リポジトリ

biomarker-discovery について

バイオマーカーの発見と検証計画を支援する方法論スキルです。研究者が候補マーカーや高次元データを評価する際に、目的の明確化、データ漏洩の防止、外部検証と臨床的有用性の評価を案内します。

主な機能

  1. 01予後・予測・診断の目的を区別
  2. 02サンプル数・イベント数・データ構造を点検
  3. 03ネストした交差検証と特徴選択を計画
  4. 04データ漏洩のリスクを特定
  5. 05検証段階と臨床的有用性評価を設定

活用シーン

  1. 01候補バイオマーカーの検証計画を設計
  2. 02オミクスデータの特徴選択手順を確認
  3. 03単一コホートのAUCの信頼性を評価
  4. 04外部検証要件を満たすか判断

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/awslabs/hcls-agent-skills --skill biomarker-discovery

インストール後、Claude Code で/biomarker-discoveryを入力して読み込まれたか確認します。

詳細

バイオマーカーの発見と検証

概要

このスキルでは、特定のパイプラインの実行方法ではなく、バイオマーカーの発見と検証についてエージェントがどのように 考える べきかを説明します。バイオマーカーが有用であるには、次の3点がそろっている必要があります。(1)意図が明確に定義されていること(予後予測、治療効果予測、診断のいずれか)、(2)発見時の統計解析が適切であること(情報漏洩がなく、適切な正則化を行い、ネストした再標本化を実施する)、(3)検証計画で外部再現性を確認し、臨床上の意思決定が変わることを示すことです。

コードを書く 前に 提案の妥当性を問い、方法論上の弱点を見つけ、適切な研究デザインへユーザーを導くために、このスキルを使ってください。

使用方法

次のようなユーザーに対して、このスキルを使ってください。

  • 候補マーカー(遺伝子、タンパク質、画像特徴量、EHR変数、複合スコア)について説明し、その開発方法や検証方法を尋ねる。
  • 高次元データセット(トランスクリプトミクス、プロテオミクス、ラジオミクス、メチル化)を持ち、特徴量を選択したいと考えている。
  • 適切な交差検証の方式、評価指標、サンプルサイズを尋ねる。
  • 1つのコホートで得た単一のAUCに基づき、バイオマーカーが「有効」だと主張する。
  • 複数のオミクスレイヤーまたはモダリティを組み合わせたいと考えている。
  • バイオマーカーが臨床使用や規制当局への申請に向けて準備できているかを尋ねる。

エージェントは、次のように応答してください。

  1. 意図を明確にする — 何よりも先に、予後予測/治療効果予測/診断の分類を確定する。
  2. データを監査する — サンプルサイズ、イベント数、施設構成、欠測、起点時刻を確認する。
  3. デザインを推奨する — 特徴量選択、再標本化、評価指標、検証段階を提案する。
  4. ユーザーの設定に固有の情報漏洩リスクを挙げる。
  5. この状況で、このバイオマーカーが「検証済み」と言える条件を示す。

回答形式

  • 直接的な推奨または分類から始める(3文以内)。
  • 次の順序で構成する:推奨 → 根拠(具体的な基準/閾値を挙げる)→ 注意点
  • 比較には表を使い、基準の列挙には箇条書きを使う。
  • ユーザーがすでに知っている背景情報は省く — ユーザーは質問への回答を求めています。
  • 目安は200〜400語とし、ユーザーが詳細な説明を求めている場合は除きます。 このスキルの意思決定ツリーとフレームワークは、内部推論専用です。結論に至るために適用しますが、回答で再掲しないでください。根拠となる情報を添えた最終的な推奨のみを提示してください。

中核概念

1. バイオマーカーの意図がすべてを決める

最初に必ず確認するのは、このバイオマーカーは、どのような意思決定に役立てるものか? です。

意図答える問い最小限のデザイン主な推定対象
予後予測治療にかかわらず、この患者にどのような転帰が予測されるか?転帰追跡を伴う単群/観察コホートハザード比、C-index、キャリブレーション
治療効果予測治療AとBのどちらで、より大きな効果が得られるのは誰か?両群を含むRCT、または適切に模倣したターゲット試験治療 × バイオマーカーの交互作用
診断この患者は現在この疾患に罹患しているか?疾患スペクトラム全体を含む症例対照研究感度、特異度、PPV/NPV

分類から導かれること:

  • 予後予測の主張は、単群の参照群がない限り治療効果予測のデザインからはできません。また、治療効果予測の主張は単群コホートからはできません — 反実仮想となる群が存在しないためです。
  • 明確な症例と健常対照のみを対象に評価した診断バイオマーカーは、性能を過大評価します。実際に使用される臨床的な 疾患スペクトラム(軽症、早期、併存疾患、類似疾患)全体で検証する必要があります。
  • 予後予測と治療効果予測を混同することは、腫瘍学のバイオマーカー論文で最もよく見られる誤りです。「Xが高い患者は薬剤Yで転帰が良かった」と主張する場合、対照群でも同じことが言えるかを尋ねてください。そうであれば、これは治療効果予測ではなく予後予測です。
2. 特徴選択の戦略

なじみのある方法ではなく、問題の特性に基づいて選びます。

方法強み失敗する場合
LASSO(L1)疎な解が得られ、解釈しやすく、高速です相関のある特徴群から任意の1つを選びます
Elastic net(L1 + L2)相関のある特徴を扱い、グループ化します調整するハイパーパラメーターが2つあります
ランダム(生存)フォレストの重要度非線形性や相互作用を捉えますカーディナリティの高い特徴に偏りがあり、重要度は因果関係を意味しません
安定性選択サブサンプルの60%超で選択された特徴を報告し、偽発見を制御します計算負荷が高く、ベースとなる選択器(通常はLASSO)が必要です
単変量フィルタリングシンプルです多変量構造を無視するため、高次元データで単独の方法として使うとほぼ必ず誤ります
決定木:どの特徴選択方法を使うべきか?
Start
│
├── Is n < p (more features than samples)?
│     ├── Yes → Use penalization (LASSO / elastic net) OR stability selection.
│     │         Never rely on univariate filtering alone.
│     └── No  → Continue.
│
├── Are features strongly correlated (e.g., gene modules, radiomic clusters)?
│     ├── Yes → Elastic net (groups correlated features) or
│     │         group LASSO if groupings are known a priori.
│     └── No  → LASSO is fine.
│
├── Do you suspect non-linear effects or interactions?
│     ├── Yes → Random forest / gradient-boosted trees for importance,
│     │         confirm with permutation importance (not impurity-based).
│     └── No  → Stay with linear penalized models.
│
└── Need reproducibility / publication-grade selection?
      └── Wrap whatever base method above in stability selection
          (subsample → refit → keep features chosen in ≥60% of runs).
3. ネストされた交差検証は必須です

バイオマーカーの発見には、ネストされたCVを使用する必要があります。

  • 外側ループ — 保留されたフォールドで汎化性能を推定します。
  • 内側ループ — トレーニングフォールドのみで、特徴選択とハイパーパラメーターの調整を行います。

ルール:

  • 患者単位で分割します。 1人の患者から複数のサンプル(経時的な検査値、複数の病変、両側の画像など)が得られている場合、行単位で分割してはいけません。患者情報が共有されることでフォールド間に生じるリークは、性能を気づかれないまま水増しする最も一般的な原因です。
  • アウトカムで層化します(可能であれば、施設やバッチでも層化します)。
  • データから学習する処理はすべて内側のループに含めます。 特徴選択、補完パラメーター、正規化統計量、スケーラーの平均値/標準偏差、バッチ補正のフィッティング、PCAの荷重が該当します。
  • 平均値だけでなく、外側フォールド全体の分布を報告します。フォールド間の分散が大きい場合は、警告サインです。
4. データリーク — よくある原因

リークは、その後の分析すべてを無効にします。次の点を確認してください。

  1. CVの前に全データセットで特徴選択を行う。 選択された特徴は、すでにテストラベルを「知って」います。必ずCVループ内で選択してください。
  2. 時間的リーク。 臨床医がすでにアウトカムを疑っているために検査がオーダーされます。その特徴の有無自体がラベルを符号化している可能性があります。明確な時間起点(例:入院、診断、無作為化)を定め、その前に得られたデータのみを使用してください。
  3. 特徴量に含まれるアウトカム。 定義上、アウトカムの後に生じる変数(例:「ホスピスを利用した」ことで死亡を予測する、「腫瘍ステージIV」で転移を予測する)は循環論法になります。
  4. 前処理のリーク。 正規化の平均値、補完の中央値、スケーラーの統計量、PCAを全データセットで計算すると、テストデータの分布がトレーニングに漏れます。トレーニングフォールドでのみフィッティングし、テストデータに適用してください。
  5. バッチ/施設のリーク。 すべての症例が施設A、すべての対照が施設Bに由来する場合、モデルは生物学的特徴ではなく施設を学習します。
  6. 代理変数を介したターゲットリーク。 受診ID、医師ID、オーダーのタイムスタンプがアウトカムの代理変数になることがあります。
5. 意図別の評価指標

誤った指標を選ぶと、効果が見えなくなったり、過大評価されたりします。

  • 予後予測(イベント発生までの時間):
    • C-index(打ち切りデータには Harrell または Uno の指標)。
    • 臨床的に重要な時点(例:1、3、5 年)における時間依存 AUC。
    • キャリブレーション(全体のキャリブレーション、キャリブレーション傾き、キャリブレーションプロット)。キャリブレーションを伴わない識別能だけでは不十分です。
  • 効果予測:
    • 治療 × バイオマーカーの交互作用項(p 値と効果量)。
    • サブグループごとのハザード比またはリスク差 — 点推定値と CI の両方。
    • 定性的な交互作用(効果の方向が逆転する)は、定量的な交互作用(効果の大きさが異なる)よりも強い証拠です。
  • 診断:
    • テストセット上で Youden の J を最大化する閾値ではなく、臨床的に事前に指定した閾値における感度と特異度。
    • 要約指標としての AUROC。有病率が低く、陽性クラスが焦点の場合は AUPRC。
    • PPV と NPV — これらは有病率に依存します。想定した有病率を報告し、導入時の有病率で PPV/NPV を再推定してください。

点推定値とともに、必ず信頼区間(ブートストラップ法または解析的手法)を報告してください。

6. バリデーションの階層

バイオマーカーは段階を踏んで評価します。段階を飛ばしてはいけません。

  1. 内部バリデーション — 発見コホートでのネスト化 CV またはブートストラップ。楽観バイアスを補正します。
  2. 内部・外部バリデーション — 発見データセット内で、1 施設ずつ、または 1 バッチずつ除外します。施設やバッチに対する頑健性を調べます。
  3. 外部バリデーション — 独立したコホートで実施します。できれば別のグループが収集し、事前に指定したモデルと閾値を固定しておきます。
  4. 前向きバリデーション — バイオマーカーをリアルタイムで使用し、その後に転帰を評価します。ほとんどの規制当局への申請で必要です。

バイオマーカーは、少なくともステップ 3 を完了し、外部データを見る前にモデルと閾値を固定していない限り、検証済みではありません。外部データで再調整した場合は、検証ではなく発見です。

意思決定ツリー:どのバリデーション段階が該当しますか?
Start
│
├── Only one cohort available?
│     └── Internal validation only (nested CV + bootstrap optimism correction).
│         Label result as "discovery", not "validated".
│
├── Multi-site data within a single study?
│     └── Add internal-external (leave-one-site-out).
│         Report performance per site, not just pooled.
│
├── Truly independent cohort available?
│     └── Lock model + threshold → evaluate once → report with CIs.
│         Pre-register the analysis plan if possible.
│
└── Intended for clinical deployment / regulatory submission?
      └── Prospective validation on the target population,
          under intended-use conditions, with the locked model.
7. サンプルサイズと変数あたりのイベント数

Cox モデルとロジスティックモデルでは、モデリング時に検討した候補変数(最終的に選択された変数だけではありません)1 つあたり、10〜20 件のイベントを目安にしてください。LASSO 後に選択された変数だけを数えるのは誤りです。変数選択では候補変数の全プールを使用しているためです。

高次元の設定(オミクス、ラジオミクス)では、変数あたりのイベント数を確保できません。次の方法で補います。

  • 罰則化(LASSO/エラスティックネット)またはベイズ縮小事前分布。
  • 選択された特徴量の偽発見率を制御する安定性選択。
  • ブートストラップによる楽観バイアス補正済みの性能(.632+ または Harrell のブートストラップ楽観バイアス補正)。
  • 次の段階へ進める特徴量数の事前指定。

イベント発生までの時間を扱う転帰では、サンプルサイズではなくイベント数が制約となります。イベント数が 30 件の研究は、患者数が 1000 人でも、実質的には 30 イベントの研究です。

8. マルチオミクス統合

トランスクリプトミクス+プロテオミクス+画像+臨床データを組み合わせる場合:

  • 早期統合(すべての特徴量を連結し、1 つのモデルを適合):高次元で、スケールの違いやモダリティの欠損に影響されやすくなります。非常に大きな n がある場合にのみ有効です。
  • 中間統合(MOFA、正準相関、カーネル法、共有潜在因子):層をまたいだ共有生物学的特徴を見つけたい場合に適しています。中程度の n が必要です。
  • 後期統合(オミクスごとにモデルを適合し、スタッキングまたは単純平均で予測を統合):n が小さい場合に最も頑健で、患者ごとのモダリティ欠損を許容でき、モダリティごとの検証が最も容易です。

小〜中規模のサンプルサイズでは、後期統合を標準とします。n が十分に大きく、共有因子の解釈が目的の場合に限り、中間統合または早期統合に進んでください。

モダリティの欠損は例外ではなく、よくあることです。最初から欠損を考慮して設計してください。

9. 臨床的有用性 — 意思決定のテスト

AUCが優れていても、どの意思決定も変えないバイオマーカーは有用ではありません。候補ごとに、エージェントはユーザーに次の点への回答を求めてください。

  • このバイオマーカーは、どの意思決定を変えますか?(治療するか否か、治療を強化するか弱めるか、生検するか経過観察するか、登録するか除外するか。)
  • どの閾値で判断しますか? 閾値は事前に指定し、意思決定に伴うコストと利益に結び付ける必要があります。
  • 想定される閾値の範囲全体で、治療する場合と治療しない場合のそれぞれと比べて、正味の利益はどれほどですか? 意思決定曲線分析を使用してください。
  • 偽陽性または偽陰性によって誰が害を受け、どの程度の割合まで許容できますか?

ユーザーがこれらに答えられない場合、AUCにかかわらず、臨床的有用性は定義されていません。

このスキルを使用しない場合

  • 臨床ガイドラインですでに確立・検証されているバイオマーカー(例:HER2、BRCA1/2) — 代わりにガイドラインに準拠した検査プロトコルを使用してください
  • 臨床導入やCLIA/CAPラボのバリデーションに関する意思決定 — これらには、バイオマーカー探索手法ではなく、規制および検査室に関する専門知識が必要です
  • コンパニオン診断の開発 — これは規制・製造上の課題であり、バイオマーカー探索の課題ではありません

人間の専門家に相談する場合

  • バイオマーカーを臨床試験での治療選択に使用する場合 — 適応的デザインについて生物統計家の承認が必要です
  • 分析的バリデーション(感度、特異度、プラットフォーム間の再現性)が必要な場合 — ウェットラボの専門知識が必要です
  • バイオマーカーに基づく患者層別化によって、あるサブグループが治療を受けられなくなる可能性があり、倫理審査が必要な場合

よくある間違い

  • 誤り: 単群試験の結果から、バイオマーカーが「予測的」であると主張する 正しい対応: 治療とバイオマーカーの交互作用を推定するため、比較対照群(RCTまたはエミュレートしたターゲット試験)を必須とする 理由: 反実仮想の比較対照群がなければ、予後予測と治療効果予測を区別できません。バイオマーカーは治療にかかわらず、単に予後を示している可能性があります

  • 誤り: 全データセットで特徴選択を行ってから、縮小した特徴セットでCVを実行する 正しい対応: 各フォールドで特徴が個別に選択されるよう、必ずCVの内側ループで特徴選択を行う 理由: 選択済みの特徴はすでにテストラベルの情報を「知っている」ため、性能推定値が過大になり、再現できないモデルが生まれます

  • 誤り: 1人の患者から複数のサンプルがあるのに、行単位で分割する 正しい対応: 患者単位で分割し、同じ患者のすべてのサンプルが同じフォールドに入るようにする 理由: 反復測定、両側病変、縦断的な検査データによって患者の識別情報がフォールド間で漏れ、見かけの性能が過大になります

  • 誤り: テストセットで意思決定の閾値を調整する 正しい対応: 学習データで閾値を固定するか、臨床的な費用対効果の検討に基づいて事前に指定する 理由: テストデータで閾値を最適化すると評価セットに過剰適合し、信頼性の低い運用特性が得られます

  • 誤り: 症例と対照が50/50のサンプルからPPV/NPVを報告し、一般化可能であるかのように示す 正しい対応: ベイズの定理を用いて、導入時の有病率におけるPPVとNPVを再推定する 理由: PPVとNPVは有病率に依存します。実際の疾患率と異なる、対象を多く含むサンプルから得た値は誤解を招きます

  • 誤り: モデル性能の報告でキャリブレーションを無視する 正しい対応: 識別能と合わせて、必ずキャリブレーション(全体的なキャリブレーション、キャリブレーション傾き、キャリブレーションプロット)を報告する 理由: 識別能が高くてもキャリブレーションが不良だと、臨床的に危険な確率推定値が生じ、意思決定を誤らせます

  • 誤り: 特徴選択後にのみ、変数あたりのイベント数を数える 正しい対応: 最終的に選択された特徴だけでなく、モデリング中に検討したすべての候補変数を対象にEPVを数える 理由: 選択プロセス自体で候補の全プールを使用しています。実効的な自由度は、元の次元数を反映します

  • 誤り: 発見コホートでの交差検証に基づいて、バイオマーカーを「検証済み」と宣言する 正しい対応: モデルと事前に定めた閾値を固定したうえで、独立コホートでの外部再現を必須とします 理由: 交差検証は内部検証にすぎません。楽観バイアスを推定できますが、一般化可能性を証明するものではありません

  • 誤り: バイオマーカーのシグナルと施設、バッチ、プラットフォーム、またはスキャナーの影響を交絡させる 正しい対応: 施設やバッチがバイオマーカーと同程度に転帰を予測するか、必ず確認します。施設を共変量として含めるか、施設を一つずつ除外する検証を行います 理由: すべての症例がある施設から、対照群が別の施設から集められていると、モデルは生物学的特徴ではなく施設の識別情報を学習します

  • 誤り: 将来得られる情報を特徴量として使う(例:臨床的疑いを理由にオーダーされた検査) 正しい対応: 明確な時点を定義し、その時点より前に利用可能なデータのみを使います 理由: 疑いを理由にオーダーされた検査は、その疑い自体を符号化しています。これは予測シグナルではなく、時間的リークです

  • 誤り: サンプルサイズが小さいのに、マルチオミクスを早期統合する 正しい対応: n が小~中程度の場合は、後期統合(オミクスごとにモデルを1つずつ当てはめ、スタッキングで予測を組み合わせる)を使います 理由: 数百人の患者に対して各層から何千もの特徴量を連結すると、生物学ではなくバッチ効果に過適合します

  • 誤り: 信頼区間を示さず、点推定値のみを報告する 正しい対応: すべての性能指標について、必ずブートストラップ法または解析的手法による信頼区間を示します 理由: 単一の数値では不安定性が隠れます。C-index が 0.78 でも、95% CI が [0.55, 0.92] であれば、まったく異なる解釈になります

  • 誤り: 臨床的有用性を無視して AUC を最適化する 正しい対応: 全員を治療する方策および誰も治療しない方策と比べた純便益を示すため、決定曲線分析を行います 理由: 臨床判断を何も変えない AUC 0.85 よりも、一つの判断を確実に変える AUC 0.70 の方が優れています

  • 誤り: 外部検証データでモデルを「少しだけ」再学習または調整する 正しい対応: 外部データを見る前にモデルを完全に固定します。どのような調整でも、検証は発見へと逆戻りします 理由: 外部データに対するわずかな調整でも、その独立性は失われ、「検証」が循環論法になります

  • 誤り: バイオマーカーの性能を報告する際に、決定曲線分析を省略する 正しい対応: 妥当な閾値範囲全体にわたる純便益曲線を必ず含めます 理由: 純便益に基づく評価がなければ、バイオマーカーが患者の役に立つ証拠はありません。転帰と相関することしか示せません

参考文献

コメント