Lead-like(先导样)与 drug-like(药物样)是两个不同的性质区间。理解它们的区别,是虚拟筛选与库设计中最重要的策略判断之一——用错区间会系统性地损害项目的后续优化空间。
核心洞察:优化会增重
# 从苗头到候选药物的典型演变
#
# 苗头(hit) → 先导(lead) → 候选药物
# MW 250~350 350~420 400~500
# cLogP 1~3 2~4 2~4.5
# 活性 μM 级 100 nM 级 < 10 nM
#
# 为什么会增重?
# 提高活性通常需要:
# - 增加与靶点的接触点(加基团)
# - 填充口袋(加体积)
# - 提高选择性(加特异性相互作用)
# 这些都会增加分子量与脂溶性
#
# 经验规律:
# 从苗头到候选,MW 常增加 80~150 Da,cLogP 增加 1~2
#
# 关键推论:
# 如果苗头已经是 MW 480、cLogP 4.5,
# 优化后必然突破可接受范围
# → 苗头必须比药物「更小更亲水」
各阶段的性质范围
| 阶段 | MW | cLogP | 其它 |
|---|---|---|---|
| 片段(fragment) | < 300 | < 3 | HBD ≤ 3(Rule of 3) |
| Lead-like | 250~350 | ≤ 3.5 | 可旋转键 ≤ 7 |
| Drug-like(Ro5) | ≤ 500 | ≤ 5 | HBD ≤ 5、HBA ≤ 10 |
| 已上市口服药(中位) | 约 350~400 | 约 2.5 | — |
虚拟筛选应该用哪个
- 先导发现应该筛 lead-like 库。这是最实用的一条策略建议。ZINC 等库都提供 lead-like 子集(见 230《ZINC》);
- 直接筛 drug-like 库的问题:
- 大而油的分子在对接中天然得分更高(打分函数偏好疏水接触与更多接触点,见 095《Docking Score》);
- 结果是筛出的都是接近性质上限的分子,后续优化空间被压缩;
- 这类分子的配体高效性通常较低,「性价比」差。
- 片段筛选是另一个极端:从极小的分子起步,优化空间最大,但起始亲和力很弱(mM 级),需要更长的优化路径与结构信息支持。
用配体高效性验证
from rdkit import Chem
from rdkit.Chem import Descriptors, Crippen
def efficiency_metrics(smiles, pic50):
"""计算效率指标,判断优化潜力"""
mol = Chem.MolFromSmiles(smiles)
hac = mol.GetNumHeavyAtoms()
clogp = Crippen.MolLogP(mol)
le = 1.37 * pic50 / hac # 配体高效性(见 071)
lle = pic50 - clogp # 亲脂高效性(见 072)
return {
"MW": round(Descriptors.MolWt(mol), 1),
"HAC": hac, "cLogP": round(clogp, 2),
"pIC50": pic50,
"LE": round(le, 3), "LLE": round(lle, 2),
}
# 对比两个「同样 1 μM」的苗头:
#
# A: MW 300, HAC 22, cLogP 2.0, pIC50 6.0
# LE = 1.37 × 6.0 / 22 = 0.37 ← 高效
# LLE = 6.0 - 2.0 = 4.0
# → 还有增重与增脂空间,优化潜力大
#
# B: MW 480, HAC 34, cLogP 4.8, pIC50 6.0
# LE = 1.37 × 6.0 / 34 = 0.24 ← 低效
# LLE = 6.0 - 4.8 = 1.2 ← 很差
# → 「预算」已用尽,再优化必然突破性质边界
#
# 结论:A 是好得多的起点,尽管活性相同
# 这就是 lead-like 策略的量化依据
lead-like 的实际操作
# 1) 用现成的 lead-like 子集
# ZINC 提供按性质切好的子集(见 230)
# 直接下载 lead-like + in-stock 的组合
# 2) 自己过滤
from rdkit import Chem
from rdkit.Chem import Descriptors, Crippen
def is_lead_like(smiles):
mol = Chem.MolFromSmiles(smiles)
if mol is None:
return False
return (
250 <= Descriptors.MolWt(mol) <= 350 and
Crippen.MolLogP(mol) <= 3.5 and
Descriptors.NumRotatableBonds(mol) <= 7 and
Descriptors.NumHDonors(mol) <= 3 and
Descriptors.TPSA(mol) <= 90
)
# 3) 用平滑评分而非硬过滤(更好)
# 在 MPO 中给 MW 与 logP 设置 lead-like 的目标区间
# → 避免阈值悬崖,同时引导筛选方向
什么时候不用 lead-like
- 靶点本身需要大分子:PPI 界面、某些大口袋,小分子根本无法覆盖(见 382《PPI 抑制剂》);
- 做药物重定位:直接筛已上市药物,性质已定;
- 非口服给药:静脉给药的性质约束宽松得多;
- 非常规模态:大环、多肽、降解剂有自己的性质空间(见 362《降解剂成药性》、373《大环化合物 Macrocycle》);
- 片段筛选路线:起点更小。
在优化中监控「性质预算」
# 把 MW 与 cLogP 当作「预算」来管理
#
# 假设 TPP 要求最终分子 MW < 480、cLogP < 4
# 当前先导:MW 380、cLogP 3.0
#
# 剩余预算:MW 100 Da、cLogP 1.0
#
# 每次改造前问:
# 这个基团带来的活性提升,值得消耗多少预算?
#
# 量化方法:
# 加一个基团后,LE 与 LLE 是上升还是下降?
# → 上升 = 这次改造是「高效」的
# → 下降 = 用性质换活性,预算在消耗
#
# 这个思维方式能有效防止「不知不觉把分子做大」
# —— 而这是先导优化中最常见的失控模式
关键要点
- 优化过程必然增重(典型 +80~150 Da、+1~2 logP),苗头必须留出空间;
- 虚拟筛选应该用 lead-like 库,直接筛 drug-like 会得到接近性质上限的分子;
- 用 LE 与 LLE 量化「优化潜力」,而非只看绝对活性;
- 把 MW 与 cLogP 当作预算管理,每次改造前评估「性价比」。
延伸资源
- 效率指标:071《配体效率 Ligand Efficiency》、072《脂溶性配体效率 LLE》;类药规则:064《Lipinski 五规则》;
- 化合物库:230《ZINC》;Hit-to-Lead:404《Hit-to-Lead》。