计算化学公社

 找回密码 Forget password
 注册 Register
楼主 Author: ggdh
打印 Print 上一主题 Last thread 下一主题 Next thread

[程序/脚本开发] 用ztop构建大分子/聚合物的拓扑文件

  [复制链接 Copy URL]

33

帖子

0

威望

743

eV
积分
776

Level 4 (黑子)

46#
发表于 Post on 2025-6-26 16:01:15 | 只看该作者 Only view this author
ggdh 发表于 2025-6-13 21:17
因为A1 只能和A1 连, A2 只能和A2 连,所以会连成你这样
你这个利益,应该用首先定义头位基团(H和T), ...

不太理解为什么要切C-F键,尝试了一下,得不到想要的结构,反而是A1H与A1T有连接,我的目的是两端的C-H按顺序连接,跟C-F没有关系, 即A1-A2-A1-A2-A1-A2...这样的顺序,而不是A1-A2-A2-A1-A1-A2....

33

帖子

0

威望

743

eV
积分
776

Level 4 (黑子)

47#
发表于 Post on 2025-6-26 16:13:49 | 只看该作者 Only view this author
boqiang 发表于 2025-6-26 16:01
不太理解为什么要切C-F键,尝试了一下,得不到想要的结构,反而是A1H与A1T有连接,我的目的是两端的C-H按 ...

按照这个方法,先定义头和尾,中间定义两端C-H,可以实现,感谢。

2

帖子

0

威望

179

eV
积分
181

Level 3 能力者

48#
发表于 Post on 2025-9-15 09:52:03 | 只看该作者 Only view this author
使用ztop进行参数转移保存时会出现下面warnings和error报错:

  1. label          formula sites
  2.     H  xxx   
  3. //app/anaconda3.0/envs/amber/lib/python3.10/site-packages/parmed/gromacs/gromacstop.py:1124: GromacsWarning: 76 1-4 pairs were missing from the [ pairs ] section and were set to zero; make sure you know what you're doing!
  4.   warnings.warn('%i 1-4 pairs were missing from the [ pairs ] ')

  5. Traceback (most recent call last):
  6.   File "//../coordmagic/ztop.py", line 370, in <module>
  7.     pr.ps.save(f,overwrite=True,**options)
  8.   File "//app/anaconda3.0/envs/amber/lib/python3.10/site-packages/parmed/structure.py", line 1548, in save
  9.     s = gromacs.GromacsTopologyFile.from_structure(self)
  10.   File "//app/anaconda3.0/envs/amber/lib/python3.10/site-packages/parmed/gromacs/gromacstop.py", line 226, in from_structure
  11.     scee_values.add(1/adjust.type.chgscale)
  12. ZeroDivisionError: float division by zero
复制代码


经检查发现是由于连接处产生了新的1-4相互作用对,但是`[ pairs ]`里没有更新。
目前的解决方法是:`--saveinfo d`产生要转移的csv二面角,新产生的二面角为缺失的1-4相互作用, 改成 `atom1 atom4 1`的形式,加入到a.top的[ pairs ]。

想请问大家使用过程中是否也遇到这个问题呢,这样解决是否可行。

2

帖子

0

威望

39

eV
积分
41

Level 2 能力者

49#
发表于 Post on 2026-1-22 16:48:19 | 只看该作者 Only view this author
钟老师,您好,我在使用参数转移功能时,能看到你的教程里面的输出,但是我发现top文件和pdb文件都没有更新,怎么确定参数转移已经成功了呢?

2

帖子

0

威望

39

eV
积分
41

Level 2 能力者

50#
发表于 Post on 2026-1-23 16:44:15 | 只看该作者 Only view this author
hhhhhwaaa 发表于 2026-1-22 16:48
钟老师,您好,我在使用参数转移功能时,能看到你的教程里面的输出,但是我发现top文件和pdb文件都没有更新 ...

此问题已解决,在转移参数的命令加上-o 就会有转移完参数的文件生成了

10

帖子

0

威望

111

eV
积分
121

Level 2 能力者

51#
发表于 Post on 2026-3-14 13:42:27 | 只看该作者 Only view this author
老师您好!最终生成的top文件没把电荷自动平均到每个原子,这怎么处理啊?
top文件的最后一行是这样的:1249         c3     46    peg      C   1249 0.45394052  12.010736   ; qtot -1.501410

60

帖子

0

威望

361

eV
积分
421

Level 3 能力者

52#
发表于 Post on 2026-6-14 21:59:23 | 只看该作者 Only view this author
钟老师,您好。有个建模的问题向您请教,图中是我的目标高分子。

