mcpField
T
tooluniverse-gwas-study-explorer

tooluniverse-gwas-study-explorer

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

关于 tooluniverse-gwas-study-explorer

这是一个 ToolUniverse 技能,用于比较 GWAS 研究、评估跨队列的重复验证与研究质量,并分析遗传位点。它整合 NHGRI-EBI GWAS Catalog 和 Open Targets Genetics 数据,并通过 Python 进行统计分析。

主要功能

  1. 01按性状、样本量、祖源和平台比较研究
  2. 02在数据可用时合并效应值
  3. 03评估发现队列与后续队列间的重复验证
  4. 04评估统计效能、祖源多样性和数据可用性
  5. 05使用 Python 进行统计分析和绘图

适用场景

  1. 01梳理 2 型糖尿病等性状的 GWAS 结果
  2. 02评估不同研究中某遗传位点的一致性与异质性
  3. 03检查发现队列的结果是否得到重复验证
  4. 04比较不同祖源群体中的遗传位点

MCP 相关

该 ToolUniverse 技能会发现并使用所列的 GWAS Catalog 和 Open Targets Genetics 工具。文档说明其实现兼容 MCP,但未说明 MCP 服务接口。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mims-harvard/tooluniverse --skill tooluniverse-gwas-study-explorer

安装后在 Claude Code 中输入/tooluniverse-gwas-study-explorer确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

.env.template
python_implementation.py
test_skill_comprehensive.py

详细介绍

GWAS 研究深度分析与荟萃分析

比较 GWAS 研究、开展荟萃分析,并评估不同队列中的复现情况


概述

GWAS 研究深度分析与荟萃分析技能可全面比较针对同一性状的全基因组关联研究(GWAS)、对不同研究中的遗传位点进行荟萃分析,并系统评估结果的复现情况和研究质量。它整合 NHGRI-EBI GWAS Catalog 和 Open Targets Genetics 的数据,全面呈现复杂性状的遗传结构。

主要功能
  1. 研究比较:比较某一性状的所有 GWAS 研究,评估样本量、祖源和平台
  2. 荟萃分析:汇总不同研究中的效应量并计算异质性统计量
  3. 复现评估:识别发现队列和复现队列中的已复现与新发现
  4. 质量评估:评估统计功效、祖源多样性和数据可用性

计算,而非描述

当分析需要计算时(统计分析、数据处理、评分、富集分析),请通过 Bash 编写并运行 Python 代码。不要只描述计划如何操作,而要实际执行并报告结果。使用 ToolUniverse 工具检索数据,然后用 Python(pandas、scipy、statsmodels、matplotlib)进行分析。

领域推理:比较针对同一性状的研究

比较针对同一性状的 GWAS 研究时,请思考结果是否能够复现。相互独立的研究中出现相同的 lead SNP,是关联真实存在的有力证据。同一位点出现不同的 lead SNP,可能反映不同人群间的 LD 差异——它们可能标记的是同一个因果变异。若位点完全不同,则可能源于研究设计、表型定义或人群祖源不同。在判定某项发现未能复现之前,请先确认复现队列是否对该 SNP 进行了基因分型或填补。

查询数据,不要猜测:具体位点的效应量、p 值、等位基因频率和 LD 结构。不要假设某项研究中出现的 SNP 也出现在另一项研究中——请使用 gwas_get_associations_for_snp 检索跨研究数据。不要根据基因组位置接近就推断 LD 区块;精细定位结果请使用 Open Targets 的可信集合。


使用场景

1. 全面分析某一性状

场景:“我想了解 2 型糖尿病的所有可用 GWAS 数据”

工作流:

  • 在 GWAS Catalog 中搜索所有 T2D 研究
  • 按样本量和祖源筛选
  • 提取各项研究中的顶级关联
  • 识别得到一致复现的位点
  • 评估祖源特异性效应

