计算化学公社

标题: 调整ligpargen生成的itp文件中原子顺序的脚本 [打印本页]

作者
Author:
Puying    时间: 2023-2-7 23:01
标题: 调整ligpargen生成的itp文件中原子顺序的脚本
本帖最后由 Puying 于 2023-2-8 00:03 编辑

使用ligpargen的时候,生成的pdb和自己上传的pdb原子顺序会不一致。即便是同一个pdb文件,不同时间生成的力场文件,原子顺序也会改变。
这里写了一个bash脚本,可以根据自己的pdb文件原子的顺序调整拓扑文件中的原子顺序。生成新的itp文件里面的原子顺序就和自己的pdb中的原子顺序一致了。

提供三个文件,ligpargen的itp和pdb,以及自己的pdb。
使用的前提是,自己的pdb分子和ligpargen的pdb分子,两个分子需要最大程度上重合,因为脚本是利用判断原子间距来确定原子序号的。一般来说,ligpargen生成的pdb分子位置和自己上传的pdb分子的位置不会有很大移动,只是顺序变了。但是偶尔也会位移很多,所以要自己check。

如果不重合,可以利用建模软件调整自己的pdb分子的坐标,使自己的pdb和ligpargen的pdb原子重合。
这里不需要原子坐标完全一致,只要肉眼上是重合的就行,或者距离很近也可以。

里面需要调整的参数,主要是一些行号,比如bond部分的行号范围,angle部分的行号范围等等。还要确保pdb中xyz坐标是第几列,以便调整脚本使之正常工作。写的脚本不是很智能化,但是自己调整是最保险的。

一定要仔细阅读注释,我都做了相应标注。如果理解bash脚本的内容就更好了了,出错了可以自己及时调整脚本内容。
用到的命令无非是awk、sort和sed这些。理解起来不难。

Use at your own risk!!



作者
Author:
wanglulu    时间: 2024-5-17 16:41
还有一种比较水的办法。1. 在可视软件中把两个分子移动至最大重合,并保存最新坐标下的结构为xyz格式。 2.在excel里面按照元素升序或者降序排序,并拓展区域。3. 每个元素里面还要继续排序,并拓展区域。 4.把排序后的xyz粘贴回去。 5. 这两个分子的每个原子的顺序差不多能对上了。




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3