跟着Science学画图:R语言ggplot2作热图展示基因存在缺失

论文是

De novo assembly, annotation, and comparative analysis of 26 diverse maize genomes

image.png

部分数据代码是公开的 下载链接https://zenodo.org/record/4781590#.YSB40Hzivic

论文本地pdf 玉米Science.pdf

附件本地pdf abg5289_Hufford_SM.pdf

今天的推文我们来重复一下论文附件中的Figure S2c

image.png

论文中提供的代码用到的作图数据没有找到,推文中用论文中提供的数据 numeric_pan_matrix.csv试试

首先是读取数据并查看数据维度

df<-read.csv("numeric_pan_matrix.csv",
             row.names = 1)
dim(df)

宽格式转换为长格式数据

library(dplyr)


df %>% 
  mutate(x=1:nrow(.)) %>% 
  select(2:27,x) %>% 
  reshape2::melt(,id.vars="x") %>% 
  mutate(pav=case_when(
    value == 0 ~ "Absence",
    TRUE ~ "Presence"
  )) -> dfa

dfa %>% count(pav)

作图

pdf(file = "pavheatmap.pdf",
    width = 10,
    height = 6,
    family = "serif")
ggplot(data=dfa,aes(x=x,y=variable))+
  geom_tile(aes(fill=pav))+
  scale_fill_manual(name="Pan-Genes (n=103033) Presence or Absence",
                    values=c("#316879","#ff9a8d"))  + 
  theme_classic() + 
  theme(axis.title.x=element_blank(),
        axis.text.x=element_blank(), 
        axis.ticks.x=element_blank()) +
  theme(axis.title.y=element_blank(),
        axis.text.y=element_text(angle = 0, 
                                 hjust = 1, 
                                 colour = color_fill),
        axis.ticks.y=element_blank())  +
  theme(legend.position="bottom") +
  theme(text = element_text(size = 12)) 

dev.off()

最终结果

这个图和论文中的还是有些差别的,原因是x轴的基因顺序没有按照论文中的图排序(这里我不知道他是如何排序的)

这里的新学到的一个知识点是可以给坐标轴的文本添加颜色,虽然会遇到警告信息

image.png

这个警告可以暂时忽略

欢迎大家关注我的公众号

小明的数据分析笔记本

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

(本篇推文写于2021年10月6号返校途中,北京开往南京的火车上,D711,第一次坐D开头的卧铺车,环境装饰相较于k或者T更显干净整洁,空间大小相当,每个床铺上多了一个收纳物品的空间。

从本科开始的T56的硬座,依次体验了T,K的硬卧,D字头硬座和二等卧,G字头的二等座,不知道啥时候可以做到乘坐商务座而不用担心价格的阶段 哈哈哈,那个时候还会焦虑吗?)

你可能感兴趣的:(跟着Science学画图:R语言ggplot2作热图展示基因存在缺失)