绘制有填色效果的用于弱相互作用分析的RDG散点图的方法

绘制有填色效果的用于弱相互作用分析的RDG散点图的方法

文/Sobereva @北京科音  2017-Dec-17


杨伟涛等人2010年在JACS提出的用于分析弱相互作用的RDG方法(文献中普遍叫NCI方法)已被广泛用于考察各种分子间/分子内弱相互作用了,笔者也写过不少相关文章,不了解此方法的务必先看《使用Multiwfn图形化研究弱相互作用》(http://sobereva.com/68)、《使用Multiwfn研究分子动力学中的弱相互作用》(http://sobereva.com/186)。能做RDG分析的程序不少,Multiwfn(http://sobereva.com/multiwfn)是其中最流行、最强大、最好用的。在上面的博文里已经介绍了怎么在Multiwfn中直接绘制RDG vs sign(lambda2)rho的散点图来考察弱相互作用。一些人在一些文章里看到这种散点图还加上了填色效果,可以使得对应不同横坐标的spike的颜色一目了然,便于与Multiwfn+VMD绘制的RDG填色图相对应来讨论问题。其实这种图稍有photoshop使用技能的人都可以不太困难地作出来,就是把VMD的色彩刻度条在ps里拉伸成与散点图作图范围相同的大小,垫在Multiwfn给出的散点图下方的图层,然后再把散点图的图层当中作图区域的黑色部分以色彩范围选择方式选中,删除,透出来下层的色彩刻度层即可。不过肯定有不少人嫌这种做法麻烦,此文介绍一种利用gnuplot程序的简单快捷的方法绘制这种填色RDG散点图。

本文使用Multiwfn 3.5(dev)版,这里用通过苯酚二聚体来示例,相应的波函数文件是Multiwfn目录下的PhenolDimer.wfn。

启动Multiwfn,依次输入以下命令,让Multiwfn把此体系的RDG vs sign(lambda2)rho的散点数据导出到当前目录下的output.txt中。
100
1
15,13
-10
0
2

得到的output.txt文件有5列,最后两列是被作为散点图的x,y数据。故用Ultraedit等程序,通过列模式把所有行的前三列都删掉。如果在Linux中,也可以将下面这行复制到命令行窗口运行,则当前目录下的output.txt就只剩最后两列数据了。
cut -c 34-66 output.txt > t.txt;mv t.txt output.txt -f

gnuplot是个免费的轻量级的基于命令行的数据作图程序,各种系统都支持,可以在这里下载:http://www.gnuplot.info。本文用的是gnuplot 5.2.2 Windows版。将处理好的output.txt放到gnuplot目录下的bin目录下,然后将RDGmap.gnu(下载:RDGmap.rar)这个绘图脚本也拷到此目录下。开启操作系统的命令行模式并进入此目录,运行命令gnuplot RDGmap.gnu(对于Windows用户,这一步不知道怎么弄的话直接把RDGmap.gnu拖到gnuplot.exe图标上也行),就会在当前目录下产生RDGmap.ps,这就是填色散点图的postscript格式的文件了。这是一种矢量图形格式,可无损缩放,很多程序都可以查看。比如可以直接用acrobat打开,打开后可以无损缩放。也可以用photoshop打开,打开的时候可以选择产生像素为多大的图片。如果机子里装了ghostscript程序,也可以用小巧且强大的看图程序irfanview观看。效果如下:


RDGmap.gnu脚本里有很多参数可以设定,比较关键的参数就是X,Y轴以及色彩刻度轴的上下限(x/y/cbrange后面的值)、标签的数值范围和步长(x/y/cbtic后面的值)、散点的大小(pointsize后面的值),以及色彩刻度的定义。笔者习惯在VMD中用-0.035~0.02来对RDG等值面着色,色彩刻度是默认的蓝-绿-红,因此脚本中可以看到这样的设定
set palette defined (-0.035 "blue",-0.0075 "green", 0.02 "red")

如果要把填色的散点图与VMD绘制的填色的RDG等值面图相对照,则二者色彩刻度设定必须严格一致。比如在Multiwfn目录下的examples\RDGfill.vmd文件就是VMD里绘制填色等值面图的脚本,这里面mol scaleminmax top 1那一行后面的值应该设为0.035 0.02才能与上图来对照。在这种色彩刻度下绘制的苯酚二聚体的RDG填色图如下所示,很明显散点图上各个spike位置和RDG填色图上的等值面通过颜色很容易进行一一对应。

评论已关闭