[ PROMPT_NODE_26936 ]
Opentargets Database API 参考
[ SKILL_DOCUMENTATION ]
# Open Targets 平台 API 参考
## API 端点
https://api.platform.opentargets.org/api/v4/graphql
带有文档的交互式 GraphQL 操练场:
https://api.platform.opentargets.org/api/v4/graphql/browser
## 访问方法
Open Targets 平台提供多种访问方法:
1. **GraphQL API** - 最适合单实体查询和灵活的数据检索
2. **Web 界面** - 交互式平台 https://platform.opentargets.org
3. **数据下载** - FTP 地址 https://ftp.ebi.ac.uk/pub/databases/opentargets/platform/
4. **Google BigQuery** - 用于大规模系统性查询
## 身份验证
GraphQL API 无需身份验证。所有数据均可自由访问。
## 速率限制
对于涉及多个靶点或疾病的系统性查询,请使用数据集下载或 BigQuery,而不是重复调用 API。API 针对单实体和探索性查询进行了优化。
## GraphQL 查询结构
GraphQL 查询包含:
1. 带有可选变量的查询操作
2. 字段选择(仅请求所需字段)
3. 嵌套实体遍历
### Python 基础示例
python
import requests
import json
# 定义查询
query_string = """
query target($ensemblId: String!){
target(ensemblId: $ensemblId){
id
approvedSymbol
biotype
geneticConstraint {
constraintType
exp
obs
score
}
}
}
"""
# 定义变量
variables = {"ensemblId": "ENSG00000169083"}
# 发起请求
base_url = "https://api.platform.opentargets.org/api/v4/graphql"
response = requests.post(base_url, json={"query": query_string, "variables": variables})
data = json.loads(response.text)
print(data)
## 可用查询端点
### /target
检索基因注释、可药性评估和疾病关联。
**常用字段:**
- `id` - Ensembl 基因 ID
- `approvedSymbol` - HGNC 基因符号
- `approvedName` - 基因全名
- `biotype` - 基因类型 (protein_coding 等)
- `tractability` - 成药性评估
- `safetyLiabilities` - 安全性信息
- `expressions` - 基线表达数据
- `knownDrugs` - 已批准/临床药物
- `associatedDiseases` - 带有证据的疾病关联
### /disease
检索疾病/表型数据、已知药物和临床信息。
**常用字段:**
- `id` - EFO 疾病标识符
- `name` - 疾病名称
- `description` - 疾病描述
- `therapeuticAreas` - 高层级疾病类别
-