本节来介绍一个ggplot2的扩展包gggenomes使用它可以轻松地对不同来源的基因数据组合成一个全面而优雅的图,下面让我们来看一个小例子
安装R包
目前gggenomes还处于开发版因此需要从git_hub下载
devtools::install_github("thackl/thacklr")
devtools::install_github("thackl/gggenomes")
加载R包
library(gggenomes)
library(tidyverse)
导入数据
在此我们使用包自带的数据
data(package="gggenomes")
数据可视化
gggenomes(emale_genes, emale_seqs, emale_tirs, emale_ava) %>%
add_feats(ngaros=emale_ngaros, gc=emale_gc) %>%
add_sublinks(emale_prot_ava) %>%
flip_by_links() +
geom_feat(position="identity", size=6) +
geom_seq() +
geom_link(data=links(2)) +
geom_bin_label() +
geom_gene(aes(fill=name)) +
geom_gene_tag(aes(label=name), nudge_y=0.1, check_overlap = TRUE) +
geom_feat(data=feats(ngaros), alpha=.3, size=10, position="identity") +
geom_feat_note(aes(label="Ngaro-transposon"), feats(ngaros),
nudge_y=.1, vjust=0) +
geom_ribbon(aes(x=(x+xend)/2, ymax=y+.24, ymin=y+.38-(.4*score),
group=seq_id, linetype="GC-content"), feats(gc),
fill="lavenderblush4", position=position_nudge(y=-.1)) +
scale_fill_brewer("Genes", palette="Dark2", na.value="cornsilk3")+
theme(panel.grid.major=element_blank(),
panel.grid.minor=element_blank(),
panel.background = element_blank(),
axis.title=element_blank(),
axis.text=element_text(color="black"),
plot.margin=unit(c(0.5,0.5,0.5,0.5),units=,"cm"),
legend.key=element_blank(),
legend.text = element_text(color="black",size=10),
legend.spacing.x=unit(0.1,'cm'),
legend.key.width=unit(0.5,'cm'),
legend.key.height=unit(0.5,'cm'),
legend.background=element_blank(),
legend.box.background=element_rect(colour = "black"),
legend.box.margin = margin(1,1,1,1))
参考:https://github.com/thackl/gggenomes
可以看到完全兼容ggplot2的语法,本节只是初步介绍,后续会进行更加详细的介绍;敬请期待
欢迎大家关注我的公众号
小明的数据分析笔记本
小明的数据分析笔记本 公众号 主要分享:1、R语言和python做数据分析和数据可视化的简单小例子;2、园艺植物相关转录组学、基因组学、群体遗传学文献阅读笔记;3、生物信息学入门学习资料及自己的学习笔记!
我的B站同名账号 小明的数据分析笔记本 会更新一些关于R语言和python数据分析和数据可视化作图的入门内容 还有生物信息学入门的相关内容。仔细想了想,还是以问题为导向录制视频效果可能会好一些。所以建了一个群来收集大家的问题,大家有相关问题可以在群里提出,尽可能的详细描述。如果我恰好会的话我会抽时间录制视频介绍解决办法。加群需要实名制(学校专业昵称)。当然大部分问题我大概率是不会。感兴趣的可以扫描上面二维码加群。
大家如果平时用B站可以关注我一下 小明的数据分析笔记本 ,再来一个一键三连是最好不过的了!

