主讲老师第二十三课:基础包结合 beeswarm 包绘制之 Figure6接下来,我们再来简单介绍两个使用基础包结合 beeswarm 包绘制文章中图 6A 和 6B的内容(Figure6.zip),当然,另外还会介绍一下如何使用 ggplot2 进行绘制。这里,需要准备 一 份 输 入 文件,就是数据下载和整理时候得到的肿瘤和癌旁组织的表达文件(tpms_mrna_tumor_normal.txt),下面,我们来看下整个的绘图过程。
1.R 包与数据的准备
1.1 R 包的安装与读取
对于 beeswarm 包的安装,直接使用命令 install.packages("beeswarm")即可完成,安装完成后,将这个包读取进来
1.2 数据的读取
将 TCGA-LUAD 数据下载整理后的输出结果读取进来。
可以看到,其中有 577 例样品,然后,对目标基因 BTK 分子也单独设置一下变量
2.提取肿瘤以及癌旁的表达
2.1 取出肿瘤以及癌旁样本
根据名字的第 14 到 16 位内容,进行分类,当然,对于肿瘤组织部分,我们也可以把代码修改为非11A。
结果显示:其中,肿瘤样品 519 例,正常样品 58 例。
2.2 取出对应基因的对应表达(表达谱对数化)
注意,我们这里的表达值使用的都是 TPM 值,接着,将表达量进行对数化转换。
2.3 统计检验
分别得到了癌和癌旁的表达以后,我们首先进行 wilcox.test 检验同时,把 p 值转换为文章图中的形式。
可以看到,根据统计结果,癌和癌旁中,BTK 基因的表达具有显著的差异。
3.绘制箱型点图
然后,我们开始绘制箱线图。
首先,我们来获得该基因在癌和癌旁组织中的表达值范围,以便于后期对 y 轴范围的设定。
随后,把癌和癌旁的表达汇合到同一个数据框里,生成一个长数据框。
同时对组织类型进行注释,这样更加符合我们的作图习惯然后,我们铺开一个新的画板,使用 beeswarm()函数把数据点绘制到图中。
但是,光有点还是比较丑的,我们需要在外面增加一个箱子,还是使用 boxplot()函数来进行添加。
最后,使用文本函数 text()函数把 p 值添加到图中。
4.配对组织图
前面,我们绘制的是整体癌组织和癌旁组织中 BTK 基因的表达情况,但是,在 TCGA数据库中,是存在配对组织的,接下来,我们需要绘制配对组织的表达图。绘图前,我们需要先找到哪些组织之间存在配对关系根据 TCGA 名字的前 12 位一样的内容,来进行寻找匹配。
最终,一共得到了 56 个配对组织。
接着,我们需要把配对组织的后缀进行补齐,在其后面分别加上 01A 或者 11A,使其名字符合 TCGA 的命名规则。
根据这个名字,对数据框取子集,取出对应基因的表达同样的,我们需要进行统计分析,注意,这里需要使用参数 paired = T ,表示使用配对分析。
结果显示,P 小于 0.001。在配对的癌和癌旁组织中,BTK 基因的表达值同样存在显著性差异。然后,我们将数据进行可视化,这里,对于配对组织,我们需要绘制点线图。
在获取了 y 轴的范围后,新建一个画板。
然后从 y 轴,整个图形的框,到 x 轴的标签,整个搭建图形的框架接着,根据配对组织之间的相互关系,在 Normal 和 Tumor 之间搭建线条。
然后,我们在线条的两端,添加相应的圆。
这样,和文章里的类似,点线图基本成型,最后,我们把 p 值添加进去。
当然,对于点线图,除了基础包外,还可以使用 ggplot2 来进行绘制。
5.使用 ggplot2 包绘图
5.1 数据集准备
首先,根据表达情况构建数据框,用于后续的绘图。
5.2 加载 R 包
加载 ggplot2 和 reshape2 包,分别用于绘图和数据格式的转换。
5.3 绘图
首先我们将原始的宽数据变成长数据,以便于作为绘图的输入数据,随后,使用 ggplot()函数进行图形的绘制整个点线图就快速完成了,相比基础包来说,整个绘制方法简单了很多,好啦,关于绘图部分就基本介绍到这里了。