macでインフォマティクス

macでインフォマティクス

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

インタラクティブなオンラインの系統樹ツール Interactive Tree Of Life (iTOL) v4

2020 7/2 誤字修正

 

 系統樹は、生物学やその他の科学分野において重要なツールであり、様々なデータタイプのコンテキスト化としても機能している。このことは、このような系統樹を作成するためのツールが頻繁に使われていることからもわかる(MEGA, (ref.2))。このようなツリーの可視化は、長年にわたって様々なソフトウェアツールによってカバーされてきたが、iTOL(ref.5)では、様々なタイプの追加データを含むツリーのアノテーションを導入した。現在では、ETE toolkit(ref.6)、Dendroscope(ref.7)、Evolview(ref.8)などのように、オンラインでもスタンドアロンでも、様々なソフトウェアパッケージがツリーのアノテーション機能を提供している。ここでは、iTOLの機能を拡張・合理化し、より強力で使いやすいものにしたiTOLの最近の開発について報告する。
 iTOLは、最新のWebブラウザからアクセス可能なオンラインツールである。ツリー表示エンジンは純粋なJavascriptで実装されており、可視化のためにHTML5 Canvasを使用している。
 iTOLは、一般的に使用されている系統樹のフォーマットをサポートしている。Newick、Nexus、phyloXMLである。EPAとpplacerによって作成されたPhylogenetic placements filesもサポートしている。現在のバージョンでは、QIIME 2 のツリーとアノテーションファイルのサポートが導入されている。(一部略)

 iTOLは、他の系統樹ビューアで利用可能なほとんどの一般的な機能を提供する。iTOL v4では、標準的な表示形式(rectangular, circular and unrooted)に加えて、系統樹の斜め表示モードをサポートしている。ツリーは様々な方法で操作することができ、基本的な編集機能では、単一ノードやクレード全体の削除や移動をインタラクティブに行うことができる。また、様々なパラメータ(関連するブートストラップ値や平均枝長距離など)に基づいて、手動または自動でブランチをカットしたり、縮めたりすることができる。また、任意のノードで手動で、または中点ルート法を使って自動的にツリーの re-rootができる。ツリーのleavesは、手動または自動で様々な方法でソートすることができる。

 現在のバージョンでは、いくつかの新しいアノテーション機能が導入されており、個々の表示要素に対するユーザーのコントロールが拡張され、4つの新しいデータセットタイプが追加されている(論文図2)。

 iTOLでは、ツリー内の個々のノードやラベルに対して、個々のスタイルや色をサポートしている。現在のバージョンでは、ユーザーインターフェース全体でUTF-8文字セットを完全にサポートし、Google Web Fontsリストから任意のフォントを使用できるようになり、さまざまなフォントやフォントスタイルのサポートが大幅に拡張されている。さらに、任意のテキストラベルの背景色を独立して変更できる。

  

https://twitter.com/search?q=iTOL%20v4&src=typed_query

video tutorial

https://itol.embl.de/video_tutorial.cgi

help

https://itol.embl.de/help.cgi

gallary

https://itol.embl.de/gallery.cgi

 

テストデータ

helpからexample annotation data(ダイレクトリンク)をダウンロードできる。その中にツリーファイルも含まれる。ここではこのデモデータを使う。

 

webサービス

https://itol.embl.de/ にアクセスする。気づかなかったが、いつの間にかv5になっている。

f:id:kazumaxneo:20200628180115p:plain

写真中央下のUpload treeボタン、または上のメニューからtreeファイルをアップロードする。Newick、Nexus、phyloXMLフォーマットやQiime2のツリーファイル等に対応している。

 

アカウントを作ってloginしておくと複数ツリーを管理でき便利になる。loginしない場合、この管理画面は表示されずそのままツリーが表示される。

f:id:kazumaxneo:20200702001310p:plain

 

1、基本操作

exampleデータを読み込んだ。管理画面でツリーファイルを選ぶとツリーが視覚化される。画面はインタラクティブにマウスホイールで拡大縮小したり、ドラッグで移動できる。これらの操作は左端のボタンでも可能になっている。

f:id:kazumaxneo:20200702001506p:plain

 

右のウィンドウからツリーの表示方法を変更できる。

