macでインフォマティクス

macでインフォマティクス

HTS (NGS) 関連のインフォマティクス情報についてまとめています。

遺伝子とゲノムの比較を視覚化するCRANパッケージ genoPlotR

 

 進化のパターンとプロセスを推測し、表現型の違いをゲノムの変化に関連付けるために、遺伝子とゲノムの比較がますます使用されている。最近の高スループットシーケンステクノロジーの出現により、比較ゲノミクスにおけるメソッドと視覚化ツールの必要性が大幅に増加している。 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)

f:id:kazumaxneo:20191124012824p:plain

genome比較も行う。

#描画
plot_gene_map(dna_segs=dna_segs, comparisons=comparisons) 

f:id:kazumaxneo:20210724095457p:plain

 

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)

f:id:kazumaxneo:20210724115800p:plain

 

2、dna_seg関数を使ってdna_segオブジェクト(マップ上で表現されるゲノムに沿った遺伝子または要素のコレクション)(データフレーム)を定義する。

dna_seg1 <- dna_seg(df1)

dna_segオブジェクトは、name, start, end, strandの4つのカラムを持つ必要がある。

f:id:kazumaxneo:20210724115821p:plain

 

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遺伝子全長にシンテニーのプロットが表示される。

f:id:kazumaxneo:20210724123959p:plain

 

配列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)

f:id:kazumaxneo:20210724124015p:plain

 

plot_gene_map関数で描画する。

plot_gene_map(dna_segs=dna_segs, comparisons=list(comparison1, comparison2))

f:id:kazumaxneo:20210724124314p:plain

 

Mauveのbackbone出力(.backbone)も使用できます。

https://genoplotr.r-forge.r-project.org/screenshots.php

 

exampleには様々な例と描画コードが載っています。アクセスして確認して下さい。

genoplotr

引用
genoPlotR: comparative gene and genome visualization in R.

Guy L, Kultima JR, Andersson SG

Bioinformatics. 2010 Sep 15;26(18):2334-5

 

関連