MolGym 项目教程
1. 项目介绍
MolGym 是一个用于分子设计的强化学习项目,它允许在三维笛卡尔坐标系中直接训练强化学习策略来设计分子。该项目通过从给定的原子袋中反复取出原子并将其放置在三维画布上来构建分子。MolGym 的核心目标是利用量子力学原理指导分子设计,从而生成具有特定性质的分子结构。
2. 项目快速启动
环境准备
首先,确保你的 Python 环境满足以下要求:
- Python >= 3.7
- 安装所需的依赖包:
pip install -r requirements.txt
- 安装 MolGym 库本身:
pip install -e .
安装 Sparrow
Sparrow 是一个用于量子化学计算的工具,可以通过 conda 包管理器安装:
conda install scine-sparrow-python
运行示例
以下是一个简单的示例,用于训练一个单袋实验(single-bag experiment):
python3 scripts/run.py \
--name=SF6 \
--symbols=X,F,S \
--formulas=SF6 \
--min_mean_distance=1.10 \
--max_mean_distance=2.10 \
--bag_scale=5 \
--beta=-10 \
--model=covariant \
--canvas_size=7 \
--num_envs=10 \
--num_steps=15000 \
--num_steps_per_iter=140 \
--mini_batch_size=140 \
--save_rollouts=eval \
--device=cuda \
--seed=1
生成学习曲线
训练完成后,可以生成学习曲线:
python3 scripts/plot.py --dir=results
生成结构文件
生成结构文件并使用 PyMOL 等工具进行可视化:
python3 scripts/structures.py --dir=data --symbols=X,F,S
3. 应用案例和最佳实践
应用案例
MolGym 可以应用于多种分子设计任务,例如:
- 设计具有特定电子性质的分子。
- 优化分子的几何结构以提高其稳定性。
- 生成具有特定化学反应性的分子。
最佳实践
- 参数调优:根据具体任务调整超参数,如
min_mean_distance
和max_mean_distance
,以获得最佳性能。 - 并行化:利用
--num_envs
参数并行化训练过程,以加速训练。 - 模型选择:根据任务需求选择合适的模型(如
covariant
模型)。
4. 典型生态项目
MolGym 作为一个分子设计的强化学习框架,可以与其他量子化学计算工具和分子模拟工具结合使用,例如:
- ASE (Atomic Simulation Environment):用于原子级模拟和操作。
- Cormorant:用于处理和分析分子数据的工具。
- Schnetpack:用于分子和材料的深度学习模型。
这些工具可以与 MolGym 结合,进一步增强分子设计的效率和准确性。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考