mol_opt:实用的分子优化基准项目
项目介绍
mol_opt 是一个开源的实用分子优化(PMO)基准项目,旨在促进分子优化算法进展的透明和可复现评估。该项目支持25种分子设计算法,涵盖23个任务,特别关注样本效率(oracle调用)。项目的预印本论文可在 arXiv 上查阅。
项目技术分析
mol_opt 项目基于多种机器学习方法论,将所有方法分为以下几类:
-
虚拟筛选
screening:随机搜索 ZINC 数据库。molpal:使用分子属性预测器优先选择高评分分子。
-
遗传算法(GA)
graph_ga:基于分子图。smiles_ga:基于 SMILES。selfies_ga:基于 SELFIES。stoned:基于 SELFIES。synnet:基于合成。
-
变分自编码器(VAE)
smiles_vae:基于 SMILES。selfies_vae:基于 SELFIES。jt_vae:基于连接树(片段作为构建块)。dog_ae:基于合成。
-
贝叶斯优化(BO)
gpbo
-
强化学习(RL)
reinventreinvent_selfiesreinvent_transformergraphinventmoldqnsmiles_aug_memsmiles_bar
-
爬山算法(HC)
smiles_lstm_hc:SMILES 级别的 HC。smiles_ahc:SMILES 级别的增强 HC。selfies_lstm_hc:SELFIES 级别的 HC。mimosa:图级别的 HC。dog_gen:基于合成的 HC。
-
梯度上升
dst:基于分子图。pasithea:基于 SELFIES。
-
基于评分的建模(SBM)
gflownetgflownet_almars
项目还提供了预处理的数据和预训练的模型,用户可以直接使用。
项目及技术应用场景
mol_opt 项目适用于以下应用场景:
- 药物发现:通过优化分子结构,加速新药研发。
- 材料科学:设计具有特定性质的新材料。
- 化学合成:优化合成路径,提高合成效率。
- 学术研究:为分子优化算法的研究提供基准和比较平台。
项目特点
- 全面性:涵盖25种算法和23个任务,满足多种研究需求。
- 高效性:特别关注样本效率,减少计算资源消耗。
- 易用性:提供轻量级版本,可通过 pip 安装,三行代码即可运行。
- 可复现性:提供预训练模型和预处理数据,确保结果可复现。
- 灵活性:支持多种运行模式,包括单次测试、生产环境和超参数调优。
安装指南
conda create -n molopt python=3.7
conda activate molopt
pip install torch
pip install PyTDC
pip install PyYAML
conda install -c rdkit rdkit
推荐使用 PyTorch 1.10.2 和 PyTDC 0.3.6。
一行代码运行
python run.py MODEL_NAME --seed 0 1 2
python run.py MODEL_NAME --task production --n_runs 5 --oracles qed
python run.py MODEL_NAME --task tune --n_runs 30 --smi_file XX --other_args XX
MODEL_NAME 参考上表中的方法名称。
mol_opt 项目为分子优化领域的研究和实践提供了强大的工具和平台,欢迎广大研究人员和开发者使用和贡献!🔬🌟
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



