计算化学公社
标题:
批量转换指定路径轨迹文件为traj.xyz的小脚本
[打印本页]
作者Author:
student0618
时间:
2025-10-21 22:36
标题:
批量转换指定路径轨迹文件为traj.xyz的小脚本
本帖最后由 student0618 于 2025-10-24 16:13 编辑
0. 前言
最近需要批量进行几百个体系,含多于一个柔性分子的
团簇构型搜索和分子构象
搜索。由于已知特定要保留的相互作用,使用packmol建模后加了平底势用GROMACS跑、再转换成给Molclus用的traj.xyz。要在集群用VMD 转换几百个轨迹太麻烦,找grok辅助写了个python小脚本作批量处理,在此分享一下。
(, 下载次数 Times of downloads: 9)
上传 Uploaded
点击下载Click to download
1. 脚本框架
读取分别写有tpr文件路径及xtc文件路径的tprfiles.dat及xtcfiles.dat
检查两者是否一致
每一个tpr/xtc组合,用MDAnalysis加载拓朴及轨迹
让MDAnalysis从原子名猜元素名
让MDAnalysis将xyz轨迹写入tpr/xtc文件同一子目录的traj.xyz
2. 使用方法
2.1. 用Packmol建模、GROMACS跑模拟,具体模拟方法不是重点先跳过,有需要者请搜论坛相关帖文。重点是:
每个模拟请分开放一个自己的子目录。
为方便处理文件名最好统一。
轨迹先处理好,批量trjconv不难的。
2.2. 确保Python 3及MDAnalysis库已正确安装。
测试用版本为Linux中Conda环境的Python 3.12及MDAnalysis 2.7.0
2.3 生成xtcfiles.dat及tprfiles.dat:
示例中,所有的gmx tpr文件爲放在任何子目录的search.tpr,search.xtc爲任何子目录中已经处理好的xtc文件
find -name search.tpr > tprfiles.dat
find -name search.xtc > xtcfiles.dat
复制代码
关于拓朴及轨迹文件格式
除了tpr拓朴,也可以用e.g. pdb或gro拓朴,这在部分情况可能较方便。例如用显式溶剂时compressed-x-grps只输出团簇轨迹、可以直接用没加溶剂的pdb/gro当拓朴省去转换的步骤。不过跑gmx一定会用到tpr,所以示例就当是用真空跑的搜索直接用tpr。
理论上,这一个脚本可处理任何MDAnalysis支持的拓朴+轨迹组合而不用作任何修改,只需把拓朴路径连文件名放tprfiles.dat、轨迹路径连文件名放xtcfiles.dat。
运行脚本
python xtc2xyz.py
复制代码
进度会在Terminal输出。
成功后,各traj.xyz文件可以在tpr/xtc同一子目录找到。
3. 结语
以上分享了一个批量转换子目录中指定xtc轨迹爲traj.xyz的python脚本,希望可以帮到大家。如有问题请不吝指出。
4. 参考资料
使用molclus程序做团簇构型搜索和分子构象搜索
http://bbs.keinsci.com/thread-577-1-1.html
分子动力学初始结构构建程序Packmol的使用
http://bbs.keinsci.com/thread-12549-1-1.html
Windows系统Gromacs对有机小分子进行分子动力学构象搜索
http://bbs.keinsci.com/thread-41215-1-1.html
MDAnalysis 官网
https://www.mdanalysis.org/
5. 鸣谢
感谢Grok4辅助、写logging info及解决MDAnalysis 找不到tpr中element的问题。
6. 备注
6.1. 使用各程序需正确引用:
脚本调用MDAnalysis库需正确引用相关文章。
如果使用Packmol请正确引用相关文章。
如果使用GROMACS请正确引用相关文章。
后续使用Molclus及Multiwfn都要正确引用。
后续使用xtb/MOPAC/Orca/Gaussian都要正确引用。
6.2. 更新
(Oct 24, 2025)
其他格式: 测试了pdb及gro拓朴,补充用法后从备注移至正文。
欢迎光临 计算化学公社 (http://bbs.keinsci.com/)
Powered by Discuz! X3.3