mcpField
H
human-protein-atlas-database

human-protein-atlas-database

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

关于 human-protein-atlas-database

human-protein-atlas-database 是查询 Human Protein Atlas 数据的命令行技能,适合研究人类蛋白质表达和定位的人员。它涵盖组织 IHC 丰度、亚细胞位置、RNA-seq 共识数据和基因搜索。

主要功能

  1. 01将基因符号映射为 Ensembl ID
  2. 02获取组织蛋白质表达水平
  3. 03查询蛋白质亚细胞位置
  4. 04获取完整基因图谱条目
  5. 05按表达条件搜索基因

适用场景

  1. 01查看蛋白质在人体组织中的丰度
  2. 02定位蛋白质所在的细胞结构
  3. 03查找具有指定表达模式的基因

安装

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

$npx skills add https://github.com/google-deepmind/science-skills --skill human-protein-atlas-database

安装后在 Claude Code 中输入/human-protein-atlas-database确认已加载。

包含的文件

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

references/
citation.bib
search-api.md
scripts/
hpa_cli.py

详细介绍

Human Protein Atlas(HPA)数据库集成

此技能提供 Human Protein Atlas(HPA)的半定量蛋白质表达和空间定位数据。RNA-seq(例如 GTEx)可以告诉我们某个基因是否正在转录,而 HPA 则能确认其蛋白质产物是否实际存在、位于细胞内的何处(例如细胞核与细胞质),以及其在全身血液循环中的浓度。数据基于对正常人体组织和癌症类型进行的免疫组织化学(IHC)分析。

前置条件

  1. uv:阅读 uv 技能,并按照其中的设置说明操作,确保已安装 uv 且其位于 PATH 中。
  2. 用户通知:如果工作区根目录中尚不存在 .licenses/human_protein_atlas_database_LICENSE.txt,则 (1) 显著提醒用户查看许可条款:https://www.proteinatlas.org/about/licence,然后 (2) 创建该文件,记录通知文本和时间戳。

适用场景

在以下情况下使用此技能:

  • 将基因符号映射为 HPA 查询所需的 Ensembl ID。
  • 根据 IHC 染色结果,获取正常人体组织和癌症类型中的半定量蛋白质丰度(High、Medium、Low 或 Not Detected)。
  • 查找蛋白质定位的特定细胞器或亚细胞结构(例如,核质、线粒体)。
  • 检查 RNA-seq 共识数据与蛋白质表达水平的一致性。
  • 根据特定蛋白质表达条件搜索基因(例如,“在杏仁核中表达升高”或“分泌蛋白”)。

在以下情况下请勿使用:

  • 查询 eQTL、pQTL 或任何变异水平的关联。HPA 提供野生型表达数据,不包含任何 QTL 信息。
  • 查询非人类物种的基因表达。HPA 仅针对人类蛋白质。
  • 获取与蛋白质产物无关的纯定量 RNA 表达数据(请考虑改用 GTEx 技能)。

命令选择指南

首次就选对命令。 根据用户的输入选择下方对应的子命令。

  • 将基因符号映射为 Ensembl ID:resolve-ensembl-id
  • 获取组织蛋白质表达水平:get-tissue-expression
  • 获取蛋白质的亚细胞定位:get-subcellular-location
  • 获取基因的完整 HPA 元数据条目:get-atlas-entry
  • 在 HPA 中搜索符合特定条件的基因:search-hpa

快速开始

# Map the ERBB2 gene symbol to its Ensembl ID
uv run scripts/hpa_cli.py resolve-ensembl-id ERBB2 --output /tmp/erbb2_id.json

# Get subcellular location by Ensembl ID
uv run scripts/hpa_cli.py get-subcellular-location ENSG00000141736 --output /tmp/erbb2_location.json

所有子命令都会将 JSON 写入磁盘。请始终将输出保存在 /tmp/ 目录中。如果未指定 --output,默认输出文件为 /tmp/hpa_output.json。

命令

1. resolve-ensembl-id — 基因符号 → Ensembl ID

将常用基因符号(例如,“TP53”“ERBB2”)映射为其 Ensembl 基因 ID。HPA 端点严格基于 Ensembl。

uv run scripts/hpa_cli.py resolve-ensembl-id TP53 --output /tmp/tp53_id.json

参数:

  • gene_symbol(位置参数):标准基因符号(例如,“TP53”)。
  • --output:输出文件路径(默认:/tmp/hpa_output.json)。
2. get-tissue-expression — 获取组织蛋白质水平

根据 IHC 染色结果,返回组织及其对应的蛋白质表达水平列表(High、Medium、Low 或 Not Detected)。

uv run scripts/hpa_cli.py get-tissue-expression ENSG00000130234 \
  --tissues "duodenum,thyroid gland" --output /tmp/tissue_expr.json

参数:

  • ensembl_id(位置参数):Ensembl Gene ID。
  • --tissues:以逗号分隔的组织列表,用于筛选(可选,默认为所有可用组织)。
  • --output:输出文件路径(默认:/tmp/hpa_output.json)。
3. get-subcellular-location — 获取亚细胞定位

获取蛋白质定位的特定细胞器或细胞结构。

uv run scripts/hpa_cli.py get-subcellular-location ENSG00000141736 \
  --output /tmp/subcellular.json

参数:

  • ensembl_id(位置参数):Ensembl Gene ID。
  • --output:输出文件路径。
4. get-atlas-entry — 获取完整的 HPA 条目

获取基因的完整元数据,包括 IHC 评分、RNA-seq 共识和亚细胞定位。

uv run scripts/hpa_cli.py get-atlas-entry ENSG00000254647 \
  --output /tmp/ins_entry.json

参数:

  • ensembl_id(位置参数):Ensembl Gene ID。
  • --format:返回条目的格式,例如 json(默认值:json)。
  • --output:输出文件路径。
5. search-hpa — 按属性搜索

可根据特定条件筛选基因(例如,“在杏仁核中表达升高”)。

uv run scripts/hpa_cli.py search-hpa \
  --query "brain_category_rna:amygdala" \
  --output /tmp/search_results.json

参数:

  • --query:搜索查询字符串。详情请参阅 references/search-api.md。
  • --output:输出文件路径。

核心规则

  • 使用封装脚本:务必执行提供的辅助脚本来查询数据库,不要直接访问数据库。这些脚本会自动遵循公平使用规范并实现重试逻辑。
  • 通知:如果使用了此技能,请确保在输出中说明。

API 版本管理

HPA 网站 www.proteinatlas.org 始终提供最新的数据发布版本。可通过 vNN.proteinatlas.org 访问较早的归档版本(例如,v24.proteinatlas.org),而当前版本的子域名会重定向到 www.proteinatlas.org。此技能的脚本默认查询最新版本。

常见错误

  • 如果没有返回结果,请确认查询是否足够详细,可从 references/search-api.md 中的 API 参考开始检查。
  • 如果找不到结果,请在网上搜索 HPA 查询示例,并据此构造更合适的查询。
  • 输出通常很大。请使用 jq 或自行编写 Python 数据解析库来处理搜索结果。切勿输出到 stdout,也不要 cat 输出文件。

评论

支持 Markdown