计算化学公社

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

[程序/脚本开发] 调整ligpargen生成的itp文件中原子顺序的脚本

[复制链接 Copy URL]

55

帖子

1

威望

1551

eV
积分
1626

Level 5 (御坂)

跳转到指定楼层 Go to specific reply
楼主
本帖最后由 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!!


sort.sh

15.54 KB, 下载次数 Times of downloads: 54

file.zip

372.68 KB, 下载次数 Times of downloads: 52

评分 Rate

参与人数
Participants 4
威望 +1 eV +15 收起 理由
Reason
pinpo + 5 好物!
若水无风 + 5
Medivan + 5 GJ!
sobereva + 1

查看全部评分 View all ratings

1

帖子

0

威望

19

eV
积分
20

Level 1 能力者

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

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

GMT+8, 2024-11-24 01:30 , Processed in 0.255990 second(s), 32 queries , Gzip On.

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