tooluniverse-population-genetics-1000genomes
tooluniverse-population-genetics-1000genomes について
遺伝学研究者向けの ToolUniverse スキルです。1000 Genomes(IGSR)の集団、サンプル、データコレクションを検索し、GWAS 情報と組み合わせて集団別解析を行えます。
主な機能
- 011000 Genomes 集団の検索
- 02集団や名前によるサンプル検索
- 03データコレクションと種類の確認
- 04GWAS の形質・遺伝子変異の検索
- 05集団別解析の解釈ガイド
活用シーン
- 01超集団に属する集団コードの一覧作成
- 02YRI など特定集団のサンプル検索
- 03遺伝子や形質に関連する GWAS SNP の取得
- 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 GRCh38 | 2709 サンプル、26 集団 | シーケンス、アラインメント、バリアント |
| 1000 Genomes 30x on GRCh38 | 高カバレッジ再シーケンス | シーケンス、アラインメント、バリアント |
| 1000 Genomes phase 3 release | 元のフェーズ 3 | シーケンス、アラインメント、バリアント |
| Human Genome Structural Variation Consortium | HGSVC SV の検出 | シーケンス、アラインメント |
| MAGE RNA-seq | RNA-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などのより大規模なリソースを使うと、より信頼性の高い推定値が得られます。
統合に関する質問
- 注目しているバリアントのアレル頻度は、スーパー集団間で意味のある差(> 5%)がありますか?また、その差によって疾患有病率やGWASの効果量の違いを説明できますか?
- GWASの関連は祖先集団をまたいで再現されていますか?それとも、LD構造の違いや集団特異的な選択によって、特定の集団に限定されていますか?
- ファインマッピングでは、AFR集団のLDパターンによってEURと比べて関連シグナルが絞り込まれ、原因となる可能性が高いバリアントの特定に役立ちますか?
- 1000 Genomesデータセットの集団ラベルとサンプルサイズは分析に十分ですか?それとも、対象集団は過小評価されていますか?
- 症例群と対照群の祖先集団の違いが適切に制御されていないことによる集団層別化で、真の遺伝的効果ではなく、観察された関連を説明できる可能性はありますか?
ツールのパラメーター早見表
| ツール | 主なパラメーター | 備考 |
|---|---|---|
| IGSR_search_populations | superpopulation, query, limit | superpopulation:AFR/AMR/EAS/EUR/SAS |
| IGSR_search_samples | population, data_collection, sample_name, limit | population = 集団コード(例:YRI) |
| IGSR_list_data_collections | limit | コレクションは全部で18件 |
| gwas_search_associations | trait, limit | フリーテキストによる形質検索 |
| gwas_get_variants_for_trait | trait, limit | trait = EFO ID |
| gwas_get_snps_for_gene | gene_symbol, limit | マッピングされたSNPを返します |