1

私はこちらのサークライズ チュートリアルの 8 ページにあるようなプロットを作成しました: http://cran.r-project.org/web/packages/circlize/vignettes/genomic_plot.pdf

今、遺伝子名の上に追加のトラックを重ねようとしています。これは、遺伝子をより大きなカテゴリにグループ化することを示しています (下のビネットから取った画像では、よりきれいな画像を得ることを望んで、青い線を追加しようとしています)サークライズ付き)。

これらの広い領域のそれぞれの開始と終了、およびラベル (これらの領域の上に追加しようとしています) を含む新しいデータ フレームがあります。

ここに画像の説明を入力

以前のプロットから xlim、ylim、および index 情報を取得しようとしましたが、新しいデータ フレームであるため問題が発生しています。

これが私がやっていることです:私の新しいデータフレーム(メインデータと同じ座標を持つ)がこれだと言います:

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 でこのオーバーレイ領域を (これらのより広い領域を定義する別のデータセットを使用して) 描画する方法について誰かが指摘している場合は、非常に感謝しています!

お手伝いありがとう!

4

1 に答える 1