本篇教程就让我们来学习如何绘制右图这种“对称散点图”,展示组间差异基因表达格局。
示例文件“gene_diff.txt”是一组基因差异表达分析结果,记录了处理组(treat)和对照组(control)间表达显著不一致的基因,鉴定标准为p<0.01以及|log2 Fold Change|≥1。
其中,gene_id为基因名称;control和treat代表了两组中基因的平均表达值;log2FoldChange即log2转化后的基因表达差异倍数;pvalue是差异基因显著性p值;diff为根据p<0.01以及|log2 Fold Change|≥1筛选的差异基因,该列中“up”为上调,“down”为下调,“none”为非差异基因。
接下来通过该示例文件,展示使用R语言绘制差异基因表达“对称散点图”过程。
首先对数据做一些预处理。
例如,基因表达值数量级相差过大,取个对数转换;基因名称按是否为差异基因作个排序,避免后续作图时被不显著的基因点遮盖,即排序的目的是让这些显著基因的点都位于图的上方。
下来就可以使用预处理后的数据作图了。
第一种类型是将基因按上调、下调或不显著类型着色,便于从图中辨认差异基因。我们使用ggplot2的方法绘制差异基因散点图。
两个坐标轴分别代表了处理组(treat)和对照组(control),图中的点代表各基因在两组中的平均表达值(已经作了log转换)。treat组和control组相比,上调基因以红色表示,下调基因以绿色表示。图中的虚线代表了|log2FC|=1时的阈值线。
在该图中,我们可以很轻松地观察差异基因整体分布状态和数量比较的信息。
上图中没有将p值信息展示出。因此另一种思路是,颜色代表p值,这样就可以在图中获得一个渐变梯度。同样使用ggplot2的方法绘制,和上述过程相比仅在颜色指定上存在区别。
类似上图,两个坐标轴分别代表了处理组(treat)和对照组(control),图中的点代表各基因在两组中的平均表达值(已经作了log转换),图中的虚线代表了|log2FC|=1时的阈值线。
和上图不同点在于,此时基因按显著性p值着色,从不显著>显著展示以蓝色>红色渐变,就获得了一种梯度信息。这样可以很方便地看出,在两组中的表达值差异越大的基因,p值越小,二者趋势是一致的,重在描述了差异倍数和p值的关系。
R语言有着很强大的画图功能。我们可以从下面的语句中得到
1、绘画函数
高级画图功能(创建一个新的图形)
低级绘图函数(在现有的图形上添加元素)
2、绘图参数介绍
高级绘图函数共同参数选项:
其它常用绘图参数(可以使用help(par)查看)
3、画图面板分割
在一个面板中画多张图
(1)、par中参数mfrow和mfcol
(2)、ayout函数
生成复杂的图形排列
(3)、其它函数
在一个面板中画多张图
4.图形保存
(1)输出到屏幕
windows, X11
(2)输出到文件
df , postscript , xfig, bitmap, pictex, cairo_pdf, svg, png, jpeg, bmp, tiff
通过菜单命令保存图形