medchem
用于化合物分诊的药物化学筛选。应用药物相似性规则(Lipinski、Veber、CNS)、结构警示词库(PAINS、NIBR、ChEMBL)、复杂度度量,以及用于文库过滤的药物化学查询语言。
Medchem - 药物发现中的分子过滤与化合物库筛选工具
技能概述
Medchem 是一个专业的 Python 分子过滤库,帮助药物发现研究人员应用文献来源的药物相似性规则、结构警报目录和复杂性阈值来高效筛选和优先排序化合物库。
适用场景
1. 化合物库初筛与三联
在药物发现的早期阶段,研究人员需要从大量化合物中快速识别具有类药性的候选分子。Medchem 提供了包括 Lipinski 五规则、Veber 规则、CNS MPO 等经典规则,可以一次性评估数千个分子的药物相似性,同时检测 PAINS、NIBR 等结构警报,帮助构建高质量的筛选库。
2. 先导化合物优化筛选
当获得初步命中化合物后,Medchem 能够通过 lead-like 规则、复杂性度量和官能团检测来评估先导化合物的优化潜力。研究人员可以组合使用药物相似性规则、结构警报过滤和复杂性分析,确保进入优化阶段的分子具有良好的理化性质和成药潜力。
3. 高通量虚拟筛选结果后处理
完成虚拟筛选后,Medchem 的查询语言允许研究人员构建复杂的多条件过滤器,例如"符合 Lipinski 规则且不含 PAINS 结构且 TPSA ≤ 90 Ų",快速从数万到数百万个虚拟筛选结果中提取符合多重标准的候选分子。
核心功能
1. 文献来源的药物相似性规则
Medchem 内置了药物化学领域的经典规则,包括 Lipinski 五规则、Veber 规则、Oprea lead-like 规则、CNS 多参数优化(MPO)等。这些规则基于已上市药物和临床候选物的统计特征,可以快速评估分子的类药性、口服吸收潜力和中枢神经系统穿透性。支持单分子评估和批量并行处理,结果以 pandas DataFrame 返回,便于集成到现有工作流中。
2. 结构警报与问题模式检测
提供 ChEMBL 衍生的常见警报过滤器、Novartis NIBR 筛选库规则、PAINS(泛抑制剂干扰结构)和 Brenk 等命名目录。这些过滤器能够识别已知会产生假阳性结果、毒性或合成困难的化学结构。NIBR 过滤器还提供严重度评分,帮助研究人员根据项目需求灵活调整过滤阈值。所有过滤器返回详细的匹配原子位置和警报类型,便于结构-活性关系分析。
3. 化合物复杂性分析与查询语言
基于 ZINC-15 数据库预计算的百分位阈值,Medchem 能够评估分子的相对复杂性(Bertz、SAS、QED 等指标)。更重要的是,其查询语言支持组合规则、警报、性质和化学基团的多条件过滤,例如 MATCHRULE("rule_of_cns") AND NOT HASALERT("pains") AND HASPROP("tpsa", <=, 90),让研究人员能够根据具体项目需求构建定制化的筛选策略。
常见问题
什么是药物相似性规则?为什么需要它们?
药物相似性规则是基于已上市药物和临床候选物的统计分析得出的经验法则。最著名的是 Lipinski 五规则,它总结了口服吸收良好的化合物通常具有的分子量、logP、氢键供体和受体数量范围。这些规则帮助研究人员从海量化合物中优先选择具有成药潜力的分子,降低后期开发失败的风险。但需要注意的是,许多上市药物(特别是天然产物和作用于特定靶点的药物)会违反这些规则,因此规则应作为指导而非绝对标准。
如何用 medchem 过滤 PAINS 分子?
PAINS(泛抑制剂干扰结构)是指在生物测定中容易产生假阳性的化学模式。使用 medchem 过滤 PAINS 分子非常简单:通过 mc.functional.alert_filter(mols=mol_list, alerts=["pains"], n_jobs=-1) 可以获得一个布尔数组,True 表示分子不含 PAINS 结构。也可以使用 mc.structural.CommonAlertsFilters() 获取详细的结果 DataFrame,包含具体的警报匹配位置和类型。建议将 PAINS 过滤与其他规则(如 Lipinski 五规则)结合使用,以构建更全面的筛选策略。
化合物库筛选的最佳实践是什么?
化合物库筛选应该是分层和迭代的:第一层应用快速的基本规则(如 Lipinski 五规则)去除明显不符合类药性的分子;第二层使用结构警报过滤器(PAINS、NIBR)排除已知问题模式;第三层根据具体项目需求应用更细致的过滤,如特定靶点的性质要求(CNS 药物需要特定的 logP 和 TPSA 范围)或合成可行性评估。每层筛选后都应保留详细的过滤日志和排除原因,以便后续审计和规则优化。记住,过滤的目的是优先排序而非绝对排除,边界案例值得人工审查。