macでインフォマティクス

macでインフォマティクス

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

時系列データなどの連続データを視覚化するwebサービス PlotTwist

 2020 3/13 誤字修正、補足説明追加

 

 要約だけでなく、個々の測定からの実際のデータを表示することで、実験結果の理解が深まり、より完全な全体像が得られることは長年にわたって強調されてきた[ref.1-3]。これは、ダイナミクスを研究するための時間依存データと同様に、静的条件下で取得したデータにも当てはまる[ref.4]。静的な離散条件(関連wiki)の場合、ドットプロットはデータをグラフィカルに描写するのに適した方法である。実際のデータを表示するオプションを含むいくつかのオンラインデータ視覚化ツールが報告されている[ref.4–8]。

 連続データを視覚化するツールが報告されている[ref.9,10]が、これらには一般的な目的があり、実験データを表示するためによく使用されるいくつかの機能がない。科学実験からの連続データを視覚化するための専用のオンラインツールは(著者らの知る限り)不足している。これは驚くべきことである。特に生物学に関連する動的システムを理解するには、時間をかけて実験する必要があるためである。さらに、時系列実験はhigh contentになる可能性があり[ref.11]、複数の異なる摂動(wiki)の適用が含まれる場合がある。時系列データの複雑さは、データを迅速に検査し、さまざまな視覚化にアクセスするためのツールを必要とする。その次に、実験中に適用された治療法/摂動を明確に伝えることが重要である。タイムラプス実験に加えて、他の多くの実験戦略が連続データを提供する。例には、長さ、濃度、または波長の測定が含まれる。これらのタイプのデータは、測定された変数を定量的で連続的なスケールで視覚化するプロットで描かれることがよくある。

 理想的には、連続データ用のデータ視覚化ツールが無料で利用可能であり、オープンソースであり、出版準備の整った高品質のグラフを生成する。個別データ用のこのようなWebツールを以前に報告し[ref.6]、コミュニティからの熱烈な反応を与えられて、連続データ用のWebツールを生成するように動機付けられた。 Webツールの焦点は時系列データにあるが、通常は連続的なデータに使用できる。

 生成した新しいWebツールはPlotTwistと呼ばれ、設定された時間の条件のインジケーターを使用したタイムラプス実験からのデータをプロットする。この無料のオープンソースアプリは、連続データの迅速な視覚化と注釈付けを容易にするために開発された。 PlotTwistでグラフを作成するにはコーディングスキルは必要ない。ggplot2パッケージにより最先端のデータ視覚化を生成する。したがって、PlotTwistはデータの検査と出版品質の視覚化の生成に適していると考えられる。

 

 

Converting excellent spreadsheets to tidy data

https://thenode.biologists.com/converting-excellent-spreadsheets-tidy-data/education/

 

Github


データの準備

PlotTwistで使用可能なデータは、カンマ区切りのCSVかはexcelのXLS形式のファイルである。いずれの場合も、フォーマットはwide data formatかtidy data formatで記述されていなければならない。この2つのフォーマットについて簡単に解説する。

 

1、wide data format

表1はwide data formatの例である。時系列データをexcelなどの表計算ソフトでまとめる場合、作図のしやすさもあってこのwide data format形式(スプレッドシート形式)でまとめることが多い。いわゆるヒトにとって見やすいデータ構造である。このwide data format形式のファイルをPlotTwistのサイトにアップロードした場合、1行目がヘッダーとして機能し、列の名前に使用される(表1ではcell_01からcell_03)。1列目の2行目以降は時間として働く。1行目のサンプル/条件名にスペースが含まれている場合、アンダースコアに変換されて読み込まれる。

表1、wide data format

f:id:kazumaxneo:20200312203448p:plain

(表1はPlotTwistのwide data formatのデモデータより転載)

データがwide data formatでPlotTwistにアップロードされた場合、データはtidy data formatに変換され、条件「id」を識別する列が追加される。この変換はユーザーには表示されないが、ggplot2でのプロットには必要である。


2、tidy data format

表2はtidy data format(整然データフォーマット)の例である。tidy data formatでは、時間(Time)、各サンプル/条件の識別子(sample)、測定値(Value)、および条件(id)をそれぞれの列に記載する。このファイルをPlotTwistにアップロード後、どの列がどの要素なのかを指定していく。このtidy data formatはggplot2で作画する際にお馴染みのデータフォーマットである。

表2、tidy data format 

f:id:kazumaxneo:20200312213038p:plain

 tidy data formatではサンプルの時間ごとに繰り返し値をプロットしているため、縦に冗長で人の目にとっては見にくいデータ構造にも見えますが、観測値と変数が行列に1つずつ記載されている"整然な"データ構造です。欠損値があった場合にもエラーが起きなくなり、データ分析において堅牢なデータ構造と言えます(わかりやすい解説)。

 論文図1にwide formatとtidy data formatの説明があります。確認して下さい ( link) 。また、複数のワイドデータセットが同時に(CSVまたはXLS形式で)アップロードされる場合、これらはそれぞれ異なる条件として扱われます。論文には補足ムービー(S1 movie) があり、こちらには、複数ファイルのアップロードがどのように行われるかを示されています。合わせて確認して下さい(movie S1 ダイレクトリンク)。

 

 

webサービス

https://huygens.science.uva.nl/PlotTwist/ にアクセスする。

f:id:kazumaxneo:20200310184648p:plain

Type of fileを選んでからCSV、またはexcelのXLS形式ファイルをアップロードする。またはウィンドウ内にペーストする。

f:id:kazumaxneo:20200313000411p:plain

 

表が読み込まれる。

f:id:kazumaxneo:20200313001146p:plain

 