参考您的教程,我分别针对头部单体、中间单体和尾部单体进行了量化计算。

针对上述三部分进行片段切割的命令如下:
ztop.py -f "H;p=Head_C2.top;x=Head_C2.gro;site=H1:21-22;resname=HDM;comment=H as head" --savelib
ztop.py -f "T;p=Tail_C2.top;x=Tail_C2.gro;site=T2:21-20;resname=TLM;comment=T as tail" --savelib
ztop.py -f "M;p=Monomer_C2.top;x=Monomer_C2.gro;site=M11:8-7,M22:28-29;resname=MOM;comment=M as monomer" --savelib

上述命令执行完均无报错,检查片段库内容为:
(ztop) zyyang@zyyang:~/Desktop/Polymer/C2/FF$ ztop.py --loadlib
Generating graph of Head_C2 ... Graph of whole structure generated
Type 1: C17H18N4O7 X 1
Graph generation took 0.007 seconds
Fragment C8H9N2O3 with 1 sites (H1) obtained by breaking bond
H1 cut:21-22(N-C) rm:C9H9N2O4
Generating graph of Monomer_C2 ... Graph of whole structure generated
Type 1: C21H21N5O8 X 1
Graph generation took 0.007 seconds
Fragment C8H8N2O3 with 2 sites (M11,M22) obtained by breaking bond
M11 cut:8-7(C-N) rm:C7H9N2O2
M22 cut:28-29(N-C) rm:C6H4N1O3
Generating graph of Tail_C2 ... Graph of whole structure generated
Type 1: C18H23N5O6 X 1
Graph generation took 0.005 seconds
Fragment C8H9N2O3 with 1 sites (T2) obtained by breaking bond
T2 cut:21-20(C-N) rm:C10H14N3O3
Fragments in the lib:
label   formula                 sites      comment
    H  C8H9N2O3              H1:N2-C2    H as head
    M  C8H8N2O3  M11:C2-N2, M22:N2-C2 M as monomer
    T  C8H9N2O3              T2:C2-N2    T as tail

但是我在运行最后生成的命令时:
ztop.py --loadlib -b H[M]10T -o poly_C2.top,poly_C2.pdb

显示:
Fragments in the lib:
label   formula                 sites      comment
    T  C8H9N2O3              T2:C2-N2    T as tail
    M  C8H8N2O3  M11:C2-N2, M22:N2-C2 M as monomer
    H  C8H9N2O3              H1:N2-C2    H as head
site-pair to connect is H1-M11, Left site: M22_1
Warning! BOND FORCE CONSTANT discrepancy 400.100 vs 316.820
site-pair to connect is M22_1-M22, Left site: M11_2
site-pair to connect is M11_2-M11, Left site: M22_3
site-pair to connect is M22_3-M22, Left site: M11_4
site-pair to connect is M11_4-M11, Left site: M22_5
site-pair to connect is M22_5-M22, Left site: M11_6
site-pair to connect is M11_6-M11, Left site: M22_7
site-pair to connect is M22_7-M22, Left site: M11_8
site-pair to connect is M11_8-M11, Left site: M22_9
site-pair to connect is M22_9-M22, Left site: M11_10
Error! Could not find site to join

我认为是在构建高分子最后没有位点再去链接尾部单体了,然后我排出尾部单体,运行如下命令:
ztop.py --loadlib -b H[M]10 -o poly_C2.top,poly_C2.pdb
发现生成出来高分子单体方向比较混乱,不是按照H1-M11-M22-M11-M22....这样的顺序连接的,
而是:H1-M11-M22-M22-M11-M11-M22.....这种方式连接的。

请问钟老师这种问题怎么解决呢?我觉得我还是对于site的命名规则理解不够深入,忘老师答疑解惑,谢谢您

结构图.png (97.18 KB, 下载次数 Times of downloads: 2)

结构图.png

910

帖子

37

威望

5597

eV
积分
7247

Level 6 (一方通行)

53#
 楼主 Author| 发表于 Post on 2026-6-16 10:24:39 | 只看该作者 Only view this author
本帖最后由 ggdh 于 2026-6-16 10:26 编辑

你要重新命名一下位点
M的site位点 名称改成M1H 和M1T
然后H和T的位点名称分别是H1T 和T1H
逻辑就是1和1可以连
但是1H会避免和1T连
这时候H[M2]T的连接逻辑是
H1T先连M1H
M1T连第二个M片段的M1H
第二个M片段的M1T连T1H

本版积分规则 Credits rule

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

GMT+8, 2026-7-25 08:31 , Processed in 0.211938 second(s), 22 queries , Gzip On.

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