mcpField
A
alphafold-database-fetch-and-analyze

alphafold-database-fetch-and-analyze

github.com/google-deepmind数据与数据库3.4k2.2k 次安装5 天前更新
代码仓库

关于 alphafold-database-fetch-and-analyze

alphafold-database-fetch-and-analyze 根据 UniProt ID 下载 AlphaFold Database 的预测结构及 PAE 数据,并分析结构置信度、无序区域和结构域边界。它面向蛋白质结构分析工作流,使用配套脚本完成数据获取与启发式分析。

主要功能

  1. 01下载 mmCIF、PAE 和元数据
  2. 02处理大型蛋白质的片段回退
  3. 03评估 pLDDT 置信度
  4. 04基于 PAE 检测刚性结构域边界
  5. 05汇总结构无序与域布局结论

适用场景

  1. 01获取指定 UniProt ID 的预测结构
  2. 02评估蛋白质整体折叠置信度
  3. 03识别可能的无序区域
  4. 04分析蛋白质的刚性结构域及边界

安装

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

$npx skills add https://github.com/google-deepmind/science-skills --skill alphafold-database-fetch-and-analyze

安装后在 Claude Code 中输入/alphafold-database-fetch-and-analyze确认已加载。

包含的文件

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

references/
citation.bib
scripts/
analyze_pae.py
analyze_plddt.py
fetch_structure.py

详细介绍

AlphaFold Database:获取与分析

前提条件

  1. uv:阅读 uv 技能,并遵循其中的设置说明,确保已安装 uv 且其位于 PATH 中。
  2. 用户通知:如果工作区根目录中尚不存在 .licenses/alphafold_database_fetch_and_analyze_LICENSE.txt,则 (1) 显著提醒用户查看 https://alphafold.ebi.ac.uk/ 上的条款,然后 (2) 创建该文件,记录通知文本和时间戳。

概述

从 AlphaFold Database 下载给定 UniProt ID 对应的 AlphaFold 预测结构(mmCIF)和预测比对误差(PAE)矩阵,然后自动进行启发式分析,评估结构置信度(pLDDT)、内在无序区域、刚性结构域边界和结构域间柔性。

请勿在以下情况下使用:

  • 用户只有蛋白质名称、基因名称或氨基酸序列(没有 UniProt ID)——请让他们在 UniProt 上查询 ID。
  • 用户想要搜索结构同源物(请使用 Foldseek)。
  • 用户想要对自定义序列运行 AlphaFold 预测。
  • 用户需要实验测定的 PDB 结构(请使用 RCSB PDB)。

核心规则

  • 使用封装脚本:务必执行提供的辅助脚本来查询数据库,而不是直接访问数据库。脚本会自动以适当方式执行所需的速率限制。
  • 不要尝试自行计算结构域边界或评估结构无序情况;务必依赖脚本提供的输出。
  • 如果使用了此技能,请确保在输出中提及。

实用脚本

1. 获取结构文件

下载 UniProt ID 对应的 .cif 结构文件、_predicted_aligned_error.json 和 API 元数据 JSON(-metadata.json)。对非常大的蛋白质支持片段回退。

示例:

uv run scripts/fetch_structure.py P00520 -o /path/to/output/
uv run scripts/fetch_structure.py P04637 -o /path/to/custom_results/

务必使用 -o 指定绝对路径或相对于用户项目根目录的路径,切勿使用相对于技能目录的路径。

2. 分析 pLDDT 置信度

从已保存的 AFDB 元数据 JSON 文件(由 fetch_structure.py 生成)读取 pLDDT 置信度指标,并输出启发式置信度评估(结构化、无序、混合)。

示例:

uv run scripts/analyze_plddt.py ./data/AF-P00520-F1-metadata.json

3. 分析 PAE / 结构域边界

读取已下载的 PAE JSON 文件,并使用滑动窗口 PAE 启发式方法检测刚性结构域边界。

示例:

uv run scripts/analyze_pae.py ./data/AF-P00520-F1-predicted_aligned_error_v6.json

解读输出

脚本会将分析结果打印到标准输出。请仔细阅读,并为用户综合整理结果:

  1. 异构体 / 大型蛋白质警告(必须): 检查脚本输出中是否有任何 [!] WARNING 行。如果脚本报告未找到规范条目并使用了异构体,或者蛋白质非常大(>2700 个氨基酸),则必须向用户醒目地传达此警告。不要省略此警告。
  2. 综合结构分析: 将“pLDDT 结论”和“PAE 结构结论”合并为连贯的总体摘要。描述蛋白质整体折叠置信度、无序区域的存在情况,以及其刚性结构域的布局。
  3. 突出关键指标:
    • 总体全局 pLDDT 和置信度占比细分(尤其是极低与极高置信度的占比)。
    • 结构域边界分析(不同全局结构域的数量及其具体残基范围)。
  4. 明确的无序警告: 如果分析得出蛋白质具有高度内在无序性(例如,pLDDT <50 的比例很高,或缺少刚性结构域),则应单独醒目地发出警告。建议用户不要继续进行全蛋白质下游结构分析(如 Foldseek 或对接)。如果无序区域中存在小型有序结构域,则建议用户将后续任何分析严格限制在这些特定残基边界内。
  5. 提醒用户,下载的 mmCIF 文件的 B-factor 列中嵌入了逐残基 pLDDT。

评论

支持 Markdown