技术讲座

如何使用HEML自己动手做聚类图

来源:小博发布时间:2016-08-10


HemI软件是由华中科技大学薛宇教授组开发的一款简单易用的画heatmap的软件。

首先需要做一点准备工作:
首先,确保你要有一台电脑,并且电脑上要安装Java 1.6或更高的版本;
然后大家可以到这个网址(http://hemi.biocuckoo.org/down.php)下载HemI软件,分为普通版和高清版。HemI是一款多平台软件,大家可以按照自己电脑系统的实际情况选择Windows、Linux 或Mac OS X安装版本,注意要选择你的系统架构是x86还是x64的哦。

安装完毕以后,还要准备一份用于做图的数据,可以是txt或者xls、csv格式的文件。

在这里为大家提供了一份HemI win_x64的安装包和demo数据以及使用手册,网盘地址是 http://pan.baidu.com/s/1kVH91EB 。这份demo数据是经过log2转换的microRNA表达数据,对于未转换的数据我们加载后可以设置,下面会详细说。
 
使用HemI软件前请大家默念一句口诀:所见即所得,刷新才会变。
也就是说,无论我们调整了做图时的什么参数,都要点击软件界面右下部分的【REFRESH】按钮才能刷新显示我们更改的效果,而当你得到满意图像后直接输出就是图像的原貌了。
现在我们一步步来看软件如何使用。
打开软件后界面如图【1】

 
中间部分为绘图区,下侧为五类参数的调整设置栏,分别对应①画布大小;②画布边缘的空间大小(聚类树及样本名称等都显示在这里);③X/Y轴的位置及字体修改;④是否在行/列部分显示聚类树;⑤画布区域的旋转角度等设定。
然后就可以加载我们要做图的数据进去了,选择右侧的【LOAD】,再打开我们的数据文件,选择我们要做图的数据区域,注意是数据区域哦,就是全都是数值的那个部分,并且这部分要求是连续的不能被一些行或列打断才好。按住【shift】键同时点击我们要选的数据框的最左上和最右下单元格就可以全选整个区域了,这点和我们在Excel或者网页表格里等的做法是一样的。
图【2】就是一个展示了,最下面可以选择X、Y轴的标题是否一同加载,以及对于空值我们在图上用什么颜色来表示。最后,点击【Finish】结束输入。

如图【3】,现在就是一份heatmap图了,现在我们需要对其进行一些修改。

再次提醒:任何修改后都要击软件界面右下部分的【REFRESH】按钮才能刷新显示我们的修改效果哦!
我们同时修改三部分内容:
①我们选中下方【Clustering】的Column、Row给图片添加聚类树;
②同时我们也注意到图片左边部分microRNA名称没有显示全,我们可以通过修改【Space(Pixel)】里的参数Left 120→150来让左边空间增加,显示全部microRNA名称
③我们想把图片最上方的样本名称放到下面来,选择【Note】里X-Axis项Top→Bottem,同时对字体进行修改,点击【Font】,选择字体为Times New Roman,并且字形为斜体。
Ok,现在我们来刷新一下,显示我们修改后的图片是什么样子的。
【图4】

现在,我们进行更进一步的美化,把图形色阶换成我们想要的样子——其实是我想要的的样子才对。点击右侧【Set】,在弹出的选项卡里可以按照数值排序分别选择渐变色,或者直接用一些预设好的色阶,在选项卡的右下角【Default】里,我这里选择了default 2,色阶选项卡和最新的显示效果如图【5】和【6】。
 

 
 

现在我们再看一下最上方菜单栏的内容,先看【Option】,里面包括了三项:
①Statistics,统计项,我们在这里可以选择聚类算法(Pearson还是Euclidean还是其他),以及我们的数据是否要进行Log2转换等,这部分更多是数学方面内容,rwzx我就不赘述了嗯。
②Note,坐标区域颜色设置项,我们可以在这里分别设置每一个样本或microRNA的颜色,比如我想突出显示miR-940,并把每一组样本分别用一类颜色表示,设置方式和效果如图【7】

③Bar,色阶项,对于【Set】菜单里的颜色设置还是不满意就可以到这里来具体选择。
 
得到了满意的图片,我们就可以把它输出了,选择菜单栏【File】→【Export Image】,可以设置输出图片的尺寸和像素清晰度,对于低像素的可以选择png、jpg和tiff格式的输出,而对于高像素的只能输出为tiff格式。

同时,我们还可以用【save】命令来把这次做图保存为一个.xml格式的工程文件,下次想修改时直接用【LOAD】菜单里的选项加载这个xml文件就可以了。
 
现在,动手吧,五分钟后,你就变成做图高手了!
 
不过最后还是友情提示一下:对于大量的数据做图是很耗费资源的,具体取决于你的计算机的内存等条件,要是遇到这种情况需要耐心地等待一段时间嗯,具体消耗的时间我也没做过太多的测试。
 
今天的分享就到这里了,谢谢大家的关注,下次内容更精彩哦!

(中康博小强原创)