macでインフォマティクス

macでインフォマティクス

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

(メタゲノム向け) blastアノテーション結果をインタラクティブなグラフで視覚化する Keanu

 

 メタゲノミクスは、環境サンプルから回収された遺伝物質の研究である。これらのサンプルは、特定の環境の多様性や生態学に関する情報を提供する。メタゲノミクス研究は通常、ショットガンシーケンスデータセットから得られた微生物シーケンスに焦点を当てている[ref.1]。ウイルス、細菌、真核生物の成分の特徴付けは、特定のサンプルに存在する多様性を総合的に理解するために重要である[ref.1]。シーケンシングプラットフォームとツールの急速な開発と改良により、研究者は環境サンプルの種の豊富さと多様性をよりよく観察することができる。しかしながら、これらの進歩はまた分析され解釈されるべき膨大な量のデータの発生をもたらした。大量のテキストデータを分析するのは面倒で困難なプロセスである。メタゲノミクス研究も例外ではない。得られたデータセットは、本質的な多次元性と、複数レベルの階層および接続性の存在によって特徴付けられる[ref.2]。視覚化は、研究者がデータについてさらに質問をすることができるもの、および追加の分析を実行できるものを決定するのに役立つ。対話機能により、さらに調査と分析のオプションが追加される。メタゲノミクスデータの視覚化は研究の活発な分野であり、毎年新しい方法が開発されている。視覚化方法は、それらの視覚化能力に従って分類することができる。いくつかの方法は、単一のメタゲノムを視覚的に探索することを目的としているが、他の方法は、複数のメタゲノムの視覚化を可能にする。このツールには、円グラフ、バブルチャート、ツリーと樹状図、ボックスプロット、自己組織化マップなど、さまざまな種類の視覚化も含まれる。さまざまな視覚化方法とツールの詳細なレビューについては[ref.2]を参照してください。

 ここでは、アラスカ内陸部の古代の土壌における生物多様性のパターンを調査するために、微生物、ウイルス、真核生物種を含むメタゲノムの種構成を調べることができる可視化ツール、Keanuを開発した。このツールは、ローカルで開くことができ、内容に基づいてサンプルをさらに分析する方法を決定するために探索できるインタラクティブなWebページを生成する。この種の探索的データ分析は、どのような種類の追加の質問にデータを尋ねることができるのか、およびより多くのデータを収集する必要があるのか​​どうかを知らせる[ref.3]。静止画像は小さなデータセットを探索するのに役立つが、そのような画像はデータによっては非常に大きくまたは非常に詳細になることがあるため、それらの探索は困難になる。この対話型の視覚化はNCBI分類データベースからの情報を使用して、ルートから種レベルまで降順で各分類群の存在量を示している。ユーザーは、データセット全体の混沌とし​​たノイズの多い視覚化を作成せずに分類の特定のサブセクションを探索できる。

 Keanuに似たツールが開発された。 MetaSee [ref.4]は、かつてはWebサービスおよびスタンドアロンGUIアプリケーションとして利用可能だった。Keanuが使用しているのと非常によく似た形式でメタゲノムデータを表示できる対話型の視覚化ツールだったが、MetaSeeを実行することは、サーバーのソースコードをダウンロードしてローカルで実行する必要があるため、簡単な作業ではない。 Blobtools [ref.5]とMetacoder [ref.6]はどちらも大きな静止画像を作成する。 Blobtoolsは、BLOBプロットを作成するPythonツールである。 Metacoder [ref.6]はヒートツリーを作成するRパッケージである。どちらもKeanuの開発を駆り立てたインタラクティブな機能を欠いている。 Keanuはローカルで実行されるため、ユーザーはWebサービスを使用してデータベースを管理するのではなく最新のデータベースを管理したり、サービスをホストしたりすることができる。また、Keanuの対話機能は出力の分析に役立つ。

 

f:id:kazumaxneo:20190317181449p:plain

Fig. 2
flow diagram of Keanu showing how data is piped into different tools or processes

