Skip to main content
Glama

1000 Genomes ProjectデータセットMCPサーバー

Dnaerysバリアントストアでオンラインホストされている1000 Genomes Projectデータセットへの自然言語アクセス

New York Genome Center (GRCh38) によりシーケンスおよびアライメント済み。3202サンプル:フェーズ3パネルの非血縁サンプル2504件 + 602の家族トリオからのサンプル698件 - データセットの詳細

主な機能

  • 1億3804万4723件のユニークなバリアントおよび約4420億件の個別のジェノタイプへのリアルタイムアクセス

  • 座標、アノテーション、接合性、集団に基づくバリアント、サンプル、ジェノタイプの選択

  • VEP(影響、バイオタイプ、フィーチャータイプ、バリアントクラス、結果)、ClinVar臨床的意義(202502)、gnomADe + gnomADg 4.1、AlphaMissenseスコアおよびAlphaMissenseクラスアノテーションによるフィルタリング

  • 返されるバリアントにはHGVSpgnomADe + gnomADgAlphaMissenseスコア、およびコホート全体の統計情報がアノテーションされています

    • HGVSpアノテーションは、LLMの認知負荷を軽減するために標準トランスクリプトに対して行われています

  • サンプルには以下の情報がアノテーションされています:familyId、性別、父方ID、母方ID、関係、子供、集団、スーパー集団、フェーズ3インジケーター

オンラインサービス

Streamable HTTP経由のリモートMCPサービス:

高分子構造複合体

26Sプロテアソームを機械的に冗長な3Dマシンとして扱い、KGP個人のすべてのミスセンスバリアントを33個のサブユニット全体にマッピングしてください。空間解析を実行し、病原性変異が進化的に制約された「コア」(ゾーンA)や「ゲーティング」(ゾーンB)のインターフェースよりも、遠位の「リッド」(ゾーンC)に統計的に偏っているかどうかを判断してください。高い累積負荷(「病原性の可能性が高い」バリアントが2つ以上)を持つ個人を特定してサブユニット間の補償を調査し、タンパク質間ヒンジでの「弱体化」および「安定化」変異のペアを検索してください。最後に、AlphaMissenseスコアと計算されたΔΔG値に基づいて、単一の健康な個人で観察される最大の累積構造破壊を確立することにより、プロテアソームの「機械的許容範囲」を定義してください。

ケーススタディ:ワークフロー、タスクレポート、原稿ドラフト →

高分子構造複合体

MCM2-7複合体(「DNAヘリカーゼモーター」)は分子の傑作です。これはヘテロヘキサマーリングであり、各サブユニットはDNA解凍モーターの個別の「ギア」です。ホモマーリング(すべてのサブユニットが同じもの)とは異なり、この複合体は非対称です。サブユニット間の各インターフェースはユニークであり、すべてが同じ速度でATPを消費するわけではありません。MCM2/5インターフェースは、DNAがリングに入ることを物理的に許可し、その後閉じるための「ゲート」です。これは高ストレスの機械的ポイントです。

KGPコホート内でMCM2/5インターフェースにミスセンスバリアントを持つ個人を特定してください。特に、「電荷反転」バリアント(例:アスパラギン酸からリジンへ)を探してください。これらの特定のサンプルにおいて、「補償的結合」を分析してください:それらは、静電的な「ラッチ」を回復させる対向するサブユニットインターフェース上に、二次的な相互電荷反転バリアントを保持していますか?

MCM2-7複合体の任意のMCMサブユニットのWalker AまたはWalker Bモチーフ(ATPを消費する心臓部)に高い病原性を持つバリアントを保持するKGPコホート内の個人を特定してください。これらの個人に対して、「システムフラックス」分析を実行してください:リーディング鎖ポリメラーゼ(POLE)およびスライディングクランプ(PCNA)のバリアントを確認してください。モーター、クランプ、ポリメラーゼのすべてが、より遅いが非常に正確な複製フォークを示唆するバリアントを保持している「協調的減速」の兆候を検出できますか?

高分子構造複合体

ヒトRNAエキソソーム(Exo-9コア)は、足場として機能する「死んだマシン」です。下等生物では、リング自体がRNAを分解できます。ヒトでは、9サブユニットのリングはその触媒的な歯をすべて失っており、底部に取り付けられた触媒サブユニット(DIS3またはEXOSC10)にRNAを導く純粋な構造トンネルです。RNAは非常に負に帯電したポリマーであるため、この孔の内側にある残基は通常正に帯電していますが(リジン、アルギニン)、RNAが詰まらないように「粘着性」が強すぎない必要があります。そのため、底部の「シュレッダー」に到達するには、Exo-9リングによって形成された狭い孔を滑り抜ける必要があります。

タスク:KGPコホート内のExo-9リングの内部孔を裏打ちする残基にマッピングされるすべてのミスセンスバリアントを分析してください。正の残基(K、R)が負の残基(D、E)に置き換わる「電荷交換」バリアントを探してください。RNAをはじくはずのトンネル内に「負のパッチ」があるにもかかわらず個人が健康である場合、彼らは入り口を広げるキャップサブユニット(EXOSC1、2、3)に補償的なバリアントを保持していますか?3D静電表面マップを使用して、「健康な」コホートが特定の静電勾配を維持しているかどうかを判断してください。

レドックス恒常性における相乗的エピスタシス

細胞のレドックス恒常性は、グルタチオンシステムとチオレドキシンシステムという2つの並行した抗酸化システムによって維持されています。GSRまたはTXNRD1のいずれかの完全な喪失は哺乳類の発生と両立しませんが、集団データベースには酵素機能を損なうと予測されるバリアントを保持する個人が含まれています。

KGPコホート内で、両方のシステムにわたって複数の「中程度」の影響を持つVEPバリアントを保持する個人のクラスターを特定してください。AlphaMissenseの構造的影響を推論することで、グルタチオン還元酵素の効率の低下が、チオレドキシンシステムの高信頼性の良性または潜在的な活性化バリアントと一貫してペアになっている「バランス調整」を検出できますか?コホート全体でのこれらのバリアントの共起に基づいて、「レドックス堅牢性」のモデルを合成してください。

その他の例


アーキテクチャ

Java EEサービスとして実装され、パブリックDnaerysバリアントストアサービスへのgRPC呼び出しを介してKGPデータセットにアクセスします。

  • Streamable HTTPHTTP/SSE、およびSTDIOトランスポート経由でMCPを提供します

  • サービスの実装はQuarkus MCP Serverフレームワークに基づいています

  • サンプルの集団とメタデータは、組み込みのDuckDBインスタンスによって管理されます

  • MCPツール:

    • ゲノミクスデータベース:countSamples, countSamplesHomozygousReference, countVariants, countVariantsInSamples, getDatasetInfo, getKinshipDegree, selectSamples, selectSamplesHomozygousReference, selectVariants, selectVariantsInSamples, computeAlphaMissenseAvg, computeVariantBurden

    • 集団とメタデータ:listPopulations, listSuperpopulations, getPopulationStats, getSuperpopulationSummary, getSampleMetadata, selectSamplesByPopulation

    • 実装

インストール

プロジェクトは、MCPを使用してstdioおよび/またはhttpトランスポートでローカルに実行できます

  • プロジェクトをビルドし、単一のüber-jarとしてパッケージ化します:

    • jarはtarget/onekgpd-mcp-runner.jarにあり、すべての依存関係が含まれています

./mvnw clean package -DskipTests -Dquarkus.package.jar.type=uber-jar

テストコンパイルをスキップする場合

./mvnw  clean package -Dmaven.test.skip=true -Dquarkus.package.jar.type=uber-jar
  • devプロファイルでローカルに実行します

    • stdiohttpの両方のトランスポートが有効になります

    • httpトランスポートはポート9000です(設定内のquarkus.http.port

    • プロジェクトは実行時にJRE 21が利用可能であることを想定しています

java -Dquarkus.profile=dev -jar <full path>/onekgpd-mcp-runner.jar

MCPクライアントとの接続

  • httpトランスポート経由で接続するには(リモートまたはローカル)、クライアントを宛先に指定するだけです。 例: http://localhost:9000/mcp または https://db.dnaerys.org:443/mcp

    • 注意: Claude Desktophttp://localhost:9000/mcpオプションでは動作しません。このオプションはGooseのようなクライアント用です。

  • stdioトランスポート経由で接続するには、MCPクライアントはdevプロファイルで、jarファイルへのフルパスを指定してアプリケーションを起動する必要があります

    • 例:Claude Desktopの場合、設定ファイル(例:claude_desktop_config.json)に追加します:

{
  "mcpServers": {
    "OneKGPd": {
      "command": "java",
      "args": ["-Dquarkus.profile=dev", "-jar", "/full/path/onekgpd-mcp-runner.jar"]
    }
  }
}

検証

1000 Genome Projectにはいくつのバリアントが存在しますか?

テストカバレッジステータス

コンポーネント

タイプ

テスト

ステータス

エンティティマッパー (9クラス)

ユニット

314

✅ 完了

DnaerysClient

ユニット

58 (7無効)

✅ 完了

DnaerysClient

統合

5 (1無効)

✅ 完了

OneKGPdMCPServer

ユニット

26

✅ 完了

OneKGPdMCPServer

統合

5

✅ 完了

その他

ユニット

1

✅ 完了

その他

統合

1

✅ 完了

合計

410テスト

402合格, 8無効

テストの内訳:

  • ユニットテスト:399(7無効、392合格)

  • 統合テスト:11(1無効、10合格)

無効なテスト:

  • 7つのDnaerysClientユニットテスト(PaginationTests、ストリーミングgRPCの制限 - wiremock-grpc-extension:0.11.0はまだストリーミングRPCをモックできません)

  • 1つのDnaerysClient統合テスト(PaginationLogicTests、ストリーミングgRPCの制限 - wiremock-grpc-extension:0.11.0はまだストリーミングRPCをモックできません)

テストの実行

# Unit tests only (no server required)
./mvnw test

# Integration tests (requires db.dnaerys.org access)
./mvnw verify -DskipITs=false

# Update test baselines after data changes
./mvnw verify -DskipITs=false -DupdateBaseline=true

このプロジェクトのテスト部分はClaudeによって書かれています。楽しい部分は人間によって書かれています。


プライバシーポリシー

OneKGPd MCPサーバーは、1000 Genomes Projectデータセットの読み取り専用インターフェースレイヤーとして動作します。 サーバーはユーザーデータを収集、保存、送信しません。会話データは記録されません。 個人情報は収集されません。Cookie、追跡メカニズム、認証は使用されません。

サポート

ライセンス

このプロジェクトはApache License 2.0の下でライセンスされています。詳細はLICENSEファイルを参照してください。

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/dnaerys/OneKGP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server