关于 gtex-database
gtex-database 通过 GTEx Portal API V2 获取基因表达基线和 eQTL 数据,适用于比较不同组织的表达水平或研究变异相关表达效应的研究者。
主要功能
- 01将基因符号映射为 GENCODE ID
- 02获取中位数 TPM 表达量
- 03查找表达量最高的组织
- 04获取基因的显著 eQTL
- 05查询基因组区域内的 eQTL
适用场景
- 01比较基因在不同组织中的表达
- 02查找基因表达量最高的组织
- 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 数据。
前提条件
uv:阅读uv技能,并按照其中的 Setup 说明操作,确保已安装uv并将其添加到 PATH。- 用户通知:如果工作区根目录中尚不存在 .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