逆合成预测:AI 辅助的化学反应路线设计

FreeGuideOnline 最新 2026-06-26

bash pip install rdkit-pypi tqdm


以 **AiZynthFinder** 为例(基于模板+ MCTS):
```bash
git clone https://github.com/MolecularAI/aizynthfinder.git
cd aizynthfinder
pip install -e .
# 下载预训练数据(模板库、价值网络等)
python -m aizynthfinder.tools.download_public_data

5.2 单步预测快速体验

某些平台提供在线接口,但本地执行更灵活。以开源模型 LocalRetro(无模板,GNN)为例:

# 假设已安装 localretro
from localretro import RetroModel
model = RetroModel.from_pretrained()
results = model.predict('Cc1ccc(cc1)C(=O)OC')
for r in results[:5]:
    print(r['reactants_smiles'], r['score'])

5.3 多步路线搜索:使用 AiZynthFinder

编写脚本 search.py

from aizynthfinder.aizynthfinder import AiZynthFinder

finder = AiZynthFinder(configfile='config.yaml')
finder.stock.select("zinc")  # 原料库
finder.target_smiles = 'CN1CCC[C@H]1c2cccnc2'  # 尼古丁类似物
finder.config.search.time_limit = 120  # 搜索时间限制秒
finder.tree_search()
finder.build_routes()

# 输出最优路线
for idx, stats in enumerate(finder.routes):
    print(f"Route {idx}: steps={stats['steps']}, score={stats['score']}")
    for step in stats['route']:
        print(step)