簡體   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