401

合成与采购决策:自研合成还是订购化合物

自研合成还是订购化合物,是每轮 DMTA 都要做的决策。这篇给出决策框架、成本对比与实际考量。

设计出一批分子后,第一个决策是:哪些去买,哪些自己做?这个看似琐碎的决定,实际上显著影响项目的速度与成本。

决策框架

情况 建议 理由
分子在商业库中现货 几天到两周到货,成本远低于合成
按需合成库(如 REAL)中 买(若时间允许) 3~4 周,成本可控
需要多步定制合成 视情况 比较内部产能与 CRO 报价
首轮探索、要覆盖多个骨架 优先买 快速验证假设,不值得投入合成资源
已有苗头、做精细 SAR 优先自研 需要特定取代基,商业库覆盖不到
需要大量(体内实验) 自研或 CRO 定制 商业库通常只有毫克级
需要保密 自研 避免结构外泄
需要特定立体异构体 自研 商业库常只有消旋体

成本对比的完整视角

# 买的成本:
#   - 化合物单价(现货通常数百元级/几毫克,
#                 按需合成常达数百美元级)
#   - 运费与清关
#   - 到货周期的时间成本
#
# 自研的成本(常被低估):
#   - 化学家人力(这是大头)
#   - 起始原料与试剂
#   - 分析表征
#   - 失败尝试的成本 —— 不是每条路线都能走通
#   - 机会成本:化学家做这个就不能做别的
#
# 关键提醒:
#   自研的真实成本常被低估,因为人力成本容易被视为「已经付了」
#   正确的算法是看机会成本:
#   「这位化学家两周做这个分子,vs 两周做别的分子」哪个价值更高

可得性检查要前置

# 常见错误:设计完一大批分子,最后才发现大部分买不到
# 正确做法:把可得性检查放进筛选流程的中期

def enrich_with_availability(candidates, lookup_fn):
    """给候选分子加上采购信息,用于最终排序"""
    enriched = []
    for smi in candidates:
        info = lookup_fn(smi)          # 调用 Mcule/eMolecules API(见 232、233)
        enriched.append({
            "smiles": smi,
            "available": info.get("available", False),
            "tier": info.get("tier"),           # 现货 / 按需 / 不可得
            "price_usd": info.get("min_price"),
            "lead_time_days": info.get("lead_time"),
            "n_suppliers": info.get("supplier_count", 0),
        })
    return enriched

# 综合排序时同时考虑:
#   预测活性、可得性、价格、多样性
# 而不是只按预测活性排序

def procurement_aware_rank(df, weight_score=1.0, weight_speed=0.5):
    import numpy as np
    # 归一化打分
    df["score_norm"] = (df["pred_score"] - df["pred_score"].min()) / \
                       (df["pred_score"].max() - df["pred_score"].min() + 1e-9)
    # 交付速度得分(越快越好)
    df["speed_norm"] = 1 - (df["lead_time_days"] /
                            df["lead_time_days"].max().clip(min=1))
    df["combined"] = (weight_score * df["score_norm"] +
                      weight_speed * df["speed_norm"])
    return df.sort_values("combined", ascending=False)

首轮筛选:买比做更合理

虚拟筛选或生成模型的首轮输出,绝大多数应该买而非自己做。理由:

  • 目的是验证假设而非优化:首轮要回答的是「这个口袋能不能被小分子结合」「哪类骨架有戏」,需要的是化学多样性覆盖而非特定分子;
  • 命中率低:首轮的命中率通常在个位数百分比,投入合成资源做一批大概率无活性的分子不划算;
  • 速度:两周拿到 30 个商业分子的数据,比三个月拿到 10 个定制分子更能推动项目;
  • 选择策略优先化学多样性而非单点最高分——买 30 个覆盖多个骨架的中高分分子,比买 10 个最高分的同系列分子信息量大得多。

采购的实际考量

  • 纯度:确认供应商标称纯度(通常 ≥90% 或 ≥95%)。生物测试对纯度敏感,杂质可能造成假阳性。
  • 数量:初筛 1~5 mg 足够,别一开始就买大量;
  • 比价:同一分子不同供应商价格可能差数倍(见 233《eMolecules》);
  • 备选:标称现货也可能缺货,下单时多选 20%~30% 的备选分子
  • 结构确认收到后建议做 LC-MS 或 NMR 核对。商业化合物的结构错误率虽低但非零,一个错误结构会污染整轮 SAR 结论;
  • 立体化学:手性分子要确认是单一对映体还是消旋体,供应商标注可能不一致。

CRO 外包的考量

维度 关注点
交付周期 报价周期与实际周期常有差距
成功率 复杂分子的交付失败率
质量 纯度、表征数据完整性
知识产权 结构信息外泄风险、成果归属
沟通成本 路线讨论、问题处理
规模弹性 能否快速扩大或缩减

知识产权条款是外包最需要谨慎的部分:把候选化合物结构交给外部机构,涉及保密与成果归属,必须在合同中明确。

后期阶段的转变

随着项目推进,决策天平会向自研倾斜:

  • 先导优化阶段:需要的是特定位置的特定取代基,商业库覆盖不到;
  • 需要构效关系的系统性:要一系列只差一个基团的分子,只能自己做;
  • 保密性要求提高:接近候选化合物时,结构信息更敏感;
  • 需要量增大:体内实验、毒理研究需要克级甚至更多。

关键要点

  • 首轮筛选优先买——目的是覆盖化学多样性验证假设,不是优化;
  • 把可得性检查前置到筛选中期,避免在买不到的分子上浪费分析时间;
  • 自研的真实成本是化学家的机会成本,容易被低估;
  • 下单多备 20%~30%,收货后做结构确认,避免污染 SAR 结论。

延伸资源