IMoD
逆向分子设计(Inverse Molecular Design, IMoD)
使用方法
-
./example目录包含论文中的三个完整示例数据集:energetics、BACE、permeability。 -
若迁移至自定义数据集,请将
Sequence_v1.2.py、Diffusion_v1.2.py与D.csv放置在同一目录下。可通过修改DATA_CSV = "D.csv"更改文件名。D.csv必须包含两列:SMILES:分子表示,D:目标性质。标签列名匹配规则可修改r"(^|[^A-Za-z])D([^A-Za-z]|$)|label|target"。 -
运行命令分别为
python Sequence_v1.2.py和python Diffusion_v1.2.py。 -
Sequence_v1.2.py和Diffusion_v1.2.py中的TARGET_D表示期望生成分子的目标性质值。在Diffusion_v1.2.py中,GRAPH_N_MAX和GEODIFF_N_MAX应设置为最大原子数(包含加氢后的结构),GRAPH_ATOMS表示所考虑的元素种类。 -
./smiles_check目录下的文件smiles_check_v6.py是一个自动化后处理脚本,用于对生成的分子结果进行筛选与可视化。该脚本从generated_with_pred_MERGED_R5.csv中读取SMILES及预测性能指标D,筛选并排序D>9.4的分子(df = df[df[D_COL] > 9.4]),并基于RDKit进行全面的化学合理性检验。此外,脚本还包含一个可选的新颖性过滤步骤:基于canonical SMILES匹配,删除已存在于Dm.csv中的分子;同时还提供一个由前端开关控制的可选最大环元数筛选(默认阈值为12)。具体检验内容包括:SMILES解析成功与SanitizeMol校验、单一中性组分及可选的自由基限制、可选原子白名单筛选、分子原子数与重原子数范围限制、理化性质范围控制(包括MW、LogP、TPSA、HBD/HBA和可旋转键数)、环数与芳香环数限制、PAINS结构警示筛选,以及合成可及性(SA)评分阈值筛选。
chemprop使用v1.6.1;Windows与Ubuntu调用方式不同,Sequence_v1.2.py与Diffusion_v1.2.py均兼容两种系统。为避免仓库体积过大,
./example目录未包含*.pt文件。如需对应的*.pt文件,可通过email(misaraty@163.com)联系获取,或自行重新运行生成。
引用
待论文正式发表后补充。