macでインフォマティクス

macでインフォマティクス

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

scientific dataのインタラクティブな視覚化ツール BPG interactive visualization of scientific data

 

  生物学的実験はますます大きく、多面的なデータセットを生み出している。そのようなデータを探索して観察結果を伝達することはますます困難になっており、堅牢な科学的データ視覚化の必要性は加速している[ref.1、2、3、4]。特にWebベースのインタフェースやローカルソフトウェアパッケージとして、無数のデータ視覚化ツールが存在する。残念ながら、これらは広く使用されているBioconductor [ref.5]のように、Rベースの統計パイプラインには簡単に統合できない。 R内には、ベースグラフィックス[ref.6]、ggplot2 [ref.7]、ラティス[ref.8]、Sushi [ref.9]、circlize [ref.10]、multiDimBio [ref.11]、NetBioV [ref.12]、GenomeGraphs [ref.13]、そしてそれらを含む多くの視覚化パッケージが存在する。 特定のタスクや分析の種類に焦点を当てた固有の視覚化パッケージもある[ref.15、16、17、18、19、20、21、22、23、24]。これらの中には、高解像度、適切なラベルサイズ、グレースケール用途に適し、赤 - 緑の色覚異常を持つ人々に見えるようなデフォルトのカラーパレットなどの、publication品質のデフォルトがないものもある。多くは重要なパラメータ化を必要とする。他のものは限られたプロットタイプを含んでいるか、マルチパネルの図を自動生成する機能は限定的であるか、または特定のデータタイプに制限されている。特定のプロット要素をハイライト表示し、それらをカスタマイズするために利用可能な一連のパラメータを自動的に識別し、プロットの変化をリアルタイムで視覚化するGUIインタフェースを介してインタラクティブにRコードを生成できるインタラクティブな視覚化ツールはほとんどない。したがって、これらの可視化パッケージのそれぞれには大きな価値があるが、それぞれ計算生物学者やデータ科学者にとって有益な機能がいくつか欠けている。