结果:全面呈现 T2D 遗传学图景,包括已复现发现和人群特异性信号

2. 位点特异性荟萃分析

场景:“TCF7L2 与 T2D 的关联在所有研究中是否一致?”

工作流:

  • 检索所有针对 T2D 的 TCF7L2(rs7903146)关联
  • 计算合并效应量和 p 值
  • 评估异质性(I² 统计量)
  • 生成森林图数据
  • 解读异质性水平

结果:定量评估效应量的一致性,并解读异质性

诚实原则(重要):真正的逆方差荟萃分析需要每项研究的 beta + 95% CI。python_implementation.py 会从 GWAS Catalog 的 beta/or_value 和 range 字段中解析这些数据,只有在解析成功后才会汇总效应量并计算 Cochran-Q I²。当匹配到的关联未报告可用效应量时(这种情况很常见),它会返回 method="descriptive"、combined_beta=None、heterogeneity_i2=None,并将 combined_p_value 设为报告的最小 p 值(而非合并后的 p 值)——切勿将描述性结果作为正式荟萃分析呈现,也不要编造 I²。

3. 复制分析

场景:“发现队列中的哪些发现,在独立样本中得到了复制?”

工作流:

  • 获取发现研究中的显著结果
  • 检查这些结果是否出现在复制研究中,以及是否具有统计学显著性
  • 评估效应方向是否一致
  • 计算复制率
  • 区分新发现与复制失败的结果

结果:系统的复制报告,包含成功率和未能复制的发现

4. 多祖源比较

场景:“欧洲人群和东亚人群中的 T2D 位点是否一致?”

工作流:

  • 按祖源筛选研究
  • 比较各人群中的主要关联
  • 确定共享位点与人群特异性位点
  • 评估等位基因频率差异
  • 评估遗传风险评分的可迁移性

结果:祖源特异性遗传架构及可迁移性评估


统计方法

Meta 分析方法

此技能采用标准的 GWAS Meta 分析方法:

固定效应模型:

  • 异质性较低时使用(I² < 25%)
  • 按方差倒数为研究赋权
  • 假设各项研究中的真实效应大小相同

随机效应模型(当 I² > 50% 时推荐):

  • 考虑研究间变异
  • 比固定效应模型更保守
  • 更适用于祖源或研究方法多样的情况

异质性评估:

I² 统计量用于衡量由研究间异质性导致的方差百分比:

I² = [(Q - df) / Q] × 100%

where Q = Cochran's Q statistic
      df = degrees of freedom (n_studies - 1)

解读指南:

  • I² < 25%:异质性低 → 适合使用固定效应模型
  • I² = 25-50%:异质性中等 → 调查异质性来源
  • I² = 50-75%:异质性较大 → 优先使用随机效应模型
  • I² > 75%:异质性很大 → Meta 分析可能不适用
异质性来源

I² 较高的常见原因:

  1. 祖源差异:等位基因频率和 LD 结构不同
  2. 表型异质性:不同研究中的性状定义有所不同
  3. 平台差异:填补质量和覆盖范围不同
  4. 赢家诅咒:发现研究会高估效应大小
  5. 队列特征:年龄、性别和环境因素

建议:

  • 按祖源进行亚组分析
  • 使用 Meta 回归调查异质性来源
  • 考虑排除异常研究
  • 应用基因组控制校正

研究质量评估

质量指标

此技能根据以下指标评估研究:

1. 样本量:

  • 检测关联的统计功效(OR = 1.2 时,要达到 80% 的统计功效,样本量需超过 10,000)
  • 效应大小估计的精度
  • 检测较小效应的能力

2. 祖源多样性:

  • 单祖源与多祖源
  • 人群分层控制
  • 研究发现的可迁移性

3. 数据可用性:

  • 是否提供可用于 Meta 分析的汇总统计数据
  • 个体水平数据与汇总水平数据
  • 填补质量评分

