计算化学公社

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

[程序/脚本开发] 长链聚合物建模小工具

[复制链接 Copy URL]

1

帖子

1

威望

780

eV
积分
801

Level 4 (黑子)

分享一个做聚合物动力学模拟的简单小工具,这个小工具内容是python建聚合物模型+sobtop生成itp文件。
[url=]polytop.tar.gz[/url]
工具的参数设置步骤如下:
  • 输入文件:输入一个聚合物的重复单元结构,pdb文件——input参数
  • 重原子定义:指定头原子和尾部两个原子名称,其中TA是尾原子,TA2是尾原子的上一个重原子(蓝色圈)——HA,TA,TA2参数
  • 取代氢定义:指定要删去的氢原子名称(红色圈)——HH,TH参数
  • 设置重复单元数量——DIM参数
  • 设置聚合物链数——CHAIN参数
  • 电荷类型设置,CHARGE写custom就会读CHG1、2、3的内容给聚合物头中尾分配电荷,这时需要提供电荷值txt文件;写MMFF94就直接用sobtop+obabel计算MMFF94电荷,不需要提供CHG1、2、3——CHG1,CHG2,CHG3,CHARGE参数




工具处理流程:
读重复单元的pdb文件,得到三个重原子的坐标,将HA坐标移到原点,TA2坐标移到Y轴上,得到平移距离和旋转角度,对其他原子也进行相同的旋转和平移操作。然后将新坐标下的结构复制一份,沿Y轴平移,移动到下一个单元的HA和上一个单元TA的距离为1.54埃米(因为做的是C骨架,距离就写了1.54,如果是别的对应着改就行),重复到一条链构建完毕,然后沿着Z轴间隔1nm复制一个份。最后将一条链的结构给sobtop生成top文件,得到的聚合物结构和top就可以直接用gromacs跑模拟了。

运行方式
bash poly_top.sh config.txt
(config.txt里面就是以上参数)

注意:
  • 给的重复单元骨架最好是直的。如果建出来不是直的,在GaussView里面clean一下。
  • 默认是用sobtop的GAFF力场。
  • 如果要想多条链不是平行放置而是随机放置,我建议用一条链的结构给packmol建多条链。
  • 运行之前准备一个conda环境,因为需要numpy和openbabel进行计算。
  • 在Linux下运行
  • 更多内容详见README。


重原子和取代氢定义.png (113.33 KB, 下载次数 Times of downloads: 1)

重原子与取代氢定义

重原子与取代氢定义

polytop.tar.gz

5.67 MB, 下载次数 Times of downloads: 3

评分 Rate

参与人数
Participants 2
威望 +1 eV +5 收起 理由
Reason
zsu007 + 5 好物!
sobereva + 1

查看全部评分 View all ratings

337

帖子

0

威望

2090

eV
积分
2427

Level 5 (御坂)

2#
发表于 Post on halfhour ago | 只看该作者 Only view this author
“移动到下一个单元的HA和上一个单元TA的距离为1.54埃米”,上一个单元的TA应该是要被删除的吧?

平移的时候直接把复制的1号原子移到原本的18号原子处,然后根据复制的1号原子和原本的16号原子的类型适当调整距离,得到原本1号原子到复制后的1号原子位置的向量,把复制的原子集体位移会不会更方便。

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

GMT+8, 2026-4-24 15:33 , Processed in 1.601652 second(s), 27 queries , Gzip On.

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