R语言绘制小RNA丰度条形图
小RNA中的丰度分布十分不均,少数种类小RNA的丰度占全部的比例较高,研究重点也都放在丰度较高的小RNA上,小RNA长度分布图可以有效筛选丰度较高的小RNA,我们以文献Characterization of mouse serum exosomal small RNA content: The origins and their roles in modulating inflammatory response为例,绘制RNA丰度小条形图。
1 准备数据
准备数据需要包括RNA的名称和丰度值,按RNA的丰度值排序。
使用Excel打开示例文件barplot_data.top20.txt,内容如下:
2 运行脚本
运行脚本还需要安装R包ggplot2并修改工作目录。安装R包和修改工作目录详见前文“纪伟讲测序(绘图篇) - R语言绘制小RNA长度分布条形图”。
R包ggplot2安装完成并修改工作目录后,将barplot.R复制到Rstudio中运行。
#读取数据
data = read.table("barplot_data.top20.txt",sep = "\t",header = T)
head(data) #查看读取的数据内容前几行
#数据格式转换,整理成 ggplot2 方便识别的样式
x=rep(1:nrow(data),times=2)
y=rep(c("Control","Sesis"),each=nrow(data))
z=c(data$Control_percentage,data$Sepsis_percentage)*100
data2=data.frame(x=x,y=y,z=z)
head(data2) #查看整理后的数据内容前几行
#ggplot2 作图
library(ggplot2)
p = ggplot(data2,aes(x=x,y=z,fill=y)) + geom_bar(stat = "identity",position=position_dodge(0.8),width = 0.7) +
theme_bw() + theme(panel.border = element_blank(), panel.grid.major = element_blank(), panel.grid.minor = element_blank(),axis.line=element_line(), legend.position = c(0.95, 0.95), legend.justification = c("right", "top")) + #设置背景,坐标轴,图例等主题
scale_y_continuous(expand = c(0,0)) + scale_x_continuous(breaks=x,limits = c(min(x)-1,max(x)+1),expand = c(-0.01,0.01))+labs(fill = "",x="",y="Percentage of miRNAs") + #设置x与y轴
scale_fill_manual(values=c("red","blue"))#设置条形图颜色
p
image
调整作图区域的大小得到合适的图片,这样我们的图就出来了。
3 输出PDF文件
输出PDF文件的方法也与之前一致,在File name修改文件名并点击Save保存。
在工作目录下有barplot.pdf的文件。
网友评论