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%,收货后建议做结构确认。
延伸资源
- 化合物库:230《ZINC》、231《Enamine REAL》;比价平台:233《eMolecules》;
- 人工审查:217《Mols2grid》;
- 虚拟筛选流程见「实战流程」模块。