使用GTEx Portal API提取指定SNP与组织的eQTL数据遇空结果求助
解决GTEx Portal API提取eQTL数据返回空的问题
核心原因
independentEqtl接口仅返回经过连锁不平衡(LD)过滤后的独立显著eQTL位点,如果你的目标SNP不是该基因在指定组织中的独立eQTL(比如只是连锁位点、未达到显著性阈值),就会返回空数据集。
分步解决方案
1. 先验证数据是否存在
先通过GTEx Portal网页确认rs58235352与ALMS1在Heart_Left_Ventricle组织中是否有eQTL关联:
- 搜索该SNP,查看其关联基因和组织分布;
- 或搜索基因
ALMS1,查看其在左心室的eQTL位点列表。
如果网页上也无对应数据,说明该组合确实无可用eQTL记录。
2. 换用通用关联接口
如果网页上存在关联数据,改用variantAssociation接口(该接口返回所有与变异关联的基因数据,不限制是否为独立eQTL),修改后的代码如下:
import requests import json gencode = "ENSG00000122971" tissue = "Heart_Left_Ventricle" variant_id = 'rs58235352' response = requests.get( 'https://gtexportal.org/api/v2/association/variantAssociation', params={ "gencodeId": gencode, "tissueSiteDetailId": tissue, "datasetId": "gtex_v8", "variantId": variant_id } ) data = json.loads(response.text) print(data)
3. 先获取该基因的独立eQTL列表(可选)
如果需要确认目标SNP是否属于该基因的独立eQTL,可以先移除variantId参数,获取该基因在目标组织的所有独立eQTL:
response = requests.get( 'https://gtexportal.org/api/v2/association/independentEqtl', params={ "gencodeId": gencode, "tissueSiteDetailId": tissue, "datasetId": "gtex_v8" } )
返回结果后,再检查你的目标SNP是否在列表中。
内容的提问来源于stack exchange,提问作者Omar Abousaif
相关产品推荐
相关产品推荐

