232

Mcule:商业筛选库在虚拟筛选中的用途

Mcule 提供可快速采购的商业化合物库与在线工具,适合把虚拟筛选命中物落到可买分子。这篇讲清它的库分层、在线工具与采购流程中的实际用法。

Mcule 是化合物采购平台,同时提供在线的虚拟筛选工具。它在实际工作流中的位置很具体:你已经通过计算筛出了一批候选,现在要确认哪些真的能买到、多少钱、多久到货。这一步看似琐碎,却是虚拟筛选能否落地的关键环节。

库的分层

规模 交付 用途
In-stock(现货) 数百万 约 1~3 周 首轮验证首选
Purchasable 数千万 数周 扩大候选范围
Ultimate 数十亿 较长,含按需合成 超大空间探索
Building blocks 数十万 合成砌块采购

做首轮生物验证时,现货库的价值远高于规模:能在两周内拿到二十个分子做实验,比三个月后拿到两百个更有意义——项目的迭代速度才是关键约束。

在线工具

  • 1-click docking:上传受体和配体即可在线对接,无需本地部署。适合快速验证想法或没有计算环境时用。
  • 相似性 / 子结构检索:拿一个命中分子去搜类似物,快速构建初步 SAR 系列。这是它在实际项目中最常用的功能。
  • 性质计算与过滤:在线算 MW、logP、TPSA 等并按规则过滤。
  • REST API:可编程查询可得性与价格,便于把采购检查接进自动化流程。
# 用 API 批量核查可得性(示意,需申请 API key)
import requests

def check_availability(smiles_list, api_key):
    out = []
    for smi in smiles_list:
        r = requests.get("https://mcule.com/api/v1/search/lookup/",
                         params={"query": smi},
                         headers={"Authorization": f"Token {api_key}"})
        if r.ok and r.json().get("results"):
            hit = r.json()["results"][0]
            out.append({"smiles": smi, "mcule_id": hit["mcule_id"],
                        "available": True})
        else:
            out.append({"smiles": smi, "available": False})
    return out

把它放进虚拟筛选流程

# 完整链路
1. ZINC / REAL 大库           → 计算筛选
2. 对接 + 重打分 + 过滤       → top 500
3. 人工审查(mols2grid)       → top 100
4. Mcule 核查可得性与价格      → 实际可买的 40 个   ← 这一步
5. 多样性挑选                  → 下单 20~30 个
6. 生物测试                    → 苗头确认

第 4 步经常被低估:计算筛出的漂亮分子,实际可采购率往往只有一半甚至更低。把可得性检查提前到筛选中期(而不是最后),能避免在买不到的分子上浪费大量计算与分析时间。

采购时的实际考量

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

上手提示

  • 它的核心价值是把计算命中落到「真能买到的分子」;
  • 把可得性检查提前到筛选中期,别等最后才发现买不到;
  • 首轮验证优先现货库,迭代速度比库规模更重要;
  • 下单多备 20%~30%,收货后建议做结构确认。

延伸资源