|
|
本帖最后由 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参数,有参数直传用法)
一些错误的处理方法和注意事项:
- 若两个分子重原子集合不同,会报错,不会强行拼接。
- 重建的氢原子坐标为理想几何近似,没有经过能量极小化的优化;但如果两文件氢原子齐全则不会走重建分支。
- 对称分子若存在多种等价匹配,取第一个合法匹配。
|
评分 Rate
-
查看全部评分 View all ratings
|