用途:解析本地下载的 DrugBank XML(约14,000+药品、5,000+蛋白靶点、17,000+相互作用),完成药品查询、相互作用检查、靶点/通路提取、化学性质分析与跨库标识映射。
主要能力:按 DrugBank ID、名称或 CAS 号查询药品;提取描述、适应症、作用机制等药理信息;提取药物相互作用及基于文本的严重程度分类;提取靶点、酶、转运体、载体及 UniProt 登录号与基因名;提取 SMPDB 通路;读取计算/实验性质(SMILES、InChI、分子量、logP 等);用 RDKit 计算 Tanimoto 相似度;映射 PubChem、ChEMBL、KEGG、UniProt、PharmGKB、ChEBI 等外部 ID。
使用方式:需在 https://go.drugbank.com/ 注册(免费学术许可)并下载 drugbank_all_full_database.xml.zip,解压后约1.5 GB。依赖 lxml、pandas,相似度需 rdkit。安装命令: pip install lxml pandas pip install rdkit-pypi pip install drugbank-downloader 所有 XPath 查询必须带命名空间 {'db': 'http://www.drugbank.ca'},否则返回空;iterparse 需用完整 URI。可选 REST API 为每月3,000请求开发层,批量任务建议用本地 XML。
适用场景:药物发现靶点分析、多重用药安全性筛查、化学信息学性质分析、跨库标识整合。
限制:需自行获取并本地保存 XML,解析全量文件约30-60秒,内存受限环境应使用 iterparse;严重程度由描述文本关键词推断,并非 DrugBank 官方分级;实时生物活性数据(IC50、Ki、EC50)应改用 chembl-database-bioactivity,不下载数据库的化合物性质查询应改用 pubchem-compound-search。