计算化学公社

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

[程序/脚本开发] venus2gro: VENUS96 轨迹 → 多帧 gro 文件

[复制链接 Copy URL]

81

帖子

7

威望

2332

eV
积分
2553

Level 5 (御坂)

本帖最后由 mizu-bai 于 2024-1-8 16:17 编辑

venus2gro: VENUS96 轨迹 → 多帧 gro 文件
mizu-bai
2023-11-09

一、简介

笔者课题组一直用 VENUS96 跑 QCT,之前都是直接改 VENUS96 的源码把坐标打印出来保存成多帧的 xyz 文件,改那个 FORTRAN77 代码挺折寿的。最近笔者出于一些目的需要把 VENUS96 跑的轨迹扔给 GROMACS 续跑,以及方便可视化与分析,写了这个 venus2gro 的脚本。代码已在 GitHub 以 BSD-2-Clause 协议开源,仓库地址 https://github.com/CQPES/venus2gro欢迎 star, fork, issue, pr。

二、使用方法

先确保装好了 Python 与 numpy,其中 Python 版本至少要 3.7 及以上,推荐 3.9。先看一下 help 文档:
  1. $ python3 venus2gro.py -h
  2. usage: venus2gro.py [-h] -v VENUS -g GRO [-o OUTPUT] [-r REORDER] [--no-split]

  3. Convert trajectory in VENUS96 output to gro format with coordinates and velocities included.

  4. optional arguments:
  5.   -h, --help            show this help message and exit
  6.   -v VENUS, --venus VENUS
  7.                         VENUS96 output file
  8.   -g GRO, --gro GRO     Template gro file (optional)
  9.   -o OUTPUT, --output OUTPUT
  10.                         Output gro file (optional, defaults to traj_idx.gro)
  11.   -r REORDER, --reorder REORDER
  12.                         Reorder map (optional)
  13.   --no-split            If specified, write all trajectories in one file. (optional)
复制代码
1. 选项 -v 或 --venus 指定 VENUS96 的输出文件;
2. 选项 -g 或 --gro 选择拿来当模板的 gro 文件,因为 VENUS96 输出里只有坐标和动量,所以需要从这里读残基和原子的相关信息;
3. 选项 -o 或 --output 指定输出文件的名字,不指定默认为 traj.out,如果有多条轨线,会输出为 traj_0.gro, traj_1.gro, ...
4. 选项 -r 或 --reorder 指定重新排序原子文件,如果不需要重新排序使 VENUS96 里的原子顺序与模板 gro 文件里的一致,就不用指定。如果 VENUS96 中 CH4 分子的顺序是 H H H H C,模板 gro 文件里的是 C H H H H,这个文件里就写 5 1 2 3 4,一行只写一个,即 VENUS96 中的第 5 个原子在第 1 行,映射到模板 gro 文件中的第 1 个原子;
5. 选项 --no-split 指定不拆分轨迹,把所有 VENUS96 跑出来的轨迹写到一个文件里去。

三、例子

压缩包(其实就是打包好的 GitHub 仓库)里有个 example 文件夹,里面有这几个文件:

1. ch4.dt5 这是 VENUS96 的输入文件,里面定义了跑 5 条轨线,每个轨线跑 50,000 步,时间步长 0.1 fs;
2. ch4.out 这是 VENUS96 的输出文件,里面有 5 条轨线的速度和动量,等下要提取出来;
3. template.gro 模板 gro 文件,里面的坐标用不到,如果写了速度也用不到。
4. reorder.txt 重新排序用的索引文件,VENUS96 里的原子顺序是 H H H H C,模板 gro 文件里的 C H H H H。

运行如下命令,就可以得到 5 个 ch4_traj_序号.gro 文件,可以直接用 VMD 或者 PyMOL 打开来看,拿来分析。
  1. $ python3 ../src/venus2gro.py -v ch4.out -g template.gro -o ch4_traj.gro -r reorder.txt
复制代码

这是 VENUS96 输出文件的画风


转成 gro 文件(只看第 1 条轨线)


PyMOL 也能正常打开


四、参考

