用途:medchem 用于药物发现中的化合物库过滤与优先级排序,对大规模化合物进行快速分诊,识别类药候选分子。
主要能力:提供药物化学规则(如 Rule of Five/Lipinski、Veber、Oprea、CNS、leadlike、rule of three、Reos、drug、Golden triangle、PAINS 等);结构警示过滤(Common Alerts、NIBR、Lilly Demerits,超过 100 demerit 判为不通过);化学基团检测(hinge binders、phosphate binders、Michael acceptors、反应性基团、自定义 SMARTS);命名目录(官能团、保护基、常用试剂、标准片段);分子复杂度指标(Bertz、Whitlock、Barone);自定义属性约束(分子量、LogP、TPSA、可旋转键范围);以及 Medchem 查询语言,可组合条件如 "rule_of_five AND NOT common_alerts"。
使用方式:安装命令为 uv pip install medchem。典型用法是 import medchem as mc,结合 datamol 将 SMILES 转为分子对象后,使用 RuleFilters、CommonAlertsFilters、NIBRFilters、LillyDemeritsFilters、ComplexityFilter、Constraints 等对分子列表批量处理,并通过 n_jobs=-1 并行加速、progress=True 显示进度。也可用 mc.functional 的函数式接口快速过滤,或用 mc.query.parse 解析查询。另提供脚本 scripts/filter_molecules.py,示例:python scripts/filter_molecules.py input.csv --rules rule_of_five,rule_of_cns --alerts nibr --output filtered.csv。
适用场景:化合物库初步分诊、先导化合物优化阶段的严格筛选、识别特定化学基团或骨架、评估化合物质量与复杂性。
限制:规则与过滤器具有情境依赖性,应作为指南而非绝对标准;已上市药物常不符合标准过滤条件,前药也可能故意违反规则;建议结合生物靶点与领域专业知识,组合多种过滤器使用,并记录过滤决策以保证可复现性。官方文档为 https://medchem-docs.datamol.io/,源码仓库为 https://github.com/datamol-io/medchem。其它收费、价格或平台信息暂未提供。