mcpField
G
gtex-database

gtex-database

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

关于 gtex-database

gtex-database 通过 GTEx Portal API V2 获取基因表达基线和 eQTL 数据,适用于比较不同组织的表达水平或研究变异相关表达效应的研究者。

主要功能

  1. 01将基因符号映射为 GENCODE ID
  2. 02获取中位数 TPM 表达量
  3. 03查找表达量最高的组织
  4. 04获取基因的显著 eQTL
  5. 05查询基因组区域内的 eQTL

适用场景

  1. 01比较基因在不同组织中的表达
  2. 02查找基因表达量最高的组织
  3. 03研究基因或区域的 eQTL

安装

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

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

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

附带文件references/citation.bibscripts/gtex_cli.py

详细介绍

GTEx 数据库集成

此技能可从 GTEx Portal API V2 检索转录组数据(RNA 表达基线)和表达数量性状位点(eQTL)。它提供 54 个人体组织部位中基因的 TPM(每百万转录本数)中位数,以及变异的显著 eQTL 数据。

前提条件

  1. uv:阅读 uv 技能,并按照其中的 Setup 说明操作,确保已安装 uv 并将其添加到 PATH。
  2. 用户通知:如果工作区根目录中尚不存在 .licenses/gtex_database_LICENSE.txt,则 (1) 显著提醒用户查看 https://gtexportal.org/home/license 和 https://gtexportal.org/home/documentationPage#gtexApi 上的条款,然后 (2) 创建该文件,记录通知文本和时间戳。

适用场景

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

  • 将基因符号映射为带版本号的 GENCODE ID。
  • 检索基因在各类组织中的基线表达水平中位数(TPM)。
  • 找出某个基因表达量最高的组织。
  • 获取某个变异或染色体区域内显著的单组织 eQTL。
  • 获取与特定基因相关的所有显著 eQTL。
  • 使用 eQTL 数据,在 GWAS 位点中定位变异。

在以下情况下请勿使用:

  • 查询蛋白质水平的表达或翻译后修饰(PTM)。GTEx 只测量 mRNA 丰度。
  • 查询患病组织中的基因表达(例如肿瘤样本、肝硬化)。GTEx 是正常、非患病组织的基线图谱。
  • 查询胚胎或胎儿的基因表达。GTEx 供体均为成年人。

核心规则

重要:必须遵守 GTEx Portal API 使用条款。

  • 使用封装脚本:始终执行提供的辅助脚本来查询数据库,而不是直接访问数据库。这些脚本会自动平稳地遵守规定的请求频率限制。
  • 适用时,每页请求数最多为 250 项。
  • 通知:如果使用了此技能,确保在输出中提及。

命令选择指南

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

  • 将基因符号映射为 GENCODE ID:resolve-gencode-id
  • 获取基因表达中位数(TPM):get-median-expression
  • 查找表达量最高的组织:get-top-expressed-tissues
  • 获取特定基因的所有 eQTL:get-gene-eqtls
  • 查找染色体区域内的 eQTL:get-eqtls-in-region

快速开始

# Map the TNF gene symbol to its GENCODE ID
uv run scripts/gtex_cli.py resolve-gencode-id TNF --output /tmp/tnf_id.json

# Get median expression of a gene by GENCODE ID
uv run scripts/gtex_cli.py get-median-expression ENSG00000232810.2 --output /tmp/tnf_expr.json

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

命令

1. resolve-gencode-id — 基因符号 → GENCODE ID

将标准基因符号(例如 "JUN"、"TNF")映射为带版本号的 GENCODE ID。 所有其他表达和 eQTL 调用都需要此 ID。

uv run scripts/gtex_cli.py resolve-gencode-id TNF --output /tmp/tnf_id.json

参数:

  • gene_symbol(位置参数):标准基因符号(例如 "TNF")。
  • --output:输出文件路径(默认值:/tmp/gtex_output.json)。
2. get-median-expression — 获取表达中位数(TPM)

检索基因在全部 54 个 GTEx 组织部位或指定组织中的 TPM 中位数。

uv run scripts/gtex_cli.py get-median-expression ENSG00000232810.2 \
  --tissues "Whole Blood,Spleen" --output /tmp/expr.json

参数:

  • gencode_id(位置参数):带版本号的 GENCODE ID。
  • --tissues:以逗号分隔的组织 ID 列表(可选;默认包含全部 54 个组织)。
  • --output:输出文件路径(默认值:/tmp/gtex_output.json)。
3. get-top-expressed-tissues — 获取表达量最高的组织

返回目标基因表达中位数最高的 n 个组织。

uv run scripts/gtex_cli.py get-top-expressed-tissues ENSG00000232810.2 \
  --n 5 --output /tmp/top_tissues.json

参数:

  • gencode_id(位置参数):带版本号的 GENCODE ID。
  • --n:要返回的最高表达组织数量(默认值:5)。
  • --output:输出文件路径。
4. get-gene-eqtls — 获取某个基因的所有 eQTL

返回该基因在指定组织中所有显著的 eQTL。

uv run scripts/gtex_cli.py get-gene-eqtls ENSG00000232810.2 \
  --tissues "Whole Blood" --output /tmp/eqtls.json

参数:

  • gencode_id(位置参数):带版本号的 GENCODE ID。
  • --tissues:以逗号分隔的组织 ID 列表(可选,默认为全部)。
  • --output:输出文件路径。
5. get-eqtls-in-region — 获取染色体区域内的 eQTL

返回染色体窗口(最大为 8Mb)内所有显著的单组织 eQTL。

uv run scripts/gtex_cli.py get-eqtls-in-region chr17 7000000 7100000 "Esophagus - Muscularis" \
  --output /tmp/region_eqtls.json

参数:

  • chromosome(位置参数):染色体名称(例如,chr17)。
  • start(位置参数):起始位置。
  • end(位置参数):结束位置(距离起始位置最多 8Mb)。
  • tissue_id(位置参数):目标组织 ID。
  • --output:输出文件路径。

典型工作流

查找某个基因表达量最高的组织
# Step 1: Map symbol to GENCODE ID
uv run scripts/gtex_cli.py resolve-gencode-id GATA4 --output /tmp/gata4_id.json

# Step 2: Query for top tissues using the resolved ID
uv run scripts/gtex_cli.py get-top-expressed-tissues <gencode_id> --n 5 \
  --output /tmp/gata4_top.json

评论

支持 Markdown