

论文信息:Rigoni D, Sperduti A, Moro S. MolVE: An Open-Source Web Platform for Visualizing and Evaluating AI-Designed Molecules to Aid in Prioritization. J. Chem. Inf. Model. 2026, 66, 2427–2433. DOI:10.1021/acs.jcim.5c02412 开源地址:https://github.com/drigoni/MolVE

过去十年,人工智能在分子设计领域取得了革命性进展。深度生成模型(Deep Generative Models, DGMs)、强化学习(Reinforcement Learning, RL)以及大规模化学语言模型的涌现,使得计算机能够以每秒数千个结构的速度自动生成具有潜在药理活性的分子。这一能力从根本上改变了传统药物发现的逻辑——从"合成→测试→迭代"的线性实验范式,转向"大规模生成→智能筛选→重点验证"的数据驱动范式。
这一领域的代表性工作包括:
这些方法共同推动了"从虚空探索化学空间"成为现实,大幅压缩了早期药物发现的时间成本。
尽管生成能力强大,AI 系统产出的候选分子在进入实验室之前,通常要经历多轮计算筛选:
筛选层级 | 典型指标 | 工具/方法 |
|---|---|---|
化学合法性 | 价键规则、原子价态 | RDKit |
基础理化性质 | 类药五规则(Lipinski RO5) | RDKit、Open Babel |
合成可及性 | SAS 评分(1–10) | RDKit |
预测药理性质 | 溶解性、渗透性、毒性 | ADMET 预测模型 |
自然产物相似性 | NPS 评分 | ertl-NP |
然而,经过上述过滤仍存活的候选分子往往数量可观。此时,人类专家(化学家、药理学家)的审查不可或缺,原因在于:
在 MolVE 出现之前,业界普遍采用的"人工评估"方式存在以下系统性问题:
正是在这一背景下,MolVE 被设计为专门服务于这一"人在回路"关键环节的基础设施工具。

