|
|
分享一个做聚合物动力学模拟的简单小工具,这个小工具内容是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。
|
评分 Rate
-
查看全部评分 View all ratings
|