跟着Nature Genetics学画图:R语言ggbio包画基因结构图

论文是 Pan-genome analysis highlights the extent of genomic variation in cultivated and wild rice

image.png

今天重复的图是来自于论文中的figure3 b

image.png

下半部分表示SNP的内容如何做暂时没有思路,今天的代码先介绍一些山半部分的基因结构,后面想到了实现办法再来记录

画上半部分的基因结构用到了ggbio这个包,这个也是ggplot2的一个扩展包

根据图中的基因名找到了他对应的gtf格式文件

image.png

将这部分内容单独复制到一个文件中

首先是读入数据

df<-read.csv("NG/waxy.gtf",
             header=F,
             sep="\t")
head(df)
image.png
加载作图需要用到的包
library(ggh4x)
library(ggplot2)
library(ggbio)
library(GenomicRanges)
构造画图用到的数据集
waxy<-GRanges("chr06",IRanges(df$V4,end=df$V5,group=df$V3))
接下来是画图代码
pdf(file = "NG/waxy.pdf",width = 10,height = 4)
autoplot(waxy,aes(fill=group),geom="alignment")+
  theme_bw()+
  scale_x_continuous(limits = c(1764000,1771000),
                     breaks = c(seq(1764000,1771000,by=1000)),
                     position = "top")+
  theme(panel.border = element_blank(),
        panel.grid = element_blank(),
        axis.line.x = element_line(),
        axis.ticks.length = unit(0.2,'cm'))+
  guides(x=guide_axis_truncated(trunc_lower = 1764000,
                                trunc_upper = 1771000))+
  scale_fill_manual(values = c("#92d050","#a6a6a6","#a6a6a6"))+
  theme(aspect.ratio = 0.1)+
  scale_y_continuous(limits = c(0,3))+
  theme(axis.text.y = element_blank(),
        axis.ticks.y = element_blank())+
  annotate(geom = "text",x=1764500,y=1,
           label="Nipponbare\n(waxy:Os06g0133000)")+
  coord_cartesian(clip="off")
dev.off()

image.png

这个和原图的差别 结尾处有一个箭头,这个暂时不知道如何实现

还有就是下侧的snp位点改如何实现

欢迎大家关注我的公众号

小明的数据分析笔记本

小明的数据分析笔记本 公众号 主要分享:1、R语言和python做数据分析和数据可视化的简单小例子;2、园艺植物相关转录组学、基因组学、群体遗传学文献阅读笔记;3、生物信息学入门学习资料及自己的学习笔记!

你可能感兴趣的:(跟着Nature Genetics学画图:R语言ggbio包画基因结构图)