進化のパターンとプロセスを推測し、表現型の違いをゲノムの変化に関連付けるために、遺伝子とゲノムの比較がますます使用されている。最近の高スループットシーケンステクノロジーの出現により、比較ゲノミクスにおけるメソッドと視覚化ツールの必要性が大幅に増加している。 2010年現在、1000を超える細菌および古細菌のゲノムが公開データベースで利用可能であり、可能な比較の数はほぼ無限になっている。 Artemis Comparison Tool(ACT; Carver et al、2005)、UCSC Genome Browser(Rhead et al、2010)、Mauve(Darling et al、2004)、M-GCAT(Treangen et al、 2006)とmurasaki(Sakakibara et al、2007)には、広範な視覚化機能がある。ただし、これらのツールには、(i)作成するpublication品質のグラフィックにアノテーションを直接追加する機能、または(ii)比較図の作成を完全に自動化する機能がない。 GenomeGraphs(Durinck et al、2009)はRパッケージで、1つのゲノム領域をマイクロアレイデータなどの関連データセットで視覚化できる。同じ領域に対して複数のアノテーションを表示できるが、単一のプロットに複数の領域を表示することはできない。
RパッケージgenoPlotRは、柔軟で自動化可能なツールを提供することにより、これらのギャップを埋めることを試みる。これにより、ユーザーはゲノムの複数のセグメントまたはサブセグメント間の比較を線形的にグラフィカルに表すことができる。一般的に使用される形式(EMBL、Genbank、BLAST、およびMauve出力)またはユーザー作成の表形式ファイルに保存されたデータを読み取り、ゲノムの1つまたは複数のサブセグメントの比較を可能にする。ツリーを追加して、セグメント間の系統関係を表示したり、各サブセグメントのスケールやアノテーションを表示したりできる。 R(R Development Core Team、2009)とそのグリッドパッケージの使用により、データを操作し、遺伝子およびゲノムマップをより複雑なグラフィックスに統合するためのグラフィカルなパワーと柔軟性を使用することが可能になる。結果は、さらに編集するために高品質のラスターまたはベクター形式で保存できる。
genoPlotRは、2つの主なオブジェクトを使用する。dna_segは、遺伝子またはその他の機能を含むDNAのセグメントを表し、比較は、2つのdna_seg間の関係を表す。genoPlotRは、広く使用されているGenbankおよびEMBL形式またはテーブル形式からdna_segオブジェクトを、タンパク質テーブルファイルとして読み取る。 GenbankまたはEMBLファイルは、ユーザーが生成するか、NCBIのNucleotide Entrez(http://www.ncbi.nlm.nih.gov/sites/entrez)データベースからダウンロードできる。 デフォルトでは、CDS機能のみが読み取られるが、任意の機能セットを指定することもできる。
HP
http://genoplotr.r-forge.r-project.org/index.php
インストール
macos10.14のRstudio(Rの4.0.5)に導入した。
CRAN
#Rのプロンプトにて
install.packages("genoPlotR")
#help
> library(help=genoPlotR)
パッケージ ‘genoPlotR’ の情報
記述:
Package: genoPlotR
Type: Package
Title: Plot Publication-Grade Gene and Genome Maps
Version: 0.8.9
Date: 2019-01-16
Author: Lionel Guy <lionel.guy@imbim.uu.se>
URL: http://genoplotr.r-forge.r-project.org/
Depends: R (>= 2.10.0), ade4, grid
Imports: methods
Maintainer: Lionel Guy <lionel.guy@imbim.uu.se>
Description: Draws gene or genome maps and comparisons between
these, in a publication-grade manner. Starting from
simple, common files, it will draw postscript or
PDF files that can be sent as such to journals.
License: GPL (>= 2)
LazyLoad: yes
NeedsCompilation: no
Packaged: 2019-01-25 08:24:54 UTC; lionel
Repository: CRAN
Date/Publication: 2019-01-25 10:20:03 UTC
Built: R 3.6.0; ; 2019-04-26 21:01:43 UTC; unix
索引:
annotation Annotation class and class functions
apply_color_scheme Apply a color scheme
artemisColors Artemis Colors
auto_annotate Auto-annotate dna_segs
barto Comparison of 4 Bartonella genomes
c.dna_seg Concatenate dna_seg objects
chrY_subseg Comparisons of subsegments of the Y chromosome
in human and chimp
comparison Comparison class and class functions
dna_seg DNA segment (dna_seg) class and class functions
gene_types Gene types
genoPlotR-package Plot Publication-Grade Gene and Genome Maps
human_nt Human-readable nucleotide scale
mauve_bbone Mauve backbone of 4 Bartonella genomes
middle Middles of a dna_seg
plot_gene_map Plot gene and genome maps
range.dna_seg Range calculation
read_functions Reading functions
reverse Reverse objects
seg_plot seg_plot class and class functions
three_genes Three genes data set
trim Trimming data frames or more complex objects
with >= 2 numeric columns
これ以上の情報はディレクトリ
‘/Library/Frameworks/R.framework/Versions/3.6/Resources/library/genoPlotR/doc’
にあるビニエット中にあります:
genoPlotR: Getting started with genoPlotR (source, pdf)
Another way of obtaining the list of functions present in the package is to run
> library(help=genoPlotR)
テストラン
1、パッケージのロード
#Rのプロンプトにて
library(genoPlotR)
#デモデータ読み込み
data("three_genes")
#name変数にname読み込み
names <- c("Huey", "Dewey", "Louie")
#デモデータのdna_seqsのnameを指定
names(dna_segs) <- names
#描画
plot_gene_map(dna_segs=dna_segs)
genome比較も行う。
#描画
plot_gene_map(dna_segs=dna_segs, comparisons=comparisons)
Example1
https://genoplotr.r-forge.r-project.org/vignette.php
1、3つの配列を比較する。まず、1つ目の配列のデータフレームを定義する。1つ目の配列では、3つのORFを定義している。
library(genoPlotR)
df1 <- data.frame(name=c("feat1", "feat2", "feat3"), start=c(2, 1000, 1050), end=c(600, 800, 1345), strand=c(-1, -1, 1), col=c("blue", "grey", "red")) dna_seg1 <- dna_seg(df1)
2、dna_seg関数を使ってdna_segオブジェクト(マップ上で表現されるゲノムに沿った遺伝子または要素のコレクション)(データフレーム)を定義する。
dna_seg1 <- dna_seg(df1)
dna_segオブジェクトは、name, start, end, strandの4つのカラムを持つ必要がある。
3、他の2つの配列についても同じように進める。strandで−1だとリバース(←)のORFとなる(リバースのORFは、便宜上、スタートのポジションにエンドのポジションを、エンドのポジションにはスタートのポジションを書く(df2のfeat1遺伝子))。
df2 <- data.frame(name=c("feat1", "feat2", "feat3"), start=c(50, 700, 1200), end=c(600, 1100, 1322), strand=c(-1, 1, 1), col=c("blue", "grey", "red"))
dna_seg2 <- dna_seg(df2)
#ORFを確認
dna_seg2
df3 <- data.frame(name=c("feat1", "feat2", "feat3"), start=c(1, 500, 1200), end=c(300, 1000, 1600), strand=c(-1, -1, 1), col=rep("blue", 3))
dna_seg3 <- dna_seg(df3)
#ORFを確認
dna_seg3
(df2, df3のポジションは公式の例から改変, 数値以外デモデータの再現なので、data(three_genes)を実行するだけでも可能)
4、3つの配列を比較したいので、比較オブジェクト(データフレーム)を作成する。上から配列1、2、3を描画するなら、配列1と2の比較、配列2と3の比較について定義する必要がある。
まずは配列1と配列2について考える。、この2つの配列のfeat1、feat2、feat3遺伝子全長には高い配列同一性がある事が分かっている。そこで、配列1と2の比較オブジェクト;dna_seg1オブジェクトには、dna_seg1とdna_seg2の各開始点と各終了点を指定する。
#配列1と2の比較オブジェクト:df4の定義
df4 <- data.frame(start1=dna_seg1$start, end1=dna_seg1$end, start2=dna_seg2$start, end2=dna_seg2$end, col=("black"))
この設定では、配列1と配列2のfeat1、feat2、feat3遺伝子全長にシンテニーのプロットが表示される。
配列2と配列3は距離があり、部分的な配列相同性が2箇所だけにある(とする)。そのような場合は、シンテニーの線を描くポジションを比較オブジェクトに直接数値で定義する。配列相同性があるのは、配列2の50〜350-bpと配列3の1-300-bp間、そして配列2の1200〜1322-bpと配列3の1478-1600-bp間とする。シンテニープロットの色は、比較オブジェクトdf4より薄くしたい。1つ目は#FAA4A4、2つ目は#FFEFEFとする。
#配列2と3の比較オブジェクト:df5の定義
df5 <- data.frame(start1=c(50, 1200), end1=c(350, 1322), start2=c(1, 1478), end2=c(300, 1600), col=c("#FAA4A4", "#FFEFEF"))
comparison2 <- comparison(df5)
plot_gene_map関数で描画する。
plot_gene_map(dna_segs=dna_segs, comparisons=list(comparison1, comparison2))
Mauveのbackbone出力(.backbone)も使用できます。
https://genoplotr.r-forge.r-project.org/screenshots.php
exampleには様々な例と描画コードが載っています。アクセスして確認して下さい。
引用
genoPlotR: comparative gene and genome visualization in R.
Guy L, Kultima JR, Andersson SG
Bioinformatics. 2010 Sep 15;26(18):2334-5
関連