bioservices

统一Python接口,支持40余种生物信息学服务。适用于在单一工作流中通过一致API查询多个数据库(如UniProt、KEGG、ChEMBL、Reactome)。最适合跨数据库分析及多服务间的ID映射。若需快速单数据库查询,推荐使用gget;若涉及序列/文件操作,建议选择biopython。

安装

热度:33

下载并解压到你的 skills 目录

复制命令,发送给 OpenClaw 自动安装:

下载并安装这个技能 https://openskills.cc/api/download?slug=k-dense-ai-scientific-skills-bioservices&locale=zh&source=copy

BioServices - 统一生物信息学数据库接口

技能概述


BioServices 是一个 Python 包,提供统一接口访问 40+ 生物信息学数据库和 Web 服务,包括 UniProt、KEGG、ChEMBL、Reactome 等,支持跨数据库查询、ID 映射和序列分析。

适用场景

1. 跨数据库蛋白质分析


当需要从多个生物信息学数据库整合数据时,如同时查询 UniProt 的蛋白质序列、KEGG 的通路信息和 PSICQUIC 的相互作用数据,BioServices 提供一致的 API 接口,无需分别学习各个数据库的调用方式。

2. 生物数据库标识符转换


当需要在不同数据库之间映射标识符时,如将 UniProt ID 转换为 KEGG ID,或将化合物 ID 在 ChEMBL、ChEBI 和 KEGG 之间互转,BioServices 内置的映射功能可批量处理转换任务。

3. 序列与化合物数据检索


当需要运行 BLAST 序列比对、查询蛋白质结构信息,或搜索化合物的跨数据库信息时,BioServices 封装了 NCBI BLAST、PDB、UniChem 等服务,简化了数据获取流程。

核心功能

1. 蛋白质与序列分析


通过 UniProt 服务搜索蛋白质、获取 FASTA 序列和功能注释,使用 NCBI BLAST 进行序列相似性搜索,支持从 PDB 获取蛋白质结构信息。

2. 通路与基因功能分析


访问 KEGG 和 Reactome 数据库,按基因或通路名称搜索代谢通路,提取通路中的蛋白质相互作用网络,支持解析 KGML 格式通路数据。

3. 跨数据库 ID 映射


在 UniProt、KEGG、Ensembl、PDB、RefSeq 等数据库之间双向转换标识符,支持批量 ID 转换,化合物 ID 可通过 UniChem 服务在 ChEMBL、ChEBI、KEGG 之间映射。

常见问题

BioServices 支持哪些生物数据库?

BioServices 支持 40+ 生物信息学服务,包括:UniProt(蛋白质)、KEGG(通路)、ChEMBL/ChEBI(化合物)、PDB(结构)、Reactome(通路)、PSICQUIC(相互作用)、QuickGO(基因本体)、BioMart、ArrayExpress、ENA 等。完整列表可参考官方文档。

BioServices、gget 和 BioPython 有什么区别?

  • BioServices:适合跨多个数据库查询,提供 40+ 服务的统一接口,擅长 ID 映射和数据库整合

  • gget:更适合快速的单数据库查询,命令行友好

  • BioPython:专注于序列和文件格式的本地处理,不直接访问在线数据库
  • 三者可互补使用,BioServices 获取数据后可用 BioPython 进行序列分析。

    如何批量转换蛋白质 ID?

    使用 UniProt 服务的 mapping 方法可批量转换。例如将 UniProt ID 转换为 KEGG ID:

    from bioservices import UniProt
    u = UniProt()
    results = u.mapping(fr="UniProtKB_AC-ID", to="KEGG", query="P43403,P12345")

    化合物 ID 转换可使用 UniChem 服务。详细的批量转换示例可参考项目中的 batch_id_converter.py 脚本。