用途:该技能面向需要以编程方式处理 DrugBank 药物与靶点数据的场景,支持下载、解析与分析 DrugBank XML,用于提取药物属性、相互作用与通路信息。
主要能力:可通过 drugbank-downloader 程序化下载 DrugBank 发布版本(需有效 DrugBank 访问权限);使用 lxml 解析与遍历 XML,提取嵌套实体;用 pandas 整理为 DataFrame 以过滤、连接与导出;用 networkx 构建与分析网络(如药物-药物相互作用图、药物-靶点二分图);可选 rdkit 支持基于结构的处理(如 SMILES/InChI)。
典型用途:从 XML 提取结构化药物属性(标识符、同义词、ATC 编码);构建和分析药物-药物相互作用网络;映射药物到靶点以支持靶点发现或机制分析;连接药物与通路注释;生成 CSV/Parquet 表格数据供 notebook、仪表盘或 ML 流程使用。
使用方式:需先通过 DrugBank 账户或授权获得 XML 文件(如放于 ./drugbank.xml)。解析时使用 lxml.etree,并用命名空间映射(如 NS = {"db": "http://www.drugbank.ca"})。核心 XPath 模式包括:主 ID db:drugbank-id[@primary='true']、名称 db:name、计算属性如 SMILES 的 db:calculated-properties/db:property[db:kind='SMILES']/db:value、相互作用 db:drug-interactions/db:drug-interaction。数据建模上,规范表用 pandas DataFrame,图结构用 networkx。
依赖:drugbank-downloader、lxml>=4.9、pandas>=2.0、networkx>=3.0,rdkit>=2022.09 为可选(仅结构/化学工作流需要,版本随环境变化)。
限制:DrugBank 数据访问需免费学术账户或付费许可,须遵守其条款;XML 文件较大,内存敏感环境建议用 etree.iterparse 迭代解析并写中间结果到磁盘;建议尽早统一标识符(保留主 DrugBank ID)以简化跨表连接。官方文本与更详细参考未在资料中提供。