mcpField
T
tooluniverse-population-genetics-1000genomes

tooluniverse-population-genetics-1000genomes

github.com/mims-harvard数据与数据库1.8k230 次安装3 天前更新
代码仓库

关于 tooluniverse-population-genetics-1000genomes

面向遗传学研究者的 ToolUniverse 技能,用于检索 1000 Genomes(IGSR)的人群、样本和数据集,并结合 GWAS 信息开展人群分层分析。

主要功能

  1. 01搜索 1000 Genomes 人群
  2. 02按人群或名称查找样本
  3. 03浏览数据集及其类型
  4. 04查询 GWAS 性状和基因变异
  5. 05提供分层分析的解读框架

适用场景

  1. 01列出特定超人群的人群代码
  2. 02查找 YRI 等人群的样本
  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原始 phase 3序列、比对、变异
Human Genome Structural Variation ConsortiumHGSVC 结构变异发现序列、比对
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 ID,例如 "EFO_0001645")、limit(整数)。

{"trait": "EFO_0001645", "limit": 10}
从 GWAS Catalog 查找某基因中的 SNP

gwas_get_snps_for_gene:gene_symbol(字符串)、limit(整数)。 返回映射到该基因的 SNP,包括 rsID、基因组位置和功能类别。

{"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)的 EUR 中 AF = 0.30、EAS 中 AF = 0.05,GWAS p = 1e-40
中等AF 差异为 0.05-0.2,一个祖源中的 GWAS p < 5e-8,其他祖源中达到名义显著性AFR 中 AF = 0.15、EUR 中 AF = 0.08 的变异,仅在 EUR 中 GWAS p < 5e-8
弱AF 差异 < 0.05,GWAS p < 5e-8,但仅有一项研究,未在不同祖源间重复验证各人群中 AF 相近的常见变异,在一个队列中达到显著性
人群特异性变异在一个超级人群中常见(AF > 0.01),在其他人群中罕见(AF < 0.01)镰状细胞变异(rs334)在 AFR 中 AF 约为 0.10,在其他人群中 < 0.001
解读指南
  • 按祖源解读等位基因频率:由于遗传漂变、选择和人口历史,等位基因频率在超级人群(AFR、AMR、EAS、EUR、SAS)间存在差异。AFR 人群的遗传多样性最高,单倍型因重组而被打断的时间也最长。疾病风险等位基因可能在一个祖源中常见、在另一个祖源中罕见,导致不同人群的遗传风险不同。
  • Fst 显著性阈值:Fst 衡量人群分化程度(0 = 无分化,1 = 不同等位基因完全固定)。人类人群的全局 Fst 平均约为 0.12。位点特异性 Fst > 0.3 表示强分化(可能受到选择)。在人类中,除已知选择目标(例如影响肤色的 SLC24A5)外,Fst > 0.5 极为罕见。将位点 Fst 与全基因组分布进行比较,以识别离群值。
  • LD 解读:连锁不平衡(LD)模式因祖源而异。由于人口历史更久远,AFR 人群的 LD 区块更短,因此精细定位需要更密集的基因分型。EUR 和 EAS 人群的 LD 区块更长。当 GWAS 命中位点与多个变异处于 LD 时,在 AFR 祖源数据中更有可能确定因果变异。报告 r-squared 数值:r2 > 0.8 = 强 LD,0.2-0.8 = 中等,< 0.2 = 弱。
  • 人群分层: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

评论

支持 Markdown