我在这里创建了一个类似于 circlize 教程第 8 页的图:http: //cran.r-project.org/web/packages/circlize/vignettes/genomic_plot.pdf
现在我试图在基因名称之上覆盖一个额外的轨道,它显示将基因分组到更大的类别中(在下面的小插图中,我试图添加蓝线,希望得到一个更漂亮的图像带圆圈)。
我有一个新的数据框,其中包含每个更宽区域的开始和停止以及标签(我试图在这些区域之上添加标签)。
我尝试从之前的绘图中获取 xlim、ylim 和索引信息,但我遇到了麻烦,因为它是一个新的数据框。
这就是我正在做的事情:说我的新数据框(与主数据具有相同的坐标)是这样的:
df = structure(list(Chr = c("chr1", "chr10", "chr12"), pos.start = c(2e+06, 2e+06, 2e+06), pos.end = c(3e+06, 6e+06, 3e+06), name = c("A", "B", "C")), .Names = c("Chr", "pos.start", "pos.end", "name"), row.names = c(1L, 2L, 3L), class = "data.frame")
在使用我的主数据集初始化马戏团后,它是示例小插图中的基因因素,我试图像这样添加轨道:
circos.trackPlotRegion(ylim = c(0.5, 0.5), track.index=1,
panel.fun = function(x, y) {
chr = get.cell.meta.data("sector.index")
# find regions in this chromosome
regions = unique(df[df$Chr == chr, , drop = FALSE]$name)
df2 = df[df$Chr == chr, , drop = FALSE]
for(i in seq_len(nrow(df2))) {
region = which(regions %in% df2$name[i])
circos.rect(region, 0.2,
region, 0.2, color="blue", border = NA)
}
}, bg.border = NA)
而且我不断收到此错误:“ if (ncut) { 中的错误:参数不可解释为逻辑”。
我究竟做错了什么?
我还尝试使用 par(new = TRUE) 覆盖一个全新的图,但我无法让它与我之前的图完全重叠,因为它会重新调整以适应整个圆圈(虽然我只为更广泛的区域定义了一些段)。如果有人对如何在 RI 中的 circlize 中绘制这个覆盖区域(使用定义这些更宽区域的不同数据集)有指导,将非常感激!
感谢您的帮助!