mcpField
T
tooluniverse-population-genetics-1000genomes

tooluniverse-population-genetics-1000genomes

github.com/mims-harvardデータ・データベース1.8k230 回インストール2 日前に更新
リポジトリ

tooluniverse-population-genetics-1000genomes について

遺伝学研究者向けの ToolUniverse スキルです。1000 Genomes(IGSR)の集団、サンプル、データコレクションを検索し、GWAS 情報と組み合わせて集団別解析を行えます。

主な機能

  1. 011000 Genomes 集団の検索
  2. 02集団や名前によるサンプル検索
  3. 03データコレクションと種類の確認
  4. 04GWAS の形質・遺伝子変異の検索
  5. 05集団別解析の解釈ガイド

活用シーン

  1. 01超集団に属する集団コードの一覧作成
  2. 02YRI など特定集団のサンプル検索
  3. 03遺伝子や形質に関連する GWAS SNP の取得
  4. 04集団データを用いた GWAS 層別化の検討

MCP 対応

ToolUniverse のツールで IGSR の集団、サンプル、データコレクションを検索し、GWAS ツールで関連情報や変異データを取得します。

インストール

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

$npx skills add https://github.com/mims-harvard/tooluniverse --skill tooluniverse-population-genetics-1000genomes

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

詳細

説明するのではなく、計算する

統計、データ処理、スコアリング、エンリッチメントなど、分析に計算が必要な場合は、Bash 経由で Python コードを記述して実行してください。何をするか説明するのではなく、実行して実際の結果を報告してください。ToolUniverse ツールでデータを取得し、Python(pandas、scipy、statsmodels、matplotlib)で分析してください。

1000 Genomes(IGSR)による集団遺伝学

IGSR ツールを使って、1000 Genomes の集団やサンプルを検索し、データコレクションを調べ、GWAS ツールと組み合わせて集団別の分析を行います。

使用する場面

  • 「1000 Genomes Project のアフリカ系(AFR)集団をすべて列挙する」
  • 「YRI(ヨルバ)集団のサンプルを見つける」
  • 「利用可能な 1000 Genomes のデータコレクションは何ですか?」
  • 「2 型糖尿病の GWAS SNP のうち、集団特異的な影響があるものはどれですか?」
  • 「GWAS 研究で TCF7L2 にマッピングされたすべての SNP を見つける」

対象外(代わりにほかのスキルを使用)

  • gnomAD のアレル頻度 → tooluniverse-population-genetics を使用
  • ClinVar/OMIM のバリアント解釈 → tooluniverse-variant-interpretation を使用
  • GWAS ファインマッピング → tooluniverse-gwas-finemapping を使用

フェーズ 1:1000 Genomes の集団を検索する

IGSR_search_populations:superpopulation(文字列/null、AFR/AMR/EAS/EUR/SAS のいずれか)、query(文字列/null、名称を自由テキストで検索)、limit(整数)。 {status, data: {total, populations: [{code, name, description, sample_count, superpopulation_code, superpopulation_name, latitude, longitude}]}, metadata: {source, filter_superpopulation, filter_query}} を返します。

スーパー集団コード:

コード祖先
AFRアフリカ系
AMRアメリカ系混合
EAS東アジア系
EURヨーロッパ系
SAS南アジア系
// List all AFR populations
{"superpopulation": "AFR", "limit": 10}

// Search by name (free-text)
{"query": "Yoruba", "limit": 5}

// List all populations
{"limit": 26}

応答例:

{
  "status": "success",
  "data": {
    "total": 3,
    "populations": [
      {"code": "YRI", "name": "Yoruba", "description": "Yoruba in Ibadan, Nigeria",
       "sample_count": 188, "superpopulation_code": "AFR", "superpopulation_name": "African Ancestry"}
    ]
  }
}

フェーズ 2:集団別にサンプルを検索する

IGSR_search_samples:population(文字列/null、例:「YRI」のような集団コード)、data_collection(文字列/null、コレクションのタイトル)、sample_name(文字列/null、例:「NA12878」のような特定のサンプル)、limit(整数)。 {status, data: {total, samples: [{name, sex, biosample_id, populations: [{code, name, superpopulation}], data_collections: [...]}]}} を返します。

