欢迎光临散文网 会员登陆 & 注册

掌握ggplot2,轻松绘制基因区间长度图!——R语言实战

2023-07-19 11:28 作者:小云爱生信  | 我要投稿

尔云间  一个专门做科研的团队

欢迎点赞+收藏+关注

相信大家都对R语言中的ggplot2包有所了解,那么你们知道怎么通过ggplot2绘制基因组的各染色体上的区间类型分布图嘛?今天小果就来给大家演示一下!

数据集准备

在绘制之前,我们首先要准备要导入的数据集,我们可以根据自己的情况将各染色体上进行“分区”,并汇总成一个table文件,我们一起来看看小果准备的数据文件吧!


在这个数据集中,从左向右分别代表染色体编号、区域起点、区域终点、染色体名称、区域类型、区域长度、区域号。怎么样,你看懂了嘛?

导入数据集以及数据处理

首先,让我们看一下这段代码的作用。这段代码可以读取一个名为"newGeneArea-15.txt"的数据文件,并绘制出柱状图,其中每个柱子代表一段基因区域,横坐标表示基因所在的染色体编号,纵坐标表示基因区域的长度,不同颜色的柱子代表不同的基因分段类别,例如重要性高、中、低等。

下面,我将一步一步地为大家解释这段代码的实现过程。

1. 导入ggplot2包

library(ggplot2)

ggplot2是R语言中常用的可视化包,它提供了很多种图形类型和参数设置,可以用来绘制高质量的数据可视化图形哦。


2. 读取数据文件


3. 提取染色体号并加上"Chr"前缀


这行代码使用unique函数选出数据中唯一的染色体号,然后使用sprintf函数将它们转换为字符串,并在每个字符串前加上"Chr"前缀。这样做是为了后续用这些字符串来标记x轴。


4. 计算基因区域长度

这行代码将数据表a中的第6列设置为第3列减去第2列的差,进而得到每一个基因区域的长度。


5. 根据染色体号设置对应的横坐标上的位置列:


绘制图形

现在,我们已经完成了数据的预处理和整理,并且已经定义了我们要使用的图形元素和配色方案。现在,让我们用 ggplot2 包中的 ggplot 函数创建一个绘图对象,用于绘制我们的图形。我们将在此函数中指定数据框表a 作为数据源,同时指定在 x 和 y 轴上绘制的变量。


在上述的代码中,我们使用 geom_bar 函数绘制条形图。我们使用 "identity" 参数,以使 ggplot2 包知道我们已经使用了预处理的条形高度。我们还使用 theme 函数来进一步定制绘图对象的外观。


好啦,我们今天的绘图工作已经基本完成,我们一起来和小果看一下绘制好的图长什么样子吧!


图片描述

在这个图中,主要向大家展示了拟南芥完整基因组的5条染色体上对应的“新区域”和老区域的位置分布图,其中蓝色的部分代表“老区域”,红色的部分代表“新区域”。同学们也可以根据自己想要展示的分区来进行设置数据集哦!


保存图像

现在,我们已经完成了图形的绘制。我们可以使用 R 中的任何绘图设备将图形保存到文件中。在这里,我们将使用 png 函数将图形保存为 PNG 文件。


完整代码:

怎么样,今天的分区图表绘制你学会怎么用了吗!

更多ggplot绘图应用学习资源请大家移步小果专属云生信平台搜索更多资源哦!

小果专属云生信平台:云生信  - 学生物信息学 (biocloudservice.com)

ggplot绘制互作网络图:http://www.biocloudservice.com/703/703.php


云生信平台也有绘图专版的学习模块哦,快来找小果寻找你想学习的专属哦


生信人R语言学习必备

立刻拥有一个Rstudio账号

开启升级模式吧

(56线程,256G内存,个人存储1T)

生信果”,生信入门、R语言、生信图解读与绘制、软件操作、代码复现、生信硬核知识技能、服务器、生物信息学的教程,以及基于R的分析和可视化等原创内容,一起见证小白和大佬的成长。

掌握ggplot2,轻松绘制基因区间长度图!——R语言实战的评论 (共 条)

分享到微博请遵守国家法律