Ideogram plotについて (R)

Rでgenomic dataをプロットする場合いくつかのパッケージがあります。例えば RIdeogram IdeoViz などです。 その中の一つに karyoploteR (Bernat Gel & Eduard Serra. (2017). karyoploteR: an R/Bioconductor package to plot customizable genomes displaying arbitrary data. Bioinformatics, 31–33. <doi:10.1093/bioinformatics/btx346>) というパッケージが存在します。

今回はこのパッケージについて触りの部分だけ紹介したいともいます。

詳しい使い方はこちら https://bernatgel.github.io/karyoploter_tutorial/ を参照ください。

インストール

Bioconductorパッケージなので以下の要領でインストールできます。

if (!requireNamespace("BiocManager", quietly = TRUE))
  install.packages("BiocManager")
BiocManager::install("karyoploteR")

ライブラリのロード

library(karyoploteR)

Ideogram のプロット

Ideogram plotには plotKaryotype 関数を用います。これは引数なしで実行するとヒトの染色体を表示します。

kp <- plotKaryotype()

f:id:menseki:20200908231941p:plain

genome 引数にゲノムの名前を指定すればヒト以外の染色体もプロットしてくれます(ただし予め用意されているもののみ)。

# 例えば Drosophila は
kp <- plotKaryotype(genome = "dm6")

f:id:menseki:20200908232022p:plain

ユーザー独自にゲノムの情報を与えてやることで任意のゲノムを表示させることもできます。 例えばトマトについて、こちら https://www.ncbi.nlm.nih.gov/assembly/GCF_000188115.4#/st のURLにあるゲノムアセンブル情報をもとに SL3.0 のゲノムを表示させてみます。

tomato.genome <- 
  toGRanges(
    data.frame(
      chr = c(sprintf("SL3.0ch%02d", 1:12), "unplaced"),
      start = rep(1, 13),
      end = c(
        98455869, # Chr1
        55977580, # Chr2
        72290146, # Chr3
        66557038, # Chr4
        66723567, # Chr5
        49794276, # Chr6
        68175699, # Chr7
        65987440, # Chr8
        72906345, # Chr9
        65633393, # Chr10
        56597135, # Chr11
        68126176, # Chr12
        20522792  # unplaced
      )
    )
  )


kp <- plotKaryotype(tomato.genome)

f:id:menseki:20200908232058p:plain

ポイントは chrstartend という3つの列を持つデータフレームを作り、toGRanges でGRangesオブジェクトに変換してあげることです。これを plotKaryotype 関数にわたしてあげることでプロットが完成します。

他にも様々な機能が存在するパッケージですが今回はひとまずここまでにします。