MolVE 采用经典的四层全栈架构,各组件职责清晰、松耦合:
┌─────────────────────────────────────────────┐
│ 用户(专家 / 管理员) │
│ 浏览器访问 or API 脚本调用 │
└───────────────┬─────────────┬───────────────┘
│ │
▼ ▼
┌──────────────────┐ ┌─────────────────────┐
│ 前端界面 │ │ MolVE Backend API │
│ React + Tailwind │◄──►│ Node.js + Express │
│ TypeScript │ │ Passport (Auth) │
│ JSmol + Doodle │ │ Drizzle ORM │
└──────────────────┘ └──────┬──────┬────────┘
│ │
┌──────────┘ └──────────┐
▼ ▼
┌─────────────────┐ ┌──────────────────┐
│ Python 服务 API │ │ PostgreSQL │
│ FastAPI │ │ 数据库 │
│ ML/DL 模型 │ │ 分子 + 评估数据 │
└─────────────────┘ └──────────────────┘
各层技术选型说明:
层级 | 技术 | 选型理由 |
|---|---|---|
前端 | React + TypeScript | 组件化 UI,静态类型检查保障代码质量 |
样式 | Tailwind CSS | 实用优先,快速构建响应式界面 |
构建工具 | Vite | 极速 HMR,提升开发效率 |
后端 | Node.js + Express | 非阻塞事件驱动架构,适合并发请求 |
认证 | Passport.js + express-session | 成熟的 Node.js 认证中间件 |
ORM | Drizzle ORM | 类型安全的数据库操作,减少运行时错误 |
数据库 | PostgreSQL | 关系型,支持复杂查询和事务 |
ML 服务 | FastAPI(Python) | 独立隔离部署,仅与后端通信,安全隔离 |
容器化 | Docker + Docker Compose | 环境一致性,一键部署 |
平台实现了基于角色的访问控制(RBAC),分为两种账户类型:
管理员(Administrator):
普通用户(Evaluator):
这是 MolVE 设计中体现研究方法论最深的部分,三种模式对应不同的实验设计需求:
分子以随机顺序呈现,允许同一分子被多位专家独立评估,也允许同一专家对同一分子重复评估。
优先展示尚无任何评估记录的分子,确保大规模候选集的广覆盖。
平台允许同时上传来自不同生成模型的分子集(每个集合附带模型来源标签)。此模式优先展示出现在多个模型输出中的分子。
评估页面整合了多维度信息,辅助专家做出有据可查的判断:
展示的分子属性:
属性 | 说明 |
|---|---|
Canonical SMILES | 标准化线性分子表示,可下载 .sdf 文件 |
分子量(MW) | 单位 g/mol |
LogP | 脂水分配系数,反映亲脂性 |
氢键供体数(HBD) | 影响口服吸收 |
氢键受体数(HBA) | 影响口服吸收 |
合成可及性评分(SAS) | 1(易)–10(难),Ertl & Schuffenhauer 方法 |
天然产物评分(NPS) | 与已知天然产物的结构相似度 |
NPS 置信度 | 模型预测的置信区间 |
ML 优先级预测 | 随机森林模型输出的优先级建议 |
交互可视化组件:
结构化反馈表单:
优先级评分(三选一,单选):
○ ✦ 优先推进(Prioritize)
○ ~ 边界情况(Borderline)
○ ✕ 不予推进(Do Not Prioritize)
问题标记(多选):
□ 溶解性(Solubility)
□ 合成可及性(Synthetic Accessibility)
□ 分子尺寸(Dimension)
□ 膜渗透性(Permeability)
附加注释(自由文本):
[ 在此输入对该分子的补充说明... ]为何选择定性标签而非数字量表?
作者对这一设计选择给出了明确的方法论解释:不同背景的化学家对"5分"与"7分"的区别理解可能存在根本性差异,这种个体内在量表的不一致性会在聚合时引入高噪声。相比之下,"推进/不推进"这类决策导向的定性标签,直接对应研究流程中的实际决策节点,具有更强的语义一致性和可比性。
模型类型:随机森林分类器(Random Forest Classifier)
特征工程:Morgan 圆形指纹(Morgan Circular Fingerprints)
训练数据构成:
类别 | 来源 | 标签 |
|---|---|---|
正例(推进) | FDA 批准药物数据集 | Prioritize |
负例(不推进) | TumFlow 生成的高 SAS 分子 | Do Not Prioritize |
训练策略:5 折交叉验证,增强泛化能力
部署方式:封装于独立的 FastAPI Python 服务,仅对后端暴露接口,不直接对外开放,保障安全隔离。
触发时机:每次通过 REST API 上传新分子时,后端自动调用 ML 服务,将预测结果写入数据库并在评估界面展示。
当前模型存在以下已知局限:
作者规划的演进路径:
第一阶段(当前)
随机森林 + Morgan 指纹 → 二分类优先级预测
第二阶段(近期)
利用 MolVE 收集的专家标注数据
→ 训练更强的分类模型
→ 扩展为多标签预测(溶解性/合成性/渗透性问题识别)
第三阶段(远期)
类 RLHF 框架:
专家反馈 → 奖励模型训练 → 指导生成模型产出更优分子
→ 将 MolVE 嵌入强化学习闭环这一路线图体现了对 NLP 领域 RLHF(Reinforcement Learning from Human Feedback)思路的跨领域迁移,具有重要的方法论参考价值。
MolVE 提供 REST API,支持以下操作:
这使得 MolVE 可无缝嵌入现有的计算化学流水线,例如:
import requests
# 上传一批 TumFlow 生成的分子
with open("tumflow_molecules.sdf", "rb") as f:
response = requests.post(
"https://your-molve-instance/api/molecules",
files={"sdf": f},
data={"label": "TumFlow_v2"},
headers={"Authorization": "Bearer <token>"}
)
# 查询评估结果
evaluations = requests.get(
"https://your-molve-instance/api/evaluations/export",
headers={"Authorization": "Bearer <token>"}
).json()为验证平台实际可用性,作者以 TumFlow(一种基于归一化流的抗癌分子生成模型)生成的分子集为对象,进行了完整的端到端演示:
TumFlow 生成分子
↓
REST API 批量导入(SDF 格式 + 来源元数据)
↓
MolVE 后端自动解析 → 存入 PostgreSQL
↓
触发 ML 模型预测 → 优先级分数写入数据库
↓
评估界面展示:2D/3D 结构 + 理化属性 + ML 预测
↓
药物化学家通过浏览器评估(无需安装任何软件)
采用"未评先行"模式,确保分子集全覆盖
↓
每位专家提交:定性标签 + 问题标记 + 注释
↓
所有记录归档至 PostgreSQL(含用户 ID、时间戳)
↓
管理员导出评估数据集 → 后续分析 / 模型训练在现有化学信息学工具生态中,MolVE 的独特性体现在以下四个维度的协同:
现有工具大多以可视化或属性计算为核心,评估决策是附加功能甚至缺失的。MolVE 将**"是否推进该分子"**作为第一设计原则,所有功能均服务于这一决策目标。
三种展示模式(随机/未评先行/共识优先)不是简单的排序功能,而是方法论层面的实验设计工具,支持:
AI 生成模型 → 大规模候选分子
↓
MolVE ML 服务 → 自动初筛(优先级建议)
↓
专家评估界面 → 人工审查(覆盖 AI 盲区)
↓
结构化评估数据 → 导出为标准格式
↓
反哺 AI 训练 → 更优的生成/预测模型
↓(循环)所有评估记录(分数、标记、注释、用户身份、时间戳)以标准化格式存储和导出,可直接用于:
MolVE 完全容器化,部署仅需以下步骤:
# 克隆仓库
git clone https://github.com/drigoni/MolVE.git
cd MolVE
# 启动全部服务(前端、后端、数据库、Python ML 服务)
docker-compose up -d
# 访问平台
open http://localhost:3000