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()
genome
引数にゲノムの名前を指定すればヒト以外の染色体もプロットしてくれます(ただし予め用意されているもののみ)。
# 例えば Drosophila は kp <- plotKaryotype(genome = "dm6")
ユーザー独自にゲノムの情報を与えてやることで任意のゲノムを表示させることもできます。 例えばトマトについて、こちら 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)
ポイントは chr
、start
、end
という3つの列を持つデータフレームを作り、toGRanges
でGRangesオブジェクトに変換してあげることです。これを plotKaryotype
関数にわたしてあげることでプロットが完成します。
他にも様々な機能が存在するパッケージですが今回はひとまずここまでにします。