- 2018-05-09 17:57:54
在输出二维矩阵数据时, GROMACS经常会使用xpm格式的文件. 虽然这种格式的文件可以使用xpm2ps
转换为ps图片格式之后再查看, 但终究多了一步命令, 不甚方便. 我们需要找到一种方法, 直接双击就能查看xpm文件, 和查看其他图片格式一样.
xpm是一种图片格式, 有些图片查看程序是支持这种格式的, 比如我这里要使用的irfanview. 但GROMACS给出的xpm格式中多出了很多用于作图的注释, 这会导致irfanview识别出错, 所以我们要做的就是将这些注释删除, 然后用irfanview查看. 这是很容易的事情, 简单的几句bash脚本就够了, 还不值得单独成文. 所以我这里要分享的脚本, 除了最基本的查看功能外, 还有另外两个功能:
- 改变数据的颜色映射方法, 共支持8中颜色映射方法, 具体说明见几种颜色映射方案的解析式
- 将xpm数据转换为xyz数据, 以便使用其他程序作图.
当然, 对第二个需求而言, 最直接的方法是直接让GROMACS输出原始数据. 但GROMACS的很多命令是没有这个选项的, 所以我们只得退而求其次, 从xpm中恢复原始数据. 这样得到的数据精度当然有限, 但用于作图的话, 还是够的.
脚本
使用的前提是安装好最基本的bash运行环境.
Windows下, 要想达到双击查看的目的, 还需要我们将xpm的打开方式更改为一个可执行程序. 这个可执行程序我们以一个批处理程序xpm.bat
来实现. 它所完成的功能就是调用bash脚本将GROMACS原始的xpm文件改变颜色映射方式, 再转换为irfanview可识别的临时文件, 然后使用irfanview打开, 最后删除临时文件. 使用时注意将irfanview的路径更改为你自己的路径.
示例
以gmx covar
输出的协方差矩阵来示例吧. 下图中第一个是GROMACS默认的蓝白颜色映射, 后面是5种不同的彩虹颜色映射. 最后一行中的第一个是python默认的viridis, 第二个是matlab默认的parula, 第三个是目前文献中常用的Diverging-CoolWarm. 根据需要选用.