用途:通过 EMBL-EBI InterPro REST API 查询蛋白质家族、结构域、同源超家族、重复序列和功能位点注释。InterPro 整合 Pfam、PANTHER、PRINTS、ProSite、SMART、NCBIfam、SUPERFAMILY、CDD、Gene3D 等成员数据库,提供 UniProtKB 上的统一功能注释视图。
主要能力:按 UniProt 蛋白查询 InterPro 条目;获取单个 InterPro 条目详情;按条目检索携带该条目的蛋白(分页,含 count);获取带序列位置的域结构;从蛋白记录读取去重后的 GO 术语;批量查询多个蛋白;按文本或分类学搜索条目;查询映射到条目的 PDB 结构。
使用方式:脚本 scripts/query_interpro.py 仅用标准库,输出 JSON 到 stdout,例如:python scripts/query_interpro.py protein P04637;python scripts/query_interpro.py entry IPR000719;python scripts/query_interpro.py entry-proteins IPR000719 --page-size 25。也可用 requests 调用 https://www.ebi.ac.uk/interpro/api/。注意端点方向:返回资源类型在路径最前,过滤条件在后,如 entry/InterPro/protein/UniProt/{id}/ 与 protein/UniProt/entry/InterPro/{id}/;反向形式只返回 *_url 包装且 count 为 null。单条目详情端点的 name 为 {name,short} 字典,列表端点为字符串。go_terms 可能为 null,需回退为空列表。批量查询建议加 time.sleep(0.3) 限速。
适用场景:未知蛋白功能预测、域结构分析、蛋白家族分类、GO 注释映射、进化分析、结构预测背景、蛋白质组批量注释。
限制:不用于获取 UniProt 条目或 FASTA、AlphaFold 模型、PDB 实验结构、STRING 互作网络或 BLAST 相似性搜索,这些应使用对应技能。新序列建议先用 InterProScan 扫描。具体收费、价格与平台信息暂未提供。