[ PROMPT_NODE_26536 ]
ensembl-database
[ SKILL_DOCUMENTATION ]
# Ensembl 数据库
## 概述
访问并查询 Ensembl 基因组数据库,这是一个由 EMBL-EBI 维护的脊椎动物基因组数据综合资源。该数据库为超过 250 个物种提供基因注释、序列、变异、调控信息和比较基因组学数据。当前版本为 115 (2025 年 9 月)。
## 何时使用此工具
当需要执行以下操作时,请使用此工具:
- 通过符号或 Ensembl ID 查询基因信息
- 检索 DNA、转录本或蛋白质序列
- 使用变异效应预测器 (VEP) 分析遗传变异
- 查找跨物种的直系同源物和旁系同源物
- 访问调控特征和基因组注释
- 在基因组组装之间转换坐标 (例如,GRCh37 到 GRCh38)
- 执行比较基因组学分析
- 将 Ensembl 数据集成到基因组研究工作流中
## 核心能力
### 1. 基因信息检索
通过符号、Ensembl ID 或外部数据库标识符查询基因数据。
**常见操作:**
- 通过符号查找基因信息 (例如 "BRCA2", "TP53")
- 检索转录本和蛋白质信息
- 获取基因坐标和染色体位置
- 访问外部数据库的交叉引用 (UniProt, RefSeq 等)
**使用 ensembl_rest 包:**
python
from ensembl_rest import EnsemblClient
client = EnsemblClient()
# 通过符号查找基因
gene_data = client.symbol_lookup(
species='human',
symbol='BRCA2'
)
# 获取详细基因信息
gene_info = client.lookup_id(
id='ENSG00000139618', # BRCA2 Ensembl ID
expand=True
)
**直接 REST API (无需包):**
python
import requests
server = "https://rest.ensembl.org"
# 符号查找
response = requests.get(
f"{server}/lookup/symbol/homo_sapiens/BRCA2",
headers={"Content-Type": "application/json"}
)
gene_data = response.json()
### 2. 序列检索
以多种格式 (JSON, FASTA, 纯文本) 获取基因组、转录本或蛋白质序列。
**操作:**
- 获取基因或基因组区域的 DNA 序列
- 检索转录本序列 (cDNA)
- 访问蛋白质序列
- 提取带有侧翼区域或修饰的序列
**示例:**
python
# 使用 ensembl_rest 包
sequence = client.sequence_id(
id='ENSG00000139618', # 基因 ID
content_type='application/json'
)
# 获取基因组区域序列
region_seq = client.sequence_region(
species='human',
region='7:140424943-140624564' # 染色体:起始-结束
)
### 3. 变异 A