circlize包作者的说明书https://jokergoo.github.io/circlize_book/book/index.html
这段的打算是在基因组圈图里表示变异位点和基因名。成品这个样子,数据我编的
data<-read.csv("test.csv",sep=",",header=TRUE)
#虽然circlize包里前3列是bed文件,bed第一列的染色体号有时候是"chr1",有时候是“1”,这里要用带chr的
head(data)
library(circlize)
#参考基因组是hg19,chromosome.index = paste0("chr", c(1,2,3,4,5))表示只要1,2,3,4,5号染色体,全都要就可以不写
circos.initializeWithIdeogram(species ="hg19",chromosome.index = paste0("chr", c(1,2,3,4,5)))
#画patient 1的位点
circos.genomicTrackPlotRegion(
subset(data,patientID==1), track.height = 0.05, stack = TRUE, bg.border = NA,
panel.fun = function(region, value, ...) {
circos.genomicPoints(region, value, col = "blue",border = NA, ...)
} )
#画patient 2的位点
circos.genomicTrackPlotRegion(
subset(data,patientID==2), track.height = 0.05, stack = TRUE, bg.border = NA,
panel.fun = function(region, value, ...) {
circos.genomicPoints(region, value, col = "red",border = NA, ...)
} )
#加上基因名,labels.column = 4指定第4列作为标签,side还可以用outside,字在线外圈
circos.genomicLabels(data, labels.column = 4, side = "inside",
col = "black", line_col = "black")
#画图例
legend("center",legend=c("patient 1","patient 2"),fill=NULL,col=c("blue","red"),bty="n",border=NA,pch=1)