過去10年間で、3300以上のゲノムワイド関連研究(GWAS)が行われている。ほぼすべてのGWAS研究は、主図または補足図としてマンハッタンプロットを提供している。いくつかのソフトウェアパッケージがマンハッタンプロットを生成することができるが、それらはすべて、遺伝子名、対立遺伝子頻度、および遺伝子機能に大きな影響を与えるバリアントをアノテーションすることができる範囲に限られており、その他の追加情報や柔軟性を提供することができない。さらに、従来のマンハッタンプロットでは、非常に有意なp値を持つ単一のバリアントによって同定された遺伝子座と、非常に類似したp値を持つハプロタイプブロック内にあるように見える複数のバリアントによって同定された遺伝子座を区別する方法がない。
ここでは、Rで書かれたソフトウェアツールを紹介する。このツールは、プロットにアノテーションを行うため、バリアントの結果やマイナー対立遺伝子の頻度などの追加機能とともに、転置マンハッタンプロットを生成し、これらの制限に対処する。このソフトウェアは、ユーザーがアノテーションをどのように、どこに表示したいかについても柔軟に対応できるようになっている。このソフトウェアはCRANのリポジトリやGitHubのプロジェクトページからダウンロードすることができる。
既存の従来のマンハッタンプロット生成ツールを大幅にステップアップさせた。この表示形式と追加された注釈が、この新しいManhattan++プロットから読み手により多くの洞察をもたらすことを期待している。
https://github.com/cgrace1978/manhplot/wiki
インストール
rockerのRstudio(使用例)を使ってテストした。
install.packages("devtools")
library(devtools)
install_github("cgrace1978/manhplot", dependencies = T, force = T)
実行方法
1、ライブラリのロード
library(manhplot)
2、プロットを生成するためには3つのファイルが必要。それぞれ準備して読み込ませる。
1つ目にsummary statisticsファイルを用意する。summary statisticsファイルは5つの要素を持っている必要がある。coordinate sortされていること。
- chr - chromosome (must be numeric)
- pos - position
- pvalue - p-value (please do not log-transform)
- maf - Minor Allele Frequency
- conseq - Flag of whether variant has HIGH functional consequence (using VEP)
example dataを確認する。
infileに読み込ませる。
infile<-system.file("extdata","cad.add.160614_manhformat.txt.gz",package = "manhplot")
ソフトウェアのデフォルトでは、MAFが5%未満の場合にMAFデータを表示する。オフにするにはMAF関数の引数を0に設定する(Github参照)。
2つ目にLoci information ファイル (snpfile)が必要。これは図で注釈をつける関心のあるバリアント情報のファイルとなる。
- markername - The name of the variant
- gene - The gene name associated with the variant
- chr - chromosome
- pos - position
- eaf - effect allele frequency
- OR - Odds Ratio
- Pvalue - P-value
- novel - Flag for whether the variant is novel (a new loci)
novelフラグは、その遺伝子座が報告されているGWASにおける新しい発見であるかどうかを示している。GWAS summaryからこのファイルを作成するためのperlスクリプトが用意されている(code link)。
snpfileに読み込ませる。
snpfile<-system.file("extdata","56cad.add.160614.variants.txt", package = "manhplot")
3つ目に、ヒートマップのレジェンドとタイプを定義するconfigファイルを指定する。
- min.count - このセル内のバリアント数の下限値
- max.count - このセル内のバリアント数の上限
- maf - 閾値以下のMAFを持つバリアントをこのセルで検出すべきかどうか?
- conseq - 重大性が高いvariantを検出するかどうか?
- col - ヒートマップセルの色は grDevices::colors() で指定
- idx - ヒートマップ上のラベル付けのインデックス
- type - セルのタイプ:val または oddchr / evenchr
- report - これらのセルをヒートマップ上でバブルラベル付きで報告するか?
configfile<-system.file("extdata","config.txt", package = "manhplot")
3、準備ができたらマンハッタンプロットを書き出す。データはinfile、Loci information ファイルはsnpfile、configはconfigfile、出力はtestとする。
manhplusplot(infile = infile,outfile = "test", configfile = configfile, snpfile = snpfile)
出力
test.pdfを開いた。
図は左端がレジェンド。マンハッタンプロットは転置(transpose)されて縦方向に表示される。マンハッタンプロットは左半分で、右半分がバリアントのアノテーションを表している。中央の灰色はよく見ると少しだけ濃い部分と薄い部分がy軸に沿って交互に並んでいるが、これは奇数染色体と偶数染色体をそれぞれ表している。右側のほうのp値は、ユーザー定義の有意性(5% False Discovery Rate)よりも大きいバリアントを示している(論文図2より抜粋)。
引用
Manhattan++: displaying genome-wide association summary statistics with multiple annotation layers
Christopher Grace, Martin Farrall, Hugh Watkins & Anuj Goel
BMC Bioinformatics volume 20, Article number: 610 (2019)
関連