计算化学公社

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

[辅助/分析程序] 提取单帧xyz文件中片段坐标和分裂多帧xyz文件的py脚本

[复制链接 Copy URL]

1102

帖子

18

威望

6703

eV
积分
8165

Level 6 (一方通行)

計算化学の社畜

本帖最后由 冰释之川 于 2020-5-9 09:02 编辑

最近手头有一批复合物体系需要利用xtb软件计算其吸附质与吸附剂之间的相互作用能,这就需要复合物、吸附质与吸附剂三者的坐标文件(*.xyz)。为了能够快速的从复合物坐标中分别提取出吸附质与吸附剂坐标,靠手动一个个复制粘贴是一件很枯燥的事情,因而我写了一个从复合物xyz坐标文件中提取片段坐标的py脚本,从而避免不必要的重复劳作,大幅提升工作效率。

值得注意的是,本脚本中的“r”选项可以选择所有残余的原子标号,这对拆分相同原子数的吸附剂但是吸附质原子数各异的一大批复合体系来说方便不少。

举个例子:
1.xyz文件中1-50号原子属于吸附剂,51-60号原子属于吸附质;
2.xyz文件中1-50号原子属于吸附剂,51-80号原子属于吸附质;
为了能够一键提取这两个体系的吸附质与吸附剂坐标,第一个片段我们照常输入"1-50"选择所有的吸附剂原子;
而对于第二片段,我们可以直接输入"r",让脚本自动计算剩余未选择的原子的编号并将其归为吸附质原子。

下载地址见附件
XYZ_Coordinate_Extraction.7z (1.63 KB, 下载次数 Times of downloads: 68)
Multiple_XYZ_Split.py.7z (925 Bytes, 下载次数 Times of downloads: 87)

具体使用方法:
(1) 把XYZ_Coordinate_Extraction.py脚本放到工作目录下
(2) 用./命令 运行之
(3) 脚本会深度遍历该目录下所有的子目录,并处理目标文件。


分裂多帧xyz文件的Multiple_XYZ_Split.py脚本的使用方法:

  1. ./Multiple_XYZ_Split.py test.xyz
复制代码


P.s. 分离后的*.xyz文件还能借助Multiwfn和《批量转换量子化学软件I/O文件》(http://bbs.keinsci.com/thread-16231-1-1.html)中的脚本,从而一键转换成不同的量子化学软件输入文件。


评分 Rate

参与人数
Participants 3
eV +15 收起 理由
Reason
Novice + 5 好物!
snljty + 5 冰冰姐总是这么无私
zsu007 + 5 牛!

查看全部评分 View all ratings

Stand on the shoulders of giants

369

帖子

1

威望

7869

eV
积分
8258

Level 6 (一方通行)

2#
发表于 Post on 2020-5-5 18:57:53 | 只看该作者 Only view this author
好物,谢谢分享!

本版积分规则 Credits rule

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

GMT+8, 2026-2-19 02:57 , Processed in 0.267270 second(s), 26 queries , Gzip On.

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