優れたビジュアライゼーションソフトウェアは、利用可能なデータタイプの多様性に合わせるために、さまざまなチャートタイプを作成する必要がある。高度にカスタマイズされた図に対して柔軟なパラメータ化を提供し、高解像度の出力を生成するなど、適切でpublication に適したデフォルト設定を採用しながら複数の出力フォーマットを可能にするべきである。さらに、それは既存の計算パイプラインとシームレスに統合しながら、直感的でインタラクティブなモードを提供する必要がある。周期的な開発を可能にして、パイプラインとインタラクティブなモード間で移行する能力があるべきである。最後に、適切な色の選択や特定のユースケースに合わせたレイアウトの提案など、優れたデザイン原則を奨励する必要がある。ユーザーがすぐに習熟するためには、詳細な例、チュートリアル、リアルタイムのインタラクティブなプロット調整機能、およびアプリケーションプログラミングインターフェイスAPI)が必要になる。今日まで、既存のビジュアライゼーションスイートでこれらのニーズを完全に満たしたものはない。

   このギャップを解消するために、本著者らはBPG(BoutrosLab.plotting.general)ライブラリーを作成した。これはグリッドグラフィックスシステムとラティスフレームワークを使ってRで実装されている。棒グラフや箱ひげ図などの一般的なプロットからマンハッタンプロットなどの特殊なプロットまで、幅広い種類のチャートタイプを生成できる(論文図1;コードは追加ファイル1にあり)。これらには、ドットマップを含む、いくつかの新しいプロットタイプが含まれる。マトリックスの内側に挿入された円のグリッドで、4次元データの表現を可能にする(論文図1n)。各プロット関数は高度にパラメータ化されており、プロットの美観を正確に制御できる。BPGのデフォルトパラメータは、公開に適した高解像度(1600 dpi)のTIFFファイルを生成する。ファイルの種類は、単にファイル拡張子を指定することによって指定される。目盛りの追加、フォントの選択、およびプロジェクト全体で一貫した印刷スタイルを作成するために連携するデフォルトの色など、その他のデフォルト値はグラフィックの一貫性に役立つ。デフォルト値は、高品質の数値を生成するように最適化されているため、手動で調整する必要はない。しかしながら、良いデフォルトでさえすべてのユースケースに適しているわけではない[ref.15]。追加ファイル2:図S1は、デフォルト設定または最適化設定(BPG、ベースRグラフィック、ggplot2、およびラティス)の4つの別々のグラフィックフレームワークを使用して作成された単一の散布図を示している。BPGは、デフォルトプロットと最適化プロットの両方に対して、他のフレームワークの半分のコードのみ必要とし、少なくとも同等の品質のプロットを作成した(追加ファイル3)。

  迅速なグラフィカルプロトタイピングを容易にするために、オンラインのインタラクティブなプロットインタフェースも作成した(http://bpg.oicr.on.ca)。このインタフェースにより、ユーザはパラメータ値を調整した結果を簡単かつ迅速に確認でき、それによってプロットの美観を正確に向上させることができる。このインタフェースによって生成されたRコードもダウンロードできる。

  BPGの重要な機能の1つは、複数のプロットを1つの図にまとめる機能である。これは、publicationsで広く使用されている手法である。これは、自動的にプロットを整列させ、最終的なFigure内のすべてのプロット要素にわたって線幅やフォントサイズなどのパラメータを標準化するcreate.multiplot関数によって実現されている。これは、PowerPointLaTeX、または他の同様のソフトウェアを使用した、遅くてエラーが発生しやすい数字の手動の組み合わせ、またはlayout()のような関数を使用して手動でプロット位置を直接整列するという時間のかかるパラメーター化を置き換えられる。複数のプロットを組み合わせる必要があるのは、データセットが複雑なためである。高次元のデータでは、関連するすべての情報を1つのチャートタイプにまとめることは困難である。複数のチャートタイプを組み合わせると、データをより詳細に視覚化できる。例えば、1つ目のプロットは異なるサンプルに存在する突然変異の数を伝える。2番目のプロットでは異なる変異タイプの割合を追加し、3番目のプロットではサンプルレベルの情報を追加する(論文図2)。論文図2のビジュアライゼーションの作成に使用したものを含む一連のサンプルデータセットをBPGに直接含めている。これらのデータセットからこのプロットを作成するためのソースコードは、追加ファイル4にある。

 

HP

https://labs.oicr.on.ca/boutros-lab/software/bpg

Guide

https://cran.r-project.org/web/packages/BoutrosLab.plotting.general/vignettes/PlottingGuide.pdf

Video tutorial

help

http://bpg.oicr.on.ca/API/BoutrosLab.plotting.general/5.3.4/index.html

 

 

webサービス

ここではオンラインのshiny アプリ版について、使い方を簡単に説明する。

http://bpg.oicr.on.ca にアクセスする。

f:id:kazumaxneo:20190410004831p:plain

 

サイトの構成を見るに、まず最初からロードされているデモデータを使って出力図を決定し、それから自分のデータを使うことを前提に設計されているように見える。そこで、この流れに従って使い方を見ていく事にする。

 

1、BPGにアクセスすると、defaultで以下のグラフが描画される(数秒~10秒程度かかる)。

f:id:kazumaxneo:20190607224020p:plain

 

最初に自動で描かれたファイルは以下の1-4の工程が自動実行されて描画されている。

f:id:kazumaxneo:20190607231513p:plain

他のパラメータはdefaultになっている。

 

2、パラメータは素早く変更できるように工夫されており、図の変更したい箇所をダブルクリックすると、左のメニューが指定パラメータのウィンドウに変化する。

f:id:kazumaxneo:20190607232456p:plain

Font Optionsタブからx軸の目盛りのフォントサイズを1.25=>2、カラーをblack => redに変更。

 

3、自分のデータを使う前に、デモデータの段階でどのようなグラフが適切か考える。左上からグラフの種類を切り替える。

f:id:kazumaxneo:20190607232833p:plain

 

barplotからboxplotに切り替えた。データはcars。他に定番のirisなども選べる。

f:id:kazumaxneo:20190607233225p:plain

(同じcarsのデータです)

 
他の例を見ていく。

hexbinplot

f:id:kazumaxneo:20190607233228p:plain

 

qqplot

f:id:kazumaxneo:20190607233548p:plain

 

histgram

f:id:kazumaxneo:20190607233421p:plain

 

manhattanplot

f:id:kazumaxneo:20190607233752p:plain

 

seqplot

f:id:kazumaxneo:20190607233826p:plain

 

densityplot

f:id:kazumaxneo:20190607233916p:plain

 

stripplot

f:id:kazumaxneo:20190607234021p:plain

 

violinplot

f:id:kazumaxneo:20190607234112p:plain

 

heatmap

f:id:kazumaxneo:20190607234144p:plain

 

自分のデータを使うにはBrowseからアップロードする。

f:id:kazumaxneo:20190608000623p:plain

Preview Dataで先頭を確認。

f:id:kazumaxneo:20190608000650p:plain

セパレータの種類とヘッダーの有無を選択する。セパレータのdefaultはコンマになっている。先頭にHeader行があるなら、Headerにチェックをつける。

f:id:kazumaxneo:20190607214045p:plain

 

それぞれのグラフでオススメの例を表示できる。下の画像のExampleのところでColourを選択、Loadをクリック。

f:id:kazumaxneo:20190608011555p:plain

 

右下を見ると使用データがexample1に切り替わっている(boxplotの例1(Colour))。

f:id:kazumaxneo:20190608011809p:plainこのパラメータ設定を真似れば、同じグラフが書ける。

 

右下のタブからR CODEタブを選択するとコードが表示される。再現性のある解析のため、図の作成工程を記録として残すのは重要である。また、GUIを使わずコンソールでランする時にも役に立ってくる。

f:id:kazumaxneo:20190608012048p:plain

f:id:kazumaxneo:20200302201553p:plain

f:id:kazumaxneo:20200302201751p:plain

f:id:kazumaxneo:20200302201755p:plain

f:id:kazumaxneo:20200302201800p:plain

f:id:kazumaxneo:20200302201811p:plain

f:id:kazumaxneo:20200302201905p:plain

f:id:kazumaxneo:20200302201903p:plain




 

機能が豊富すぎて説明しきれません。詳細は上に張ったリンクから確認して下さい。リンクのhelpには豊富な作成があります。

ローカルでの使い方についても、機会があれば説明したいと思います。

引用

BPG: Seamless, automated and interactive visualization of scientific data

Christine P’ng, Jeffrey Green, Lauren C. Chong, Daryl Waggott, Stephenie D. Prokopec, Mehrdad Shamsi, Francis Nguyen, Denise Y. F. Mak, Felix Lam, Marco A. Albuquerque, Ying Wu, Esther H. Jung, Maud H. W. Starmans, Michelle A. Chan-Seng-Yue, Cindy Q. Yao, Bianca Liang, Emilie Lalonde, Syed Haider, Nicole A. Simone, Dorota Sendorek, Kenneth C. Chu, Nathalie C. Moon, Natalie S. Fox, Michal R. Grzadkowski, Nicholas J. Harding, Clement Fung, Amanda R. Murdoch, Kathleen E. Houlahan, Jianxin Wang, David R. Garcia, Richard de Borja, Ren X. Sun, Xihui Lin, Gregory M. Chen, Aileen Lu,
Yu-Jia Shiah, Amin Zia, Ryan Kearns and Paul C. 

Boutros BMC Bioinformatics 2019 20:42

 

関連