用途:BioServices 是用于访问 40 多个生物信息学服务的 Python 工具,适合多数据库工作流,如 UniProt、KEGG、ChEMBL、PubChem、Reactome、QuickGO 等,提供统一 API。
主要能力:蛋白质分析(UniProt 搜索、检索 FASTA/XML/tab、标识符映射);通路发现(KEGG 按名称查找通路、按基因获取通路、解析 KGML、导出 SIF 互作网络);化合物数据库检索与交叉引用(KEGG、UniChem 映射到 ChEMBL);序列分析(NCBIblast 异步 BLAST);标识符映射(UniProtKB 与 KEGG、Ensembl、PDB、RefSeq 等互转);基因本体查询(QuickGO);蛋白互作(PSICQUIC,支持 MINT、IntAct、BioGRID、DIP 等 30 多个库)。
使用方式:安装命令为 uv pip install bioservices,依赖自动管理,已在 Python 3.9-3.12 测试。典型用法包括 from bioservices import UniProt、KEGG、UniChem、NCBIblast、QuickGO、PSICQUIC 等类,调用 search、retrieve、mapping、get、parse、pathway2sif、run、getStatus、getResult、query 等方法。BLAST 为异步任务,需先查状态再取结果,且 NCBI 要求提供 email。可通过 verbose=False 抑制请求细节,设置 TIMEOUT 调整超时。
适用场景:蛋白质表征、通路网络分析、跨库化合物检索、批量标识符转换等整合工作流;可与 BioPython、Pandas、PyMOL、NetworkX、Galaxy 配合。
限制:资料未提供具体收费、价格或平台限制;部分服务需遵循各数据库的访问要求(如 NCBI 要求 email),BLAST 异步需轮询状态。官方文档见 https://bioservices.readthedocs.io/,源码见 https://github.com/cokelaer/bioservices。