用途:通过解析本地下载的 HMDB(Human Metabolome Database,22 万余条代谢物条目)XML,实现代谢物查询、化学性质提取、生物学背景(通路、酶、生物体液/组织定位)、疾病与生物标志物关联、谱图数据以及跨数据库 ID 映射。HMDB 无公开 REST API,只能本地解析 XML 或使用网页界面。
主要能力:按 HMDB ID 或名称(不区分大小写)查找代谢物;提取分子式、平均/单同位素分子量、SMILES、InChI、InChIKey、状态及 ClassyFire 分类;获取 SMPDB/KEGG 通路、UniProt 酶关联、生物体液与组织定位;查询疾病关联(含 OMIM ID 与 PubMed 引用)及正常/异常浓度范围;提取 NMR(1H、13C)与 MS/MS 峰列表;映射 KEGG、PubChem、ChEBI、DrugBank、CAS、METLIN 等外部 ID。
使用方式:先在 https://hmdb.ca/downloads 注册并下载 hmdb_metabolites.xml.zip(解压约 6 GB),安装 pip install lxml pandas。用 xml.etree.ElementTree 解析,命名空间为 http://www.hmdb.ca;可先构建 ID/名称索引,内存受限时用 iterparse 并 elem.clear()。字段覆盖不均:accession/名称/分子式约 100%,SMILES/InChI/分子量约 90%,分类约 85%,生物体液约 60%,通路约 40%,蛋白关联约 35%,疾病约 25%,正常浓度约 20%,MS/MS 约 15%,NMR 约 10%。
适用场景:代谢组学代谢物鉴定(按 m/z 与分子量匹配候选)、疾病生物标志物发现、通路与酶分析、跨库 ID 转换。
限制:需本地大文件与足够内存;无官方 REST API;网页界面不适合抓取;R 包 hmdbQuery 功能有限且过时;药物专属数据应改用 drugbank-database-access,实时化合物属性查询可用 pubchem-compound-search。