SuperAPI AI 工具集

alterlab-bioservices

编程与开发

查看项目

更新于 10-16 05:00

技能介绍

用途:BioServices 是一个 Python 包,为约 40 个生物信息学 Web 服务和数据库提供统一编程接口,可在 Python 工作流中检索生物数据、执行跨库查询、映射标识符、分析序列并整合多个生物资源。

主要能力:蛋白质分析(UniProt 的 search、retrieve、mapping);通路发现与分析(KEGG 的 lookfor_organism、lookfor_pathway、get_pathway_by_gene、parse_kgml_pathway、pathway2sif);化合物数据库检索与交叉引用(KEGG find、get、conv);序列分析(NCBIblast 的 run、wait、get_status、get_result、get_result_types);标识符映射(UniProt.mapping 支持 UniProtKB↔KEGG/Ensembl/PDB/RefSeq 等);基因本体查询(QuickGO 的 get_go_terms、get_go_ancestors、Annotation);蛋白质互作(STRING 的 get_interaction_partners、get_interactions)。

使用方式:安装命令为 uv pip install bioservices,依赖自动管理,已在 Python 3.9-3.12 测试。典型用法为 from bioservices import UniProt 等类,实例化后调用方法;BLAST 为异步任务,需先 wait 或 get_status 再取结果;Annotation 的 limit 上限为 100,超出会报 TypeError,需分页。

限制与变更:1.15 起移除 SOAP/WSDL 支持,全部服务改为 REST,WSDLService 与 suds 依赖已删除;1.14 移除 PSICQUIC 和 BioGRID,蛋白质互作改用 STRING 或 IntactComplex;UniProt.mapping 返回原始任务载荷 {"results": [...], "failedIds": [...]},而非字典;NCBIblast 方法改为 snake_case;KEGG→ChEMBL 无直接 API,需通过 ChEMBL Web 服务或 UniChem REST API 另行获取。

适用场景:需要跨多个生物数据库整合数据的分析流程,如蛋白质表征、通路网络分析、化合物跨库检索、批量标识符转换。官方文档见 https://bioservices.readthedocs.io/,源码见 https://github.com/cokelaer/bioservices。