// Find all YRI samples
{"population": "YRI", "limit": 10}

// Look up the reference sample NA12878
{"sample_name": "NA12878", "limit": 1}

// Find samples in the 30x high-coverage collection
{"data_collection": "1000 Genomes 30x on GRCh38", "limit": 5}

注:population には集団コード(例:「YRI」、「GBR」、「CHB」)を指定します。スーパー集団コードは指定しません。スーパー集団から検索を始める場合は、まず IGSR_search_populations を使って集団コードを取得してください。


フェーズ 3:データコレクションを一覧表示する

IGSR_list_data_collections:limit(整数)。 {status, data: {total, collections: [{code, title, short_title, sample_count, population_count, data_types, website}]}} を返します。

{"limit": 20}

主な利用可能コレクション(全 18 件):

コレクション説明データ型
1000 Genomes on GRCh382709 サンプル、26 集団シーケンス、アラインメント、バリアント
1000 Genomes 30x on GRCh38高カバレッジ再シーケンスシーケンス、アラインメント、バリアント
1000 Genomes phase 3 release元のフェーズ 3シーケンス、アラインメント、バリアント
Human Genome Structural Variation ConsortiumHGSVC SV の検出シーケンス、アラインメント
MAGE RNA-seqRNA-seq データ-
Geuvadis発現+遺伝子型-

フェーズ 4:集団層別化に向けた GWAS のコンテキスト

形質の GWAS 関連を検索する

gwas_search_associations:trait(文字列、自由テキスト)、limit(整数)。 rsID、p 値、マッピングされた遺伝子、EFO 形質 ID を含む GWAS 関連を返します。

{"trait": "type 2 diabetes", "limit": 10}
特定の形質のバリアントを取得する(EFO ID を指定)

gwas_get_variants_for_trait:trait(文字列、例:「EFO_0001645」のような EFO ID)、limit(整数)。

{"trait": "EFO_0001645", "limit": 10}
GWAS カタログから遺伝子内の SNP を見つける

gwas_get_snps_for_gene:gene_symbol(文字列)、limit(整数)。 rsID、ゲノム上の位置、機能クラスとともに、遺伝子にマッピングされた SNP を返します。

{"gene_symbol": "TCF7L2", "limit": 10}

GWASにおける集団層別化のワークフロー

ステップ 1 -- 関心のある集団を見つけます:

// Get all EUR populations
{"superpopulation": "EUR", "limit": 10}
// -> Returns codes like GBR, FIN, CEU, TSI, IBS

ステップ 2 -- 対象集団のサンプルを取得します:

// Get YRI samples (AFR)
{"population": "YRI", "limit": 100}

ステップ 3 -- 遺伝子または形質に関連するGWAS SNPを取得します:

// GWAS hits for TCF7L2 (T2D gene)
{"gene_symbol": "TCF7L2", "limit": 20}

ステップ 4 -- 集団データと照合して層別化解析を行います。


よく使われる集団コード

コード集団スーパーポピュレーション
YRIナイジェリア、イバダンのヨルバ人AFR
LWKケニア、ウェブイェのルヒヤ人AFR
GWDガンビアのマンディンカ人AFR
CEUユタ州の住民(CEPH)EUR
GBRイングランド/スコットランドのイギリス人EUR
FINフィンランドのフィンランド人EUR
TSIイタリアのトスカーナ人EUR
CHB北京の漢民族EAS
JPT東京の日本人EAS
CHS中国南部の漢民族EAS
MXLロサンゼルスのメキシコ系住民AMR
PURプエルトリコのプエルトリコ人AMR
GIHヒューストンのグジャラート系インド人SAS
PJLラホール出身のパンジャーブ人SAS

結果を解釈するための推論フレームワーク

