计算化学公社

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

[程序/脚本开发] XVG2Origin:让Origin读取xvg文件

[复制链接 Copy URL]

45

帖子

4

威望

1082

eV
积分
1207

Level 4 (黑子)

跳转到指定楼层 Go to specific reply
楼主
本帖最后由 Kamistry 于 2025-5-14 23:22 编辑

XVG2Origin: 让Origin读取xvg文件
关于
Author: Zihan Lin @ USTC (Kamistry @ 计算化学公社)
这是一个将Gromacs生成的xvg文件转为Origin可读文件的脚本,搭配提供的Origin Filter (XVG4Origin.oif)即可快速将变量名称、单位以及数据导入OriginPro。
在使用本脚本进行科学研究,研究结果发表时,如若能正确引用,笔者将万分感激!

xvg2origin.py (5.06 KB, 下载次数 Times of downloads: 21) XVG4Origin.oif (4.78 KB, 下载次数 Times of downloads: 18)

需求
Python 3.x (Python 2.x可能可以用,但不排除之后增加的功能不支持2.x)

使用方法
  1. python3 xvg2origin.py [-s|--simple] [-q] INPUT [OUTPUT]
复制代码
你还可以直接给予脚本运行权限,这样就能直接运行(无需加上python3)。

你可以自定义输入和输出文件名。 对于输入文件,一般为Gromacs创建的.xvg文件;输出文件名称任意。 如果输出文件名被省略,则程序自动将输入文件后缀名由.xvg更改为.oxvg(一般模式)或.txt(Simple模式)作为输出文件名(对于其他后缀名,则直接在后面加上)。在一般模式中,第一行是提取的变量名称,对应Origin中的Long name,第二行是单位。在Simple模式下只有数据,可用于其他程序的输入文件。


导入Origin时,打开Import Wizard,选择一般模式输出的文件,并记得在Import Filter选择XVG4Origin.oif,没有其他更改的话可以直接点击Finish。


注意随着脚本的更新,Filter也会同步更新,记得保持版本同步。




这样就导入成功了。


目前测试过多个Gromacs的输出,但测试可能存在遗漏,如果有哪个xvg读取失败,希望大家能以附件形式发送(数据可以删除只剩2行),我会尝试修复bug。

附:命令行参数如下
  1. Author: Zihan Lin @ USTC (Kamistry @ bbs.keinsci.com)

  2. Usage: xvg2origin.py [-s|--simple] [-q] INPUT [OUTPUT]

  3. Convert GROMACS xvg file to the file that can be read by OriginPro. If OUTPUT
  4. is not specified, the output filename is the input filename with '.oxvg' or
  5. '.txt' appended.

  6. Options:
  7.   --version     show program's version number and exit
  8.   -h, --help    show this help message and exit
  9.   -s, --simple  Simple mode. This means that the output file only contains
  10.                 data.
  11.   -q, --quiet   Don't print any messages.
复制代码





评分 Rate

参与人数
Participants 4
威望 +1 eV +11 收起 理由
Reason
devilove + 5 好物!
sarphuart + 1 好物!
zsu007 + 5 谢谢分享
sobereva + 1

查看全部评分 View all ratings

166

帖子

0

威望

3347

eV
积分
3513

Level 5 (御坂)

6#
发表于 Post on 2025-6-1 01:27:55 | 只看该作者 Only view this author
最近运行py脚本,出现如下报错,发现是python版本低于3.10.升级后没有报错

Traceback (most recent call last):
  File "xvg2origin.py", line 36, in <module>
    def xvg2origin(intput_filename: str, output_filename: str | None = None, *, simple: bool = False, verbose: bool = True):
TypeError: unsupported operand type(s) for |: 'type' and 'NoneType'

166

帖子

0

威望

3347

eV
积分
3513

Level 5 (御坂)

5#
发表于 Post on 2025-5-15 03:23:10 | 只看该作者 Only view this author
本帖最后由 neocc 于 2025-5-15 03:24 编辑

origin9.0亲测可以用,把转换后的oxvg文件和XVG4Origin.oif文件放在一个文件夹中,import wizard选好oxvg文件后自动选择了XVG4Origin格式,一路NEXT就行

45

帖子

4

威望

1082

eV
积分
1207

Level 4 (黑子)

4#
 楼主 Author| 发表于 Post on 2025-5-14 23:20:24 | 只看该作者 Only view this author
neocc 发表于 2025-5-14 21:44
origin9.0版本可以用吗

我用的是2023,你可以试试旧版本能否使用。Origin9是2012年的东西,一般还是建议尽量用新的。

166

帖子

0

威望

3347

eV
积分
3513

Level 5 (御坂)

3#
发表于 Post on 2025-5-14 21:44:46 | 只看该作者 Only view this author
origin9.0版本可以用吗

45

帖子

4

威望

1082

eV
积分
1207

Level 4 (黑子)

2#
 楼主 Author| 发表于 Post on 2025-5-14 00:57:06 | 只看该作者 Only view this author
(此楼留着做以后的更新说明)

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

GMT+8, 2025-8-13 06:32 , Processed in 0.230779 second(s), 25 queries , Gzip On.

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