(1) Hase, W. L.; Duchovic, R. J.; Hu, X.; Komornicki, A.; Lim, K. F.; Lu, D.-H.; Peslherbe, G. H.; Swamy, K. N.; Vande Linde, S. R.; Varandas, A., Wang, H.; Wolf, R. J. VENUS96: A general chemical dynamics computer program, Quantum Chemical Program Exchange (QCPE) Bulletin, 1996, 16 (4), 671. https://www.depts.ttu.edu/chemistry/Venus/index.php
(2) Abraham, M. J.; Murtola, T.; Schulz, R.; Páll, S.; Smith, J. C.; Hess, B.; Lindahl, E. GROMACS: High Performance Molecular Simulations through Multi-Level Parallelism from Laptops to Supercomputers. SoftwareX 2015, 1–2, 19–25. https://doi.org/10.1016/j.softx.2015.06.001.

venus2gro-0.1.tar.gz (642.98 KB, 下载次数 Times of downloads: 19)


评分 Rate

参与人数
Participants 5
威望 +1 eV +14 收起 理由
Reason
PESPES + 5 好物!
zjxitcc + 1 精品内容
sobereva + 1
lyj714 + 4 欢迎讨论
MinatoSana + 4 好物!

查看全部评分 View all ratings

143

帖子

0

威望

1550

eV
积分
1693

Level 5 (御坂)

9#
发表于 Post on 2024-2-28 19:41:04 | 只看该作者 Only view this author
mizu-bai 发表于 2024-2-28 10:23
要么压缩后上传,要么你直接发我邮箱也行

我尝试跟着example里面的out文件修改我的out文件格式,可以正常运行了,谢谢您

81

帖子

7

威望

2332

eV
积分
2553

Level 5 (御坂)

8#
 楼主 Author| 发表于 Post on 2024-2-28 10:23:02 | 只看该作者 Only view this author
小西瓜123 发表于 2024-2-27 16:19
您好,我用组里老师自己修改的venus跑了一个A+B=C+D的反应,用您的脚本报错‘ValueError: invalid literal  ...

要么压缩后上传,要么你直接发我邮箱也行

143

帖子

0

威望

1550

eV
积分
1693

Level 5 (御坂)

7#
发表于 Post on 2024-2-27 16:19:03 | 只看该作者 Only view this author
您好,我用组里老师自己修改的venus跑了一个A+B=C+D的反应,用您的脚本报错‘ValueError: invalid literal for int() with base 10: 'FOR'’ 和example里的文件对照发现example里面是一个分子的振动,请问这种情况应该怎么处理呢?out文件太大了,没法上传

81

帖子

7

威望

2332

eV
积分
2553

Level 5 (御坂)

6#
 楼主 Author| 发表于 Post on 2024-2-21 17:56:27 | 只看该作者 Only view this author
PESPES 发表于 2024-2-21 15:49
输出文件发到您的邮箱里了:  您试一下能转化么?

可以正常转换,已经打包好回复了

105

帖子

0

威望

1113

eV
积分
1218

Level 4 (黑子)

5#
发表于 Post on 2024-2-21 15:49:58 | 只看该作者 Only view this author
mizu-bai 发表于 2024-2-21 10:27
请问初始文件是指哪个呢,似乎 VENUS96 输入文件里是不带元素符号的,如果方面的话可以借一下文件 debug  ...

输出文件发到您的邮箱里了:shiragawa4519@outlook.com  您试一下能转化么?

81

帖子

7

威望

2332

eV
积分
2553

Level 5 (御坂)

4#
 楼主 Author| 发表于 Post on 2024-2-21 10:27:00 | 只看该作者 Only view this author
PESPES 发表于 2024-2-21 09:42
如果初始文件里的元素符号是两位的话,例如Cl,I这种情况,无法成功转化。

请问初始文件是指哪个呢,似乎 VENUS96 输入文件里是不带元素符号的,如果方面的话可以借一下文件 debug 吗?另外 venus2gro 已经重构为 venus-trjconv 了,可以在 https://github.com/mizu-bai/venus-trjconv 下载。

105

帖子

0

威望

1113

eV
积分
1218

Level 4 (黑子)

3#
发表于 Post on 2024-2-21 09:42:39 | 只看该作者 Only view this author
如果初始文件里的元素符号是两位的话,例如Cl,I这种情况,无法成功转化。

389

帖子

1

威望

4828

eV
积分
5237

Level 6 (一方通行)

2#
发表于 Post on 2023-11-9 11:45:32 | 只看该作者 Only view this author
四国也。

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

GMT+8, 2025-8-14 13:21 , Processed in 0.188407 second(s), 25 queries , Gzip On.

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