计算化学公社

 找回密码 Forget password
 注册 Register
Views: 138|回复 Reply: 1
打印 Print 上一主题 Last thread 下一主题 Next thread

[程序/脚本开发] 一个不依赖原子名称的小分子对齐工具

[复制链接 Copy URL]

10

帖子

0

威望

122

eV
积分
132

Level 2 能力者

本帖最后由 AoyuJiao 于 2026-8-2 20:18 编辑

本人在做蛋白-小分子复合物的分子动力学模拟工作时,如果不使用Sobtop生成小分子拓扑,就会出现itp文件与结构文件的原子命名不匹配的情况,而一些力场(如GROMOS+ATB)又很难绕开这个难点。常用的pymol程序中的对齐命令,如align,super等在原子顺序不一致时会直接趴窝。

所以我写了一个完全不依赖原子名称,仅依靠图拓扑匹配的python脚本,这个脚本的功能是:给定两个描述同一个小分子的 PDB 文件,输出一个 PDB。输入包括:坐标源 PDB:提供原子 3D 坐标,分子朝向。并假定其原子总数、氢原子数、命名顺序不可靠。参考 PDB:提供原子命名、残基名、加氢情况、连接(CONECT)信息。此外,还附赠加氢功能。因为分子对接得到的小分子大多缺氢,而参考PDB不会出现此问题,所以此工具会在对齐时顺手把氢加上。

这时的工作流(拿ATB举例子)就会变成:从复合物中截取小分子pdb→把pdb上传到ATB→下载ATB匹配到的itp文件和pdb文件→使用脚本对齐二者同时补全氢原子→把小分子引入拓扑

这个脚本使用的完全是标准python3库中的内容,无需依赖,各系统通用。用法是:(可以尝试--help参数,有参数直传用法)
  1. python molalign.py
复制代码
一些错误的处理方法和注意事项:
  • 若两个分子重原子集合不同,会报错,不会强行拼接。
  • 重建的氢原子坐标为理想几何近似,没有经过能量极小化的优化;但如果两文件氢原子齐全则不会走重建分支。
  • 对称分子若存在多种等价匹配,取第一个合法匹配。

molalign.py

16.39 KB, 下载次数 Times of downloads: 11

评分 Rate

参与人数
Participants 3
eV +18 收起 理由
Reason
student0618 + 5
sobereva + 8
Corrosion + 5

查看全部评分 View all ratings

548

帖子

1

威望

2521

eV
积分
3089

Level 5 (御坂)

2#
发表于 Post on yesterday 20:22 | 只看该作者 Only view this author
算RMSD时确实有些跟对称性有关的问题,之前有人讨论过,可以看 https://doi.org/10.1186/s13321-020-00455-2 ,相应的程序叫spyrmsd,是用python实现的。

本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2026-8-6 11:33 , Processed in 0.219910 second(s), 24 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list