如何使用R语言进行基因组覆盖度可视化

用于基因组覆盖度和深度可视化

所用到的packages:pheatmap

install.packages("pheatmap")
library("pheatmap")

所用的文件格式(csv文件)

  • 深度二进化文件(cvg_data.csv):这里表征的是每个位点深度,也可采取滑动窗口的形式表征每个区域。同时采用深度二值化,阈值为100;若不需要二值化,则直接将统计的位点深度信息导入即可。
sample1 位点1深度 位点2深度 .... 位点n深度
sample2 位点1深度 位点2深度 .... 位点n深度
sample3 位点1深度 位点2深度 .... 位点n深度
  • 深度log文件(cvg_sum_bar.log.csv):将每个位点所有样本的深度求和取对数以表征该位点综合深度,展示每个位点总体样本覆盖情况。
sum 位点1深度log 位点2深度log .... 位点n深度log

第一步画主图和logbar

#fig3a_draw

cvg_data<-read.csv('cvg_data.csv',header = F,row.names = 1,check.names = F)
pheatmap(cvg_data,cluster_rows = FALSE,cluster_cols = FALSE,show_colnames=F,show_rownames = T,cellwidth = 0.008, cellheight = 6.5,fontsize=5,color = colorRampPalette(c("#E0EBFA","#0072B2"))(2),border=FALSE,grid=NA,legend = FALSE)

#log_bar
sum_data2<-read.csv('cvg_sum_bar.log.csv',header = F,row.names = 1,check.names = F)
pheatmap(sum_data2,cluster_rows = FALSE,cluster_cols = FALSE,show_colnames=F,show_rownames = T,cellwidth = 0.008, cellheight = 15,fontsize=8,color = colorRampPalette(c("#E5F5FE","#B2DCFA","#0072B2"))(1000),border=FALSE)

接下来画引物位置(绿色的细线),第一行代码是先画出底下的x轴范围,后面的代码分别画每一条的引物起始位置(X0,X1,X2,X3),类推...因为引物有覆盖情况所以是c(1,5,1.5),c(1.48, 1.48)交替,如果没有覆盖选用其中一个即可。

#draw green lines : primer
plot(c(1, 29891), c(1, 8), type = "n", ann = FALSE,frame.plot = FALSE,xlim = c(0,30000),yaxt = "n")
lines(x = c(X0, X1), y = c(1.5, 1.5), lwd = 1.6, lend = "round",col="#ABDDA4")
lines(x = c(X2, X3), y = c(1.48, 1.48), lwd = 1.6, lend = "round",col="#ABDDA4")
 ....
lines(x = c(Xm, Xn), y = c(1.48, 1.48), lwd = 1.6, lend = "round",col="#ABDDA4")

然后整合得到总图


该图已发表于:
Xiao M, Liu X, Ji J, et al. Multiple approaches for massively parallel sequencing of SARS-CoV-2 genomes directly from clinical samples[J]. Genome medicine, 2020, 12(1): 1-15.

你可能感兴趣的:(如何使用R语言进行基因组覆盖度可视化)