繁体   English   中英

在R中作圆图

[英]circlize in R to make a circular plot

我正在尝试制作类似于基因表达图的圆形图。 我发现R中的circlize包可以做到这一点,而我试图遵循此http://cran.r-project.org/web/packages/circlize/vignettes/genomic_plot.pdf

我设法达到:6.创建绘图区域

但是当我打字

circos.genomicPoints(Region, value, numeric.column = c(1,2))

我收到此错误:

Error in get.cell.meta.data("sector.index") : 
Length of `sector.index` should only be 1.

当我键入

circos.genomicLines(Region, value, numeric.column = c(1, 2))

我收到此错误:

Error in region[[1]] + region[[2]] : 
  non-numeric argument to binary operator

区域是具有205个观测值和7个变量的数据框:染色体,开始位置,结束位置,然后是一些值value是具有205个观测值和2个变量的数据框:两个数值

我对这种情节完全陌生,因此不胜感激

谢谢

region在低级别的功能,例如circos.genomicPointscircos.genomicLines应该是一个数据帧只包含两列(开始位置和结束位置)。 由于诸如circos.genomicPoints功能circos.genomicPoints只能作用于一个染色体,因此无需将染色体信息放入该region

推荐的方法来调用circos.genomicPoints是投入panel.fun致电时circos.genomicTrackPlotRegion

bed  # your data frame which is bed-file format
circos.initializeWithIdeogram()
circos.genomicTrackPlotRegion(bed, panel.fun = function(region, value, ...) {
    circos.genomicPoints(region, value, ...)
})

在上面的示例代码中, panel.fun是一个自定义函数,将在每个染色体中执行。 panel.fun中的regionvalue是从bed中提取的“当前染色体”中的相应数据帧。

如果你想通过调用微调您的情节circos.genomicPointscircos.genomicTrackPlotRegion ,你需要建立你的regionvalue的变量,也不要忘记设置sector.indextrack.index指定哪些染色体和轨道您要放置图形:

for(chr in chromosomes) {
    region = bed[bed[[1]] == "chr", 2:3]
    value = bed[bed[[1]] == "chr", some_column_index]
    circos.genomicPoints(region, value, sector.index = chr, ...)
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM