|
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. 根据需要选用.