gggenomes优雅的绘制基因组图
2022-04-14 本文已影响0人
R语言数据分析指南
本节来介绍一个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))
可以看到完全兼容ggplot2的语法,本节只是初步介绍,后续会进行更加详细的介绍;敬请期待
喜欢的小伙伴欢迎关注我的公众号
R语言数据分析指南,持续分享数据可视化的经典案例及一些生信知识,希望对大家有所帮助