読み込まれるデータがtydy data formatの場合は、These data are Tydyにチェックを付ける。

f:id:kazumaxneo:20200313001248p:plain

 

上でも説明したように、時間の列、観測値の列などを指定していく。

f:id:kazumaxneo:20200313002436p:plain

 

Data normalizationボタンにチェックを付けると、比較を容易にするためのデータ正規化オプションが利用できる。

f:id:kazumaxneo:20200313000243p:plain

値の最大/最小値での除算、ユーザーが指定したベースライン値での除算、Z-score、差をベースラインで除算し、最大値で除算して0〜1のスケールなどできる。


正規化後のデータは左下のボタンからダウンロードできる。

f:id:kazumaxneo:20200313110415p:plain

 

 

プロット
Plotのタブに移るとデータが可視化される。デフォルトのグラフでは、x軸に沿って時間が表示され、y軸に測定値が表示される。

f:id:kazumaxneo:20200313110547p:plain

こちらはwide data formatの例になる。

 

 

Data as でフォーマットの切り替えができる。 初期はLines(折れ線グラフ)になっており、各サンプルのすべての座標が線で結んで表示される。

f:id:kazumaxneo:20200313110721p:plain

Dotsに変更

f:id:kazumaxneo:20200313110723p:plain

Heatmapに変更

f:id:kazumaxneo:20200313110728p:plain

Small multiplesに変更すると系列ごとに異なるグラフで表示される。

f:id:kazumaxneo:20200313111257p:plain

LInesに戻してThe plot thickensにチェックをつけた。

f:id:kazumaxneo:20200313111357p:plain

 

show the meanにチェックをつけた。

f:id:kazumaxneo:20200313111114p:plain

show the meanを外してShow the 95% CIにチェックをつけた。

f:id:kazumaxneo:20200313111155p:plain

平均値および/または平均の95%信頼区間(Confidence interval, CI)は、個々のサンプルの線の上に透明なレイヤーとして描画される。95%の信頼区間により、「視覚的推論」による差異条件の比較が可能になる(論文より)。

 

x軸を0-300にした。

f:id:kazumaxneo:20200313112251p:plain

y軸を0-2にした。

f:id:kazumaxneo:20200313112531p:plain

 

log scale

f:id:kazumaxneo:20200313112639p:plain

 

Remove gridlines

f:id:kazumaxneo:20200313112731p:plain

 

Use color for the data

f:id:kazumaxneo:20200313112804p:plain

 

Use color for the stats

f:id:kazumaxneo:20200313112827p:plain

 

LInesに切り替え、Use color for the dataにチェックを付け、色はTol; mutedにした。さらにVisibility of the dataのゲージを動かして線を0.8まで太くした。Visibility of the statisticsは1にした。

f:id:kazumaxneo:20200313113102p:plain

さらにUse color for the statsにチェックを付け、色はTol; brightにした。

f:id:kazumaxneo:20200313113242p:plain

色覚異常に優しいカラーパレットも利用できる。パレットは7〜10色で構成され、その正確な構成は論文図3Aに示されている。複数の条件のデータが提供されている場合、各条件の統計は異なる色で表示できるようになっている(論文より)。

 

 HeightとWidthをそれぞれ720と900にした。

f:id:kazumaxneo:20200313113410p:plain

 

タイトルをつけ、x軸とy軸の名前を変更した。さらに軸のフォントサイズを大きくした。

f:id:kazumaxneo:20200313114034p:plain

 

 Add legendにチェックを付け、さらにLegend titleのウィンドウに書き込んでレジェンド名を付けた。

f:id:kazumaxneo:20200313114239p:plain

 

Add legendのチェックを外し、Add labels to objectsにチェックを付けた。

f:id:kazumaxneo:20200313114413p:plain

 

 

クラスタリング

プロットタブの右にあるクラスタリングタブでは、類似性に基づいてデータがグループ化されて視覚化される。時系列データでのクラスタリングの適用は比較的新しいため、どのクラスタリング手法が最良の生物学的洞察を提供するかは不明だが、クラスター分析を容易にするため、PlotTwistにはいくつかの教師なしの方法が実装されている(論文より)。

初期条件ではユークリッド距離でのウォード法になっている。

f:id:kazumaxneo:20200313115320p:plain

非階層的なk-meansなども利用できる。

 

クラスター分析の重要な1つの側面は、適切な数のクラスターを見つけることである。クラスタリング方法とクラスター番号に関するガイダンスを提供するために、PlotTwist ではクラスター検証インデックス(CVI)を計算できるようになっている[ref.13]。特定の数のクラスターの数を返す3つの異なるCVIが実装されている(論文より)。

数値が大きいほど、クラスタリングが向上する。 CVIはデータを要約する統計であり、それに応じて処理する必要があることに注意する。

 

ユークリッド距離でのウォード法にするクラスタリングでは、Calinski Harabasz indexは9.93になった。

f:id:kazumaxneo:20200313121853p:plain

CVIに応じて最適なクラスターの数は、基礎となる生物学を必ずしも反映していない(詳細は論文を読んで下さい)。

  

クラスター数を2にから6にして、widesを1200にした。

f:id:kazumaxneo:20200313115943p:plain

 Show contributions per conditionにチェックを付けてそれぞれのクラスターへの分配比率を表示した。

f:id:kazumaxneo:20200313120118p:plain

 

作成した図は左上のボタンからPDF、またはPNGとしてダウンロードできる。

 

f:id:kazumaxneo:20200313122501p:plain

引用

PlotTwist: A web app for plotting and annotating continuous data
Joachim Goedhart

PLoS Biol. 2020 Jan 13;18(1):e3000581

 

関連