用途:BioServices 是统一访问多个生物信息学 Web 服务的 Python 库,面向蛋白质、通路、化合物、序列、基因本体与蛋白互作数据的检索与跨库 ID 映射。
主要能力:UniProt 的 search/retrieve/mapping;KEGG 通路列表、详情、KGML 解析与基因通路查询;ChEMBL、ChEBI、UniChem、PubChem 化合物查询与跨库映射;NCBIblast 序列相似性检索;QuickGO 的 GO 注释;PSICQUIC 蛋白互作查询。统一采用面向对象 API,含基础缓存与限流,并支持 tsv、fasta、json、txt、xml、kgml 等输出格式。
使用方式:pip install bioservices;可选 pip install pandas matplotlib。创建服务对象如 UniProt(verbose=False)、KEGG(verbose=False),调用 search、retrieve、mapping、get_pathway_by_gene、get、parse、get_molecule、get_mapping、run/getStatus/getResult、Annotation、query 等方法。NCBIblast 需提供 email,流程为提交作业、轮询状态、取回结果。批量操作建议分块(chunk_size 默认 100)并显式 time.sleep(),避免限流。
适用场景:蛋白质元数据检索、KEGG 通路与互作网络提取、化合物跨 ChEMBL/ChEBI/PubChem/KEGG 交叉引用、UniProt/Ensembl/KEGG/RefSeq/PDB 标识符映射、BLAST 比对、GO 注释与蛋白互作查询,以及批量标识符转换。
限制:多数服务的速率限制需自行注意,UniProt 批量映射约 1 请求/秒、KEGG 约 10 请求/秒、ChEMBL/ChEBI 约 5-10 请求/秒、BLAST 一次一作业且异步约 30-300 秒;Web 服务可能返回 None、空串或部分数据,解析前应检查,KEGG 404 可能返回 int;生产环境应设 verbose=False。具体收费、价格与平台支持情况资料未提供。