全ゲノム解析を受けた。で、次はどうする?
全ゲノム解析に300ドルから500ドルを支払った。Nebulaかもしれない、Danteかもしれない、あるいは価格競争を繰り広げている新しいプロバイダーのどれかかもしれない。フォルダを受け取った。そのフォルダの中身:486万行のバリアントデータを含むVCFファイルと、その中の約1%しか表示しないダッシュボード。
ダッシュボードは彼らの質問に答える。祖先の内訳。いくつかの形質の関連性。運が良ければキャリアスクリーニング。しかし、あなたの質問——本当に重要なもの——にはボタンがない。
「私のCYP酵素代謝表現型は?」ボタンなし。
「父から受け継いだバリアントと母から受け継いだバリアントは?」確実にボタンなし。
「先週医師が指摘したバリアントについてClinVarは何と言っている?」到底無理。
この記事はそのギャップを埋めることについて書いている。なぜそのギャップが存在するのか、それがなくなるとどう見えるのか、そして自分でセットアップする方法を示す——ローカルで、ゲノムをどこにもアップロードせずに。
「で、次はどうする?」問題
消費者向け全ゲノム解析市場には奇妙な非対称性がある。解析を受けること自体は簡単だ。2026年には500ドル以下で30倍カバレッジ。価格曲線は何年も下がり続けており、まだ下がっている。
しかし、解釈は追いついていない。
数百万行のバリアントを含むVCFファイルを受け取る。各行はゲノムの中でリファレンスと異なる位置だ。それらの違いの一部は非常に重要だ。大半はそうではない。そしてテストを売った消費者プラットフォームは?キュレートされた一部分を見せるだけ——既製のレポートに既製の回答。
彼らが予想した質問には十分だ。予想しなかった質問には役に立たない。
平均的な消費者ダッシュボードで失われるものはこれだ:
非SNPバリエーション。 構造バリアント、コピー数変異、ミトコンドリアDNA。ほとんどの消費者プラットフォームはこれらを完全にスキップするか、二次的に扱う。
家族情報を使ったクエリ。 両親も解析した場合、トリオがある——どのバリアントが誰から来たかを教えてくれる3つのゲノム。トリオ解析を提供する消費者プラットフォームはゼロ。
柔軟なエビデンス検索。 研究論文でバリアントについて読んだ。自分がそれを持っているか、ClinVarが何と言っているか、異なる祖先グループでの集団頻度を知りたい。ダッシュボードに「任意のrsIDを検索」ボタンはない。
2025年3月の23andMeの経営破綻がこれを具体的にした。Chapter 11申請から24時間以内に、サイトは150万のアクセスを記録——526%の急増。データ削除ページは初日に37万6千、2日目に48万のアクセスを得た。人々は最も個人的なデータセットが他人のサーバーにあることに気づき、それを取り戻したいと思った。
ローカル分析の需要は仮説的なものではない。削除ページのクリック数で測定される。
ギャップを埋めるとどう見えるか
私が使っているスタックには3つのコンポーネントがある:
GeneChat-MCP はローカルVCFクエリを処理する。バリアントファイルを直接読み取る——何もマシンの外に出ない。特定の遺伝子について質問したり、既知の病原性バリアントをスキャンしたり、家族間の遺伝パターンを比較したりできる。
OpenCRAVAT-MCP はクラウドアノテーションデータベースに接続するが、rsID(既知のバリアントの公開識別子、例えばラクターゼ持続のrs4988235)のみを送信する。実際のジェノタイプはローカルに留まる。返ってくるもの:集団頻度、機能予測、タンパク質相互作用データ、調節アノテーション——バリアントを意味あるものにするコンテキスト。
Pomera はセッションノートを管理する。複雑なクエリに取り組む時、永続的なコンテキストが必要になる。
3つすべてがModel Context Protocolを通じてIDE内で動作する。Antigravity、Codex、Claude Code——MCPをサポートするものなら何でも。自然言語で質問する。IDEがクエリを適切なツールにルーティングする。実際のファイルに基づいた根拠ある回答を得る。
アップロードなし。サブスクリプション階層なし。レポートを待つ必要なし。
実際のゲノムからの4つの例
これらのクエリはすべて実データで実行した。完全なレポート——テーブル、ソースデータベース、バージョンスタンプ付き——はGitHubの例ディレクトリで入手できる。見つかったことを紹介する。
薬物代謝(ファーマコゲノミクス)
クエリ: 「薬物代謝に関する私のCYP酵素代謝表現型は?」
| 遺伝子 | 推定表現型 | 主な所見 |
|---|---|---|
| CYP2C19 | 正常代謝型 | *2、*3、*17アレルなし |
| CYP2D6 | 中間代謝型 | *4のヘテロ接合キャリア(*1/*4) |
| CYP2C9 | 正常代謝型 | *2、*3アレルなし |
| CYP3A5 | 非発現型(*3/*3) | 一般的なヨーロッパ系ジェノタイプ |
CYP2D6がここで最も重要だ。処方薬の約25%を代謝する——コデイン、トラマドール、タモキシフェン、多くの抗うつ薬、いくつかのβ遮断薬。中間代謝型ステータスは酵素活性の低下を意味する。コデインはモルヒネに効率的に変換されない。一部の抗うつ薬は用量調整が必要かもしれない。
これは事実的なジェノタイプデータであり、処方箋ではない。しかし、処方者がトラマドールの処方箋を書く前に議論する価値のある情報だ。
100以上のFDAの医薬品ラベルがファーマコゲノミクスバイオマーカーを参照している。処方者があなたの代謝型ステータスを知らない可能性がある。この情報を持って行くことができる。
誰から何を受け継いだか(トリオ解析)
クエリ: 「これらの既知のバリアントについて、どの親から受け継いだか?」
3つのVCFファイル。3つのゲノム。標準的なトリオロジック:ヘテロ接合体で一方の親がバリアントを持ち他方が持たない場合、どちら側から来たかがわかる。
| バリアント | 遺伝子 | 遺伝 |
|---|---|---|
| rs1801131 | MTHFR (A1298C) | 父方 — 父はヘテロ、母は野生型 |
| rs17822931 | ABCC11(耳垢タイプ) | 母方 — 母はヘテロ、父は野生型 |
| rs4988235 | MCM6(ラクターゼ) | 両親 — 各親から1つのアレル |
| rs1050450 | GPX1(抗酸化物質) | 非遺伝 — 母が保持、被験者は野生型 |
最後の行は誰も予想しないものだ。親がバリアントを保持している。あなたはそれを受け継がなかった。トリオ解析でしか答えられない質問であり、消費者が利用できる他のものでは不可能だ。
ClinVarゲノムスキャン
クエリ: 「ゲノムをClinVar病原性バリアントでスキャンして。」
ClinVarはNIHの臨床的に関連するバリアントのデータベース——疾患、薬物応答、その他の表現型に関連するもの。486万バリアントに対する完全スキャンで以下が見つかった:
- 100の病原性バリアント 41遺伝子にわたる
- 25の薬物応答バリアント
深掘りするまで警鐘に聞こえる。「病原性」とフラグ付けされた大半のエントリには矛盾する分類がある。あるラボは病原性と呼び、別のラボは良性と呼び、3番目は意義不明と言う。データベースはこの不一致を記録しており、これは実際に価値がある——科学がまだ決着していない場所を教えてくれる。
一握りのバリアントが複数の提出者間で一貫した病原性分類を持っていた。それらは遺伝カウンセラーと検討する価値がある。残りはノイズ、あるいは少なくともより多くのエビデンスが蓄積されるまでのノイズだ。
深層バリアントアノテーション(OpenCRAVAT)
クエリ: 「rs4988235の深層アノテーションを教えて。」
ここでrsIDのみのクラウドクエリがその価値を証明する。1回の呼び出し——annotate_rsid("rs4988235")——がラクターゼ持続バリアントの150以上のアノテーションフィールドを返した:
- CADDスコア:機能的影響の予測
- 集団頻度 7つの祖先グループ:ヨーロッパ人60.2%、東アジア人0.3%(このバリアントは北ヨーロッパの酪農を可能にした——その地理的分布は1万年の物語を語る)
- 56のタンパク質相互作用因子:より広い分子ネットワーク
- 調節要素データ:このバリアントがゲノムの制御アーキテクチャのどこに位置するか
これを通常得るにはバイオインフォマティクスパイプラインが必要——データベースのダウンロード、アノテーションツールの実行、出力フォーマットのパース。ここではrsIDだけを送信する1回の関数呼び出しであり、ジェノタイプは送信しない。
2つの追加レポート——形質関連とポリジェニックリスクスコア——はGitHubの例ディレクトリで入手できる。
クローン、設定、クエリ
必要なもの
- 全ゲノム解析プロバイダーからのVCFファイル
- MCPをサポートするエージェンティックIDE(Antigravity、Codex、Claude Code)
- Python 3.10+とconda(GeneChat-MCP用)
- アノテーションデータベース用の約2GBのディスク容量(ClinVar、SnpEff、GWAS Catalog、PGSモデル)
- オプション:深層アノテーション用のOpenCRAVATクラウドアカウント(無料枠)
アーキテクチャ
あなたのIDE(チャット)
Antigravity / Codex / Claude Code
│ │
▼ ▼
┌──────────┐ ┌──────────────┐
│ GeneChat │ │ OpenCRAVAT │
│ MCP │ │ MCP │
│(ローカル)│ │(クラウドAPI)│
└────┬─────┘ └──────┬───────┘
│ │
▼ │ rsIDのみ
┌──────────┐ │(ゲノムデータなし)
│ あなたの │ ▼
│ VCF │ CADD, REVEL,
│ ファイル │ gnomAD, BioGRID
│(ローカル)│
└──────────┘
セットアップ
READMEをここで再現するつもりはない。IDEでMCPサーバーを設定できるなら、リポジトリの手順に従えばよい。
クローン: github.com/matbanik/agentic-genomics
セットアップには3つの部分がある:GeneChat-MCP(ローカルVCFクエリ)、OpenCRAVAT-MCP(クラウドアノテーション)、IDEのMCP設定。READMEが各部分を説明している。
つまずきやすい2つのポイント:
VCFインデックス作成。 最初のクエリの前にVCFファイルをtabixでインデックス作成する必要がある。GeneChatは.vcf.gz + .vcf.gz.tbiのペアを期待する。インデックスがない場合、クエリは静かに失敗するか暗号的なエラーを出す。リポジトリにドキュメントがあるが、最も一般的なセットアップ問題だ。
コンティグフォーマットの不一致。 一部のシーケンシングプロバイダーはchr1, chr2, chr3プレフィックスを使う。他は裸の1, 2, 3を使う。VCFが一つのフォーマットを使い、参照データベースが別のフォーマットを期待する場合、バリアント検索は失敗する。リポジトリは変換を処理するが、バリアントがあると分かっているのにクエリが「見つかりません」を返す理由を知っておく価値がある。
トリオ解析?同じセットアップ、より多くのゲノム。各家族メンバーのVCFファイルを登録し、すべてにわたってクエリする。
質問できること
IDEに直接入力できる自然言語プロンプトだ。エージェントが各クエリを自動的に適切なMCPツールにルーティングする。
私のCYP2D6代謝型ステータスは? ゲノムをClinVar病原性バリアントでスキャンして これらのバリアントのうち母から受け継いだのは? BMIポリジェニックリスクスコアを計算して rs4988235の深層アノテーションを教えて カフェイン代謝のGWAS関連は?
ランドスケープ
あなたは一人ではない
この分野は急速に動いている。知っておくべきプロジェクト。
ClawBio はImperial Collegeで開催されたUK AI Agent Hackathonから生まれた。PythonのCLIとライブラリ——MCPサーバーではないのでアーキテクチャは異なるが、目標は重なる。他では見たことのない2つのツールを構築した:gwas-lookupは9つのGWASデータベースに同時にクエリを送り、clinpgxはPharmGKB、CPICガイドライン、FDAラベルアノテーションを1回の呼び出しで取得する。補完的な作業、異なるインターフェースパラダイム。
学術的なシグナルも現れている。Briefings in Bioinformaticsの論文が医療AIエージェント用のMCPmedフレームワークを形式化した。EMBLはBioContextAIを開発中。cBioPortal——がんゲノミクスデータベース——は今やMCPインターフェースを持っている。IBM ResearchはISMBで関連研究を発表した。
オープンソース側:Bio-MCPは一般的なバイオインフォマティクスツールアクセスを提供し、gget-mcpは遺伝子/タンパク質クエリ用のggetライブラリをラップし、IGV-MCPは可視化用のIntegrative Genomics Viewerに接続する。
パターンは明確だ。ゲノムデータは会話型インターフェースを通じてクエリ可能になっている。問題はそれが自分のマシンで起こるか、他の誰かのマシンで起こるかだ。
これが何でないか
境界について率直に述べたい。
これは疾患を診断しない。ClinVarの「病原性」フラグは診断ではない——提出されたエビデンスを反映するデータベースエントリであり、しばしば矛盾する解釈を伴う。
これは治療を推奨しない。CYP2D6中間代謝型ステータスはジェノタイプの事実だ。それについてどうするかは、完全な医療コンテキスト、他の薬、処方者の判断に依存する臨床的決定だ。
これは栄養アドバイスを提供しない。MTHFRステータスはどのサプリメントを取るべきかを教えない。
スターアレルコール——CYP2D6 *1/*4、CYP2C19 *1/*1——は事実的なジェノタイプデータだ。どのバリアントを保持しているかを記述する。それを行動に変換するには臨床トレーニングを受けた人間とあなたの完全な情報が必要だ。
懸念されるものを見つけた場合、遺伝カウンセラーまたは処方者と相談すること。これはヘッジではない;こういう仕組みだ。
ソースデータベースは各クエリ出力で名前とバージョンが記載される:PharmVarはスターアレル定義、CPICはジェノタイプ-フェノタイプマッピング、ClinVarは臨床バリアント分類、gnomADは集団頻度。
おわりに
あなたのゲノムはこれまでに所有する最も個人的なデータセットだ。今、その大部分は開いたことのないフォルダに——あるいは制御できないサーバーにある。
それを変えるツールは無料で、オープンで、あなたのマシンで動作する。
セットアップ中に行き詰まったら、GitHubでissueを開く。そのためにある。
リソース
- Agentic Genomics — GitHubリポジトリ
- サンプルレポート(ファーマコゲノミクス、トリオ、ClinVar、OpenCRAVAT)
- GeneChat-MCP — ローカルVCFクエリ
- OpenCRAVAT-MCP — クラウドアノテーション
- OpenCRAVAT — バリアントアノテーションプラットフォーム
- Pomera — MCP用セッションノート
- MCP仕様
- Antigravity IDE
- ChatGPT Codex
- Claude Code
- ClinVar — 臨床バリアントデータベース
- PharmVar — スターアレル定義
- CPIC — ジェノタイプ-フェノタイプマッピング
- gnomAD — 集団頻度
- FDAファーマコゲノミクスバイオマーカー
- ClawBio — Pythonゲノミクス CLI
- Bio-MCP · gget-mcp · IGV-MCP
⚠️ 免責事項: これは事実的なジェノタイプレポートであり、医療アドバイスではありません。実行可能な所見について処方者または遺伝カウンセラーと相談してください。ソースデータベース:PharmVar、CPIC、ClinVar、gnomAD——バージョンはクエリごとに記載。