4. 基因分型质量:

  • 平台密度和覆盖范围
  • 填补参考面板
  • 质量控制措施

5. 统计严谨性:

  • 全基因组显著性阈值(p < 5×10⁻⁸)
  • 多重检验校正
  • 在独立队列中进行复制
质量等级

Tier 1(高质量):

  • n ≥ 50,000
  • 提供汇总统计数据
  • 多祖源或大型单祖源研究
  • 使用高质量参考面板进行填补
  • 独立复制

Tier 2(中等质量):

  • n ≥ 10,000
  • 标准 GWAS 平台
  • 对常见变异有足够的统计功效
  • 可获取部分数据

Tier 3(有限):

  • n < 10,000
  • 统计功效有限
  • 可能无法发现较小效应
  • 谨慎使用

最佳实践

Meta 分析前
  1. 检查表型一致性:确保各项研究测量的是相同性状
  2. 确认祖源重叠:祖源不同的研究预期会有较高异质性
  3. 统一等位基因:对齐各项研究中的效应等位基因
  4. 质量控制:排除低质量研究或关联结果
解读结果
  1. 全基因组显著性:p < 5×10⁻⁸(针对约 1M 个独立检验的 Bonferroni 校正)
  2. 重复验证阈值:独立队列中的 p < 0.05
  3. 方向一致性:各项研究的效应方向应相同
  4. 异质性:I² > 50% 表示解读时应谨慎
常见陷阱

❌ 不要:

  • 未检查异质性就进行荟萃分析
  • 忽略祖源差异
  • 过度解读名义 p 值
  • 认为重复验证失败就意味着假阳性

✅ 应该:

  • 始终报告 I² 统计量
  • 进行敏感性分析
  • 考虑按祖源分层分析
  • 在发现研究中考虑赢家诅咒

局限与注意事项

数据局限
  1. 重叠不完整:各项研究分析的 SNP 可能不同
  2. 队列重叠:部分队列参与了多项研究(会夸大显著性)
  3. 发表偏倚:显著结果更容易发表
  4. 赢家诅咒:发现研究会高估效应量
  5. 基因型填补质量:因研究和人群而异
统计局限
  1. 异质性:较高的 I² 可能使荟萃分析失去意义
  2. 样本量差异:大型研究在固定效应模型中占主导地位
  3. 等位基因频率差异:同一变异在不同祖源人群中的效应不同
  4. 连锁不平衡:需要精细定位来识别因果变异
  5. 基因—环境交互作用:标准荟萃分析未涵盖
解读指南

当 I² > 75% 时:

  • 应极其谨慎地解读荟萃分析结果
  • 系统地调查异质性的来源
  • 考虑进行祖源特异性或亚组分析
  • 相较于荟萃分析,描述性比较可能更合适

当研究结果相互矛盾时:

  • 检查方法学差异
  • 确认表型定义是否一致
  • 调查群体分层
  • 考虑进行条件分析

使用的工具

GWAS Catalog API
  • gwas_search_studies:按性状查找研究
  • gwas_get_study_by_id:获取详细的研究元数据
  • gwas_get_associations_for_study:检索研究关联
  • gwas_get_associations_for_snp:获取跨研究的 SNP 关联
  • gwas_search_associations:按性状搜索关联
Open Targets Genetics GraphQL API
  • OpenTargets_search_gwas_studies_by_disease:按疾病搜索研究
  • OpenTargets_get_gwas_study:获取包含 LD 人群信息的详细研究信息
  • OpenTargets_get_variant_credible_sets:获取变异的精细定位位点
  • OpenTargets_get_study_credible_sets:获取研究的所有可信集合
  • OpenTargets_get_variant_info:获取变异注释和等位基因频率

术语表

可信集合:可能包含因果变异的一组变异(通过精细定位得出)

L2G(位点到基因):用于预测 GWAS 位点影响哪个基因的评分 许可证:开源(MIT)

评论

支持 Markdown