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 获取数据后可用 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 脚本。