用途:该技能通过 UniProt 公开的 REST API 以编程方式访问蛋白质序列与功能注释数据,适用于序列获取、注释查询、跨库标识转换和数据集构建等生物信息学任务。
主要能力:
- 文本检索:使用字段前缀与布尔运算符查询,如 hemoglobin AND organism_id:9606、gene:TP53、length:[100 TO 500]、reviewed:true 等;常用过滤条件包括 reviewed:true(Swiss-Prot 人工审编)、organism_id、xref:pdb、cc_disease:* 等。
- 单条获取:按登录号访问条目,例如 https://rest.uniprot.org/uniprotkb/P53_HUMAN.fasta,支持 FASTA、JSON、TSV、XML、TXT 格式。
- 自定义字段:以 tsv 加 fields 参数只请求所需字段,如 accession,gene_names,organism_name,length,sequence,cc_function。
- 标识映射:通过 idmapping/run 提交任务并轮询状态,实现 UniProtKB、PDB、Ensembl、RefSeq、GO、ChEMBL 等 200 多个数据库间的标识转换;单次最多 100,000 个标识,结果保留 7 天。
- 流式下载:使用 uniprotkb/stream 绕过分页获取全蛋白质组等大数据集。
- 批量获取:可按批次组合 accession 查询并控制请求频率。
使用方式:无需安装包,直接用 HTTP 请求访问 https://rest.uniprot.org。示例:requests.get("https://rest.uniprot.org/uniprotkb/P53_HUMAN.json");搜索端点 /uniprotkb/search 配合 query、format、size 参数;解析 JSON 时常用字段包括 primaryAccession、genes、organism、sequence、comments 等。
适用场景:下游序列分析、按名称/基因/物种/功能检索、GO 与结构域注释获取、跨数据库标识对齐、机器学习或比较研究的数据集构建。
限制与建议:Swiss-Prot(reviewed:true)为人工审编,TrEMBL 为计算预测,高置信场景优先使用前者的资料建议;批量请求建议限速(资料建议 0.3–0.5 秒间隔)并缓存重复查询;应最小化请求字段、大型结果集使用流式端点,并处理网络错误与限流情况。API 端点与字段目录见资料所列 UniProt 官方文档。