用途:通过 UniProt REST API 检索蛋白质序列与功能信息,包括按名称、基因、accession 或物种搜索蛋白质,获取 FASTA 序列,跨库映射标识符,以及读取 Swiss-Prot/TrEMBL 注释。
主要能力:
- 搜索蛋白质,支持自然语言和字段化语法,如 gene:BRCA1 AND reviewed:true、taxonomy_id:9606、length:[100 TO 500]。搜索端点:https://rest.uniprot.org/uniprotkb/search?query={query}&format={format},支持 JSON、TSV、Excel、XML、FASTA、RDF、TXT。
- 按 accession 获取单条记录,端点:https://rest.uniprot.org/uniprotkb/{accession}.{format},如 https://rest.uniprot.org/uniprotkb/P12345.fasta。
- 批量检索与 ID 映射:提交任务 https://rest.uniprot.org/idmapping/run,查询状态 /status/{jobId},取结果 /results/{jobId};支持 UniProtKB、基因名、Ensembl、RefSeq、EMBL、PDB、AlphaFoldDB、KEGG、GO 等库。
- 大数据集流式获取:https://rest.uniprot.org/uniprotkb/stream?query={query}&format={format}。
- 自定义返回字段,如 accession、id、gene_names、organism_name、protein_name、sequence、length、go_、cc_、ft_*。
使用方式:可使用附带的 scripts/uniprot_client.py,内含 search_proteins、get_protein、map_ids、batch_retrieve、stream_results 等函数;也可用 Unipressed 等 Python 客户端。查询语法支持布尔运算、字段搜索、范围与通配符。
适用场景:蛋白质搜索、序列获取、标识符映射、注释访问、批量与流式数据下载、构建自定义查询。
限制:ID 映射单任务最多 100000 个 ID,结果保留 7 天;TrEMBL 为计算预测,Swiss-Prot 为人工审阅;建议显式指定格式与字段、处理分页、缓存结果并注意速率限制。官方 API 文档:https://www.uniprot.org/help/api。