エビデンスの評価
評価基準例
強いスーパーポピュレーション間のAF差が 0.2 超、GWASの p < 5e-8、複数のコホートで再現rs7903146(TCF7L2)はAF = 0.30(EUR)対0.05(EAS)、GWASの p = 1e-40
中程度AF差が0.05~0.2、ある祖先集団でGWASの p < 5e-8、他の集団では名目上有意AFRでAF = 0.15、EURで0.08のバリアント。GWASの p < 5e-8はEURのみ
弱いAF差が0.05未満、GWASの p < 5e-8だが単一研究のみ、祖先集団間での再現なし集団間でAFがほぼ同じ一般的なバリアントで、1つのコホートで有意
集団特異的あるスーパーポピュレーションでは一般的(AF > 0.01)だが、他ではまれ(AF < 0.01)なバリアント鎌状赤血球症のバリアント(rs334)。AFはAFRで約0.10、その他では0.001未満
解釈の指針
  • 祖先集団別のアレル頻度の解釈:アレル頻度は、遺伝的浮動、選択、人口統計学的歴史の違いにより、スーパーポピュレーション(AFR、AMR、EAS、EUR、SAS)間で異なります。AFR集団は遺伝的多様性が最も高く、組換えによって短く分断されたハプロタイプを持ちます。疾患リスクアレルは、ある祖先集団では一般的で、別の集団ではまれな場合があり、集団間で遺伝的リスクに差が生じます。
  • Fstの有意性しきい値:Fstは集団分化を測定します(0 = 分化なし、1 = 異なるアレルの完全な固定)。ヒト集団のグローバルFstの平均は約0.12です。座位特異的なFst > 0.3は、強い分化(選択の可能性)を示唆します。Fst > 0.5は極端であり、既知の選択標的(皮膚色素沈着に関わるSLC24A5など)以外では、ヒトではまれです。外れ値を特定するには、座位のFstをゲノム全体の分布と比較してください。
  • LDの解釈:連鎖不平衡(LD)のパターンは祖先集団によって異なります。AFR集団は人口統計学的歴史がより古く、LDブロックが短いため、ファインマッピングにはより高密度なジェノタイピングが必要です。EURおよびEAS集団ではLDブロックがより長くなります。GWASヒットが複数のバリアントとLDにある場合、原因バリアントはAFR祖先集団のデータで特定しやすくなります。r-squared値を報告してください:r2 > 0.8 = 強いLD、0.2~0.8 = 中程度、< 0.2 = 弱いLD。
  • 集団層別化:GWASで集団構造を適切に制御しないと、偽陽性が増加します。1000 Genomesのスーパーポピュレーションラベルは、層別化解析の枠組みになります。混合祖先のサンプル(AMRなど)を正確に解釈するには、局所祖先のデコンボリューションが必要です。
  • サンプルサイズの考慮:1000 Genomesには、26の集団にわたる約2500サンプルが含まれています。小規模な集団(N < 100)では、集団特異的なアレル頻度の精度に限界があります。まれなバリアント(AF < 0.01)については、gnomADなどのより大規模なリソースを使うと、より信頼性の高い推定値が得られます。
統合に関する質問
  1. 注目しているバリアントのアレル頻度は、スーパー集団間で意味のある差(> 5%)がありますか?また、その差によって疾患有病率やGWASの効果量の違いを説明できますか?
  2. GWASの関連は祖先集団をまたいで再現されていますか?それとも、LD構造の違いや集団特異的な選択によって、特定の集団に限定されていますか?
  3. ファインマッピングでは、AFR集団のLDパターンによってEURと比べて関連シグナルが絞り込まれ、原因となる可能性が高いバリアントの特定に役立ちますか?
  4. 1000 Genomesデータセットの集団ラベルとサンプルサイズは分析に十分ですか?それとも、対象集団は過小評価されていますか?
  5. 症例群と対照群の祖先集団の違いが適切に制御されていないことによる集団層別化で、真の遺伝的効果ではなく、観察された関連を説明できる可能性はありますか?

ツールのパラメーター早見表

ツール主なパラメーター備考
IGSR_search_populationssuperpopulation, query, limitsuperpopulation:AFR/AMR/EAS/EUR/SAS
IGSR_search_samplespopulation, data_collection, sample_name, limitpopulation = 集団コード(例:YRI)
IGSR_list_data_collectionslimitコレクションは全部で18件
gwas_search_associationstrait, limitフリーテキストによる形質検索
gwas_get_variants_for_traittrait, limittrait = EFO ID
gwas_get_snps_for_genegene_symbol, limitマッピングされたSNPを返します

コメント