f:id:kazumaxneo:20200702003644p:plain

 

DisplayモードはdefaultではCircularになっている。

f:id:kazumaxneo:20200702003720p:plain

 

Normal。長方形の形状の普通の系統樹

f:id:kazumaxneo:20200702003807p:plain

 

Unrooted

f:id:kazumaxneo:20200702004053p:plain

 

Normal、Slanted => ON

f:id:kazumaxneo:20200702004243p:plain

 

 

Normal、Dashed line => 3、Branch lines => 2

f:id:kazumaxneo:20200702004359p:plain

 

Labels => At tips

f:id:kazumaxneo:20200702004459p:plain

 

Labels => At tips  & Label shift 60、Label Font => Times New Roman

f:id:kazumaxneo:20200702004908p:plain

 

Advancedの機能も簡単に確認していく。

 

Branch length => Display、Fout  size 16、round to 2 decimals(小数点以下の表示桁数)

f:id:kazumaxneo:20200702010411p:plain

 

Branch length => Display、Display as age => ON。

f:id:kazumaxneo:20200702010833p:plain

年齢表示オプションを選択すると、枝の長さの値の代わりにノードの年齢が表示される。ツリー内で最も遠いノードの年齢はゼロで、ツリーのルートに向かって年齢が上昇していく。

 

ブートストラップ値は4つの方法で表示できる。 symbol modeのほか、text、color、widthモードになる。

bootstrap => Display & symbol mode、Legend On。

f:id:kazumaxneo:20200702013540p:plain

ブートストラップ値を表示できるのはツリーにブートストラップ値の情報が含まれている場合のみ。

 

bootstrap => Display & text mode、Font size 13、position on branch 30。

f:id:kazumaxneo:20200702013810p:plain

 

bootstrap => Display & color mode、Legend On。Display range 50-100。

f:id:kazumaxneo:20200702014011p:plain

 

bootstrap => Display & width mode、max width 3、min width 1。

f:id:kazumaxneo:20200702014155p:plain

 

bootstrap値が50以下の信頼性が低い枝は消す(実験によって閾値は変わる)。枝長が短いノード(<0.1)をcollapseする。

Auto collapse clades < 0.2 、Delete branches < 50。

f:id:kazumaxneo:20200702015013p:plain

 

collapseしているとcollapseした部分の形状を選べるメニューが表示される。

Collapsed nodes => circle。

f:id:kazumaxneo:20200702015832p:plain

 

Collapsedした枝はクリックすることで再び展開できる。

f:id:kazumaxneo:20200702020658p:plain

 

Internal tree scale => Display、interval1 => 0.2 & dark blue、font size 27、Set root to 1997 & Scaling factor 10。

f:id:kazumaxneo:20200702011315p:plain

タイムスケールモードでは、ツリーのスケールをカスタマイズして、枝の長さではなく他の値を表示することができる(データに合わせた適切な方法でツリーが推定・校正されている時にだけ利用できるオプションであることに注意する)

 

対応するノードIDを使って系統樹を描画している場合、右下のAuto aasign taxnomyボタンを押し、Reset treeを一度行うことで対応する名前に変更できる。ここでは数値が種名に変わる。

f:id:kazumaxneo:20200702021858p:plain

 

メニュー左下のSave/restore ボタンで名前をつけて設定を保存する。現在の設定をデフォルト設定として利用できるようになる。

f:id:kazumaxneo:20200702022317p:plain

Save as => 名前を決めて保存する。

f:id:kazumaxneo:20200702022053p:plain

 

設定はいつでも呼び出せる。非常に便利な機能。

f:id:kazumaxneo:20200702022445p:plain

枝をクリックすることで、クレード全体/特定のノードのフォントカラーやバックグラウンドを変更できる。

Color => Set clade color

f:id:kazumaxneo:20200702022723p:plain

赤を選択した。

f:id:kazumaxneo:20200702022804p:plain

 

選択したクレードだけ赤になった。

f:id:kazumaxneo:20200702022826p:plain

 

赤のクレードの枝を実線から破線に変更した。

Stype => Clade => Dashed line。

f:id:kazumaxneo:20200702023051p:plain

 

Leaf labels => set labels colorで色の変更。

f:id:kazumaxneo:20200702024059p:plain

 

フォントを緑にして、太字、size 3にした。

f:id:kazumaxneo:20200702024016p:plain

 

Leaf labels => set labels backgroundでフォントの背景色の変更。

f:id:kazumaxneo:20200702024328p:plain


背景を薄い緑にした。

f:id:kazumaxneo:20200702024413p:plain


背景を整えると、tree of lifeの環状ツリーのようにクレードごとの統一性が出る。

f:id:kazumaxneo:20200702104230p:plain

 

追記

クレード全体の背景を変えるにはColor => New color groupで色を設定する。上の方法だとノード間に色がない部分が残る。

f:id:kazumaxneo:20200703121042p:plain

 

不要なクレードを削除する。よく考えて行うこと。

Tree structure => Delete clade。

f:id:kazumaxneo:20200702023204p:plain

 

Copy leaf labels - 選択したクレードのラベルだけコピーする

f:id:kazumaxneo:20200702023554p:plain

テキストエディタに貼り付けた。

 

Rerot tree here

f:id:kazumaxneo:20200702023740p:plain

 

 

 

2、応用操作

ここからは一括設定や注釈ファイルの表示が可能なconfigファイルを使う流れを確認する。使うのは上のexampleファイル。中に様々な設定ファイルが入っているので、これを使ってiTOL v4で表現可能な注釈情報を示す。

f:id:kazumaxneo:20200702003532p:plain

exampleフォルダの中身。

 

実際に使用するには、注釈ファイルを表示中の系統樹の上にドラッグアンドドロップするだけでよい。

試しに colors_tol.txtを画面上にドラッグするとすぐに注釈が反映された。このcolors_tol.txtに記載されているのはノードのフォントサイズや色設定になるため、それらが反映されている。

 

f:id:kazumaxneo:20200702025305p:plain

 

次はranges.txtを読み込んだ。ranges.txtはそのままレンジを一括指定する。形状はcircularモードにしている。

f:id:kazumaxneo:20200702025604p:plain

 

tol_alignment.txt。マルチプルシーケンスアラインメントを系統樹の隣に表示する。特定のタンパク質や遺伝子の系統樹で使う。normalモードでしか表示されない。

f:id:kazumaxneo:20200702025814p:plain

 

tol_binary.txt

f:id:kazumaxneo:20200702030021p:plain

 

tol_binary2.txt

f:id:kazumaxneo:20200702030129p:plain

tol_binary.txtの後に追加した。複数メタデータを追加した場合、追加された順に内側から外側に向かって順番に表現される。

 

tol_boxplot.txt

f:id:kazumaxneo:20200702030326p:plain

 

tol_color_strip.txt

f:id:kazumaxneo:20200702030426p:plain

 

tol_domains.txt タンパク質ドメインなどを表示する。

f:id:kazumaxneo:20200702031019p:plain



tol_external_shapes.txt

f:id:kazumaxneo:20200702031133p:plain

 

 

tol_heatmap1.txt

f:id:kazumaxneo:20200702031239p:plain

 

tol_linechart-sine.txt

f:id:kazumaxneo:20200702031409p:plain

 

tol_multibar10.txt

f:id:kazumaxneo:20200702031456p:plain

 

tol_pies1.txt

f:id:kazumaxneo:20200702031556p:plain

tol_connections_leaves.txt

f:id:kazumaxneo:20200702223830p:plain

複数の設定ファイルを読み込み

f:id:kazumaxneo:20200702225304p:plain

左のメニューボタンの一番下には画面に直接半透明の四角や楕円を描いたりするmanual annotationボタンがある。しかしあまり使い勝手は良くなく、出力後にイラストレーターなどで編集する方が簡単に感じた。

 

ではexampleのtol_binary.txtを例に、実際にはどのようなファイルを用意すれば良いのかを説明する。このtol_binary.txtはバイナリ(1/0)表現可能なメタデータを読み込むときに使う。

tol_binary.txtの中身

f:id:kazumaxneo:20200702031904p:plain

f:id:kazumaxneo:20200702031905p:plain

 

このファイルを、iTOL v4のexample treeを表示させた状態で画面にドラッグ&ドロップすると、系統樹横に11個のメタデータが表示される。

f:id:kazumaxneo:20200702032356p:plain

 

これをどう制御しているのか説明する。まずtol_binary.txtの5-6行目。読み込むバイナリ値のセパレータはコンマとする。セパレータをコンマからタブに変える場合、5行目のコメントアウトを消し、7行目をコメントアウトする。

f:id:kazumaxneo:20200702032031p:plain

 

24-26行名は重要。11個のメタデータを追加したいなら、24-26行名それぞれ11指定する必要がある。例えば25行目だけ10個しか指定していないなど、ズレがあると何も表示されない。

f:id:kazumaxneo:20200702032242p:plain

24行目はラベル。ユニークな名前をメタデータの順番に11個指定する。

f:id:kazumaxneo:20200702033301p:plain

 

25行目は色。16進数カラーコード指定。メタデータの順番に11個指定する。16進数カラーコードはオンラインのカラーピッカーサイトやグラデーション表示計算サイト()を使用して下さい。

f:id:kazumaxneo:20200702033248p:plain

 

26行目はプロットの形状。19-23行目に記載されているように1-5の数値で形が決まる。下だとメタデータの一番内側は長方形。次は右向き矢印。メタデータの順番に11個指定する。

f:id:kazumaxneo:20200702033355p:plain

そのほか細かい指定があるが、テキスト自体コメントをつけながら書かれているので、読み込むexampleファイルを読めばわかるようになっている。

 

バイナリメタデータは最後に記載する。

f:id:kazumaxneo:20200702033703p:plain

 

系統樹のノード155864を拡大して示した。系統樹ではこのように表示されているが、

f:id:kazumaxneo:20200702034127p:plain

 

tol_binary.txtをみると、このノード155864は0,1,1,1,0,1,0,-1,0,1となっている。

f:id:kazumaxneo:20200702033950p:plain

11個のマークの形状はtol_binary.txtの26行目で決定しているので、この72行目で指定しているのはマークを表示するかしないかである。1は表示、0は白抜きで枠のみ表示、-1は非表示と決まっている。

 

結果をみると、左から1番目(◁)のマークは0なので白抜きで表示、2番目(◀︎)は1なので表示と、確かにそうなっている。8番目は-1なのでこれだけ非表示になっている。

f:id:kazumaxneo:20200702034127p:plain 

(繰り返しになるがマークの形状は26行目で指定、全てのサンプルに同じ形状が反映される)

 

このようにしてexampleのバイナリメタデータは表現されている。

f:id:kazumaxneo:20200702105903p:plain

 

 

読み込んだメタデータはDatasetからシンボルの間隔やサイズを変更できる。

f:id:kazumaxneo:20200702111515p:plain

configファイルに大半の情報を記載しているため、間違った時も設定をresetして再読み込みするだけでリカバー可能。メタデータのルール詳細は、上にリンクを張ったhelpを参照して下さい。

 

結果はPDFやSVGなどで出力できる。

f:id:kazumaxneo:20200702111934p:plain系統樹を保存するだけでなくシェアする機能もある。

 

exampleデータやgallaryファイルを数時間さわれば、大体の操作方法はマスターできます。テスト時は数千ノードあっても機能しました。バージョンアップを重ねているだけあってユーザーフレンドリな素晴らしいphylogenetic tree viewerになっています。

引用

Interactive Tree Of Life (iTOL) v4: recent updates and new developments
Ivica Letunic, Peer Bork
Nucleic Acids Research, Volume 47, Issue W1, 02 July 2019


Interactive Tree of Life (iTOL) v3: An Online Tool for the Display and Annotation of Phylogenetic and Other Trees

Ivica Letunic, Peer Bork

Nucleic Acids Res. 2016 Jul 8;44(W1):W242-5

 

Interactive Tree Of Life v2: Online Annotation and Display of Phylogenetic Trees Made Easy

Ivica Letunic , Peer Bork

Nucleic Acids Res. 2011 Jul;39


Interactive Tree Of Life (iTOL): An Online Tool for Phylogenetic Tree Display and Annotation

Ivica Letunic, Peer Bork

Bioinformatics. 2007 Jan 1;23(1):127-8

 

参考