論文より転載

 

インストール

依存

Keanu can be run on any system where Python is available, which includes Windows, macOS, and Linux.

Github

git clone https://github.com/IGBB/keanu.git
cd keanu/

> python3 make_db.py -h

# python3 make_db.py -h

usage: make_db.py [-h] [-names NAMES] [-nodes NODES] [-merged MERGED]

                  [-deleted DELETED] [-out_db OUT_DB] [-out_md_db OUT_MD_DB]

 

A tool to format NCBI taxonomy data for Keanu

 

optional arguments:

  -h, --help            show this help message and exit

  -names NAMES          Location of names.dmp

  -nodes NODES          Location of nodes.dmp

  -merged MERGED        Location of merged.dmp

  -deleted DELETED      Location of delnodes.dmp

  -out_db OUT_DB        Name of output taxonomy database

  -out_md_db OUT_MD_DB  Name of output merged/deleted database

> python3 format_input.py -h

# python3 format_input.py -h

usage: format_input.py [-h] [-in INPUT] [-out OUTPUT]

 

A tool to format BLAST qseqid/staxid files into Keanu's input

 

optional arguments:

  -h, --help            show this help message and exit

  -in INPUT, --input INPUT

                        BLAST query/taxon data

  -out OUTPUT, --output OUTPUT

                        Output filename

> python3 keanu.py -h

# python3 keanu.py -h

usage: keanu.py [-h] [-db DATABASE] [-md_db MERGED_DELETED_DATABASE]

                [-view {tree,bilevel}] [-in INPUT] [-out OUTPUT]

 

optional arguments:

  -h, --help            show this help message and exit

  -db DATABASE, --database DATABASE

                        Formatted taxonomy database

  -md_db MERGED_DELETED_DATABASE, --merged_deleted_database MERGED_DELETED_DATABASE

                        Merged/deleted taxonomy database

  -view {tree,bilevel}, --view {tree,bilevel}

                        View choice

  -in INPUT, --input INPUT

                        Input data set

  -out OUTPUT, --output OUTPUT

                        Output HTML filename

 

 

実行方法

1、blast実行。" -outfmt '6 std staxids' "をつけて実行する。ここではblastnを使っているが、感度を上げるならアミノ酸で探す(クエリが塩基配列なら、プロテインデータベースを用意してx)。

blastn -db blast_database/nt -query sample2.fasta -outfmt '6 std staxids' -out query.txt -num_threads 10 -evalue 1e-10

 

2、データベース作成。初回のみ。ローカルのblastデータベースを指定する。

#taxdmpファイルのダウンロード
wget ftp://ftp.ncbi.nih.gov/pub/taxonomy/taxdump.tar.gz
tar -zxvf taxdump.tar.gz

python3 make_db.py -names names.dmp -nodes nodes.dmp \
-out_db taxonomy.dat -deleted delnodes.dmp -merged merged.dmp \
-out_md_db merged_deleted.dat

 

3、クエリデータの準備。

python3 format_input.py -in query.txt -out keanu.txt

 

4、グラフ表示

bilevel partition graph

python3 keanu.py -db taxonomy.dat -md_db merged_deleted.dat \
-in keanu.txt -view bilevel -out bilevel.html

 

5、collapsible tree表示

python3 keanu.py -db taxonomy.dat -md_db merged_deleted.dat \
-in keanu.txt -view tree -out tree.html

 

テスト時はhtml出力でエラーになxった。 

引用

Keanu: a novel visualization tool to explore biodiversity in metagenomes

Adam Thrash, Mark ArickII, Robyn A. Barbato, Robert M. Jones, Thomas A. Douglas, Julie Esdale, Edward J. Perkins and Natàlia Garcia-ReyeroEmail author
BMC Bioinformatics 2019 20 (Suppl 2) :103

 

 

参考

https://evosite3d.blogspot.com/2013/06/browsing-ncbi-taxonomy-with-python.html