SuperAPI AI 工具集

bioservices

编程与开发

查看项目

更新于 10-15 21:39

技能介绍

用途:BioServices 是 Python 包,为约 40 个生物信息学 Web 服务和数据库提供统一编程接口,用于在单一 Python 工作流中检索生物数据、跨库查询、映射标识符、分析序列并整合多种生物资源,透明处理 REST 与 SOAP/WSDL 协议。

主要能力:蛋白质分析(UniProt 的 search、retrieve、mapping);通路发现与分析(KEGG 的 lookfor_organism、lookfor_pathway、get_pathway_by_gene、parse_kgml_pathway、pathway2sif);化合物数据库检索与交叉引用(KEGG、UniChem);序列分析(NCBIblast 的 run、getStatus、getResult,异步任务);标识符映射(UniProtKB 与 KEGG、Ensembl、PDB、RefSeq 等);基因本体查询(QuickGO 的 Term、Annotation);蛋白质互作(PSICQUIC 的 query、activeDBs,含 MINT、IntAct、BioGRID、DIP 等)。

使用方式:安装命令为 uv pip install "bioservices==1.16.0",依赖自动安装,上游 CI 测试 Python 3.9–3.12。多数服务无需 API 密钥;NCBI BLAST 需联系邮箱,可通过 NCBI_EMAIL 环境变量或 NCBIblast.run() 的 email= 参数提供,例如 export NCBI_EMAIL=your.email@example.com。示例目标版本为 bioservices 1.16.0(PyPI,2026 年 3 月)。

适用场景:需要跨多个数据库整合数据的生物信息学分析,如蛋白质表征、通路网络分析、化合物跨库检索、批量标识符转换。

限制:UniProt 2022 年中的 REST 变更(bioservices ≥1.10)主要影响表格列名,解析失败时可参考上游 _legacy_names;ChEMBL 封装在 1.6.0(2018 API)变更,应使用 get_similarity、get_substructure、get_molecule 而非 1.6 之前的方法名;BLAST 任务为异步,需先检查状态再获取结果;部分 EBI 服务可能限速。官方文档见 https://bioservices.readthedocs.io/,源码见 https://github.com/cokelaer/bioservices。