macでインフォマティクス

macでインフォマティクス

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

アセンブリ配列を使って全ゲノムMLST (wgMLST) を行い、アレルプロファイルから系統を比較・再構成する fast-GeP

2018 11/16 tips追記 

2019 3/9 docker pullリンク追記

2019 11/8 誤字修正

2020 4/6, 4/7  実行手順追記

2022/07/21 コマンド修正

 

 Multilocus sequence typing(MLST)などの遺伝子ベースのタイピング法は、バクテリアpopulationsのゲノム研究のための「ゴールドスタンダード」である(Maiden et al、2013; Sheppard et al、2012)。大量の全ゲノムシーケンシング(WGS)データが入手可能になるにつれて、精査中の遺伝子の数は典型的に7 MLST(Maiden、2006; Sheppardら、2012)から53リボソームMLST(Jolley et al、 2012)、1000を超える全ゲノムMLST(wgMLST)(Cody et al、2013; Llarena et al、2017; Zhang et al、2015)に急速に拡大した。

 バクテリアWGSデータをアレルプロファイルに変換するためのいくつかのバイオインフォマティクスツールが開発されている。 PubMLSTデータベース(https://pubmlst.org)によって使用されるBIGSdbは、遺伝子ごとにアレルシーケンスデータベースを検索することによってアレルを割り当てる(Jolley and Maiden、2010)。 EnteroBase(https://github.com/EnteroBaseGroup/EnteroBase)はまた、リファレンス配列データベースを検索するためにBLASTおよびUSEARCHを使用する予め定義されたスキームに依存する。 BionumericsおよびRidom SeqSphere +のような商業的プログラムは、あらかじめ定義されたアレルデータベース(例えば、http://www.cgmlst.org/ncs)を検索し、アレル番号をゲノムに割り当てるために、遺伝子ごとに同様のアプローチを用いるようである。

 可搬性、スケーラビリティ、高解像度、明白な性質(Cody et al、2013; Maiden et al、2013; Sheppard et al、2012)などのMLSTのようなタイピング方法の利点にもかかわらず、さらなるアプリケーションを制限するボトルネックがある(Cody et al、2013; Llarena et al、2017; Sheppard et al、2012)にMLSTのようなタイピング法が用いられている。例えば、ほとんどのMLSTライクなタイピング方法は、スキームで定義されているバリエーションのみを検出することができる(Sheppard et al、2012)。既存のスキームは、いくつかのよく研究されたバクテリア種に高度に偏向されており、あまり研究されていない種は、スキームが不十分であるか、全く利用できないスキームを持っている。

 速度は、特に大量のWGSデータまたは距離が離れた分離株を処理する場合の別の制限になる(Cody et al、2013; Llarena et al、2017; Taboada et al、2017)。 GePを例にとると、distantly relatedな単離株同士の比較では、集中的なhomologous lociを探すために計算集約的なプログラムBLASTXを頻繁に呼び出すため、実行時間が劇的に増加する。対照的に、疫学調査では、疫学的に関連した単離株をアウトブレイクとは無関係のものから迅速に特定し、適時かつ適切な介入を確保することが重要である(Cody et al、2013)。

  Gene-by-gene allele calling approachは、MLST分析に由来し、元のデータ検索プロセスを反映する(Maiden 2006; Maiden et al、2013; Sheppard et al、2012)。典型的には、遺伝子配列は、PCRによって1つずつ増幅され、サンガー法によってシーケンシングされる。次いで、これらの配列を既存のアレル配列と個別に比較して完全一致を同定する(Maiden 2006; Maiden et al、2013; Sheppard et al、2012)。現在のWGS技術は、一回の操作で1株の複数遺伝子シーケンシングを可能にする。従って、現在の非効率的なアレルコール方法はリプレースされる必要がある。

方法

 手短に言えば、各単離株の全ゲノム配列を連結し、単一のクエリにして、すべての座位のすべての既知アレル配列からなるアドホックなアレルデータベースを作成してサーチする。より遠く離れたオーソロガス遺伝子を同定するため、BLASTXを使いWGSヌクレオチドを翻訳してアレルプロテインデータベースに対してサーチを行い、一次アレルコールを行った。リファレンスアミノ酸配列に完全にアライメントされる全てのオーソログ遺伝子は、後の使用のために抽出される。ゲノム中のマルチコピー遺伝子の場合、遺伝子座はパラログとしてマークされ、分析から除外された。より多くのオーソログ遺伝子を見つける機会を増やすために、フレームシフト突然変異を含むアレルの場合のように、最初の検索で省略されたアレルを見つけるために相補的なヌクレオチドデータベース検索がその後に実行された。

 新しいアルゴリズムを実装し、Fast-Genome Profiler(Fast-GeP)という新しいプログラムを作成した。さらに速度を上げるために、DIAMOND(Buchfink et al、2015)アライナーをBLAST +(Camacho et al、2009)とともにオプションとして実装した。 DIAMONDは近年開発された配列アライナーで、BLAST +パッケージのBLASTXよりも20,000倍高速で、同等近い感度を備えている。Enterococcus faeciumおよびEnterococcus faecalis由来の2セットのWGSデータを用いてFast-GePをテストした。

 

GeP


インストール

ubuntu14.04のminiconda2.4.0.5環境でテストした(docker使用。ホストOS: mac os10.12)。

依存

Tsted in MacOS (OS X 10.9.5 and High Sierra v 10.13.1) and Ubuntu (14.04 and 16.04)

  • BLAST+
  • DIAMOND (v0.9.10.111 or higher)
  • MAFFT
  • SplitsTree4 (to generate a phylogenetic network from the output file Splitstree.nex)
conda install -y -c bioconda blast diamond mafft

 SplitsTree4については、HPから.dmgファイルをダウンロードし、指示に従ってインストールする。

本体 Github

git clone https://github.com/jizhang-nz/fast-GeP.git
cd fast-GeP/

perl fast-GeP.pl -h

perl fast-GeP.pl -h

 

Fast Genome Profiler (Fast-GeP) - extraction of allele profiles from genomic sequences with genome-by-genome approach.

version: 1.0

date: 4.1.2018

 

Example commands: 

fast-GeP -g list_genomes.txt -r reference.gbk

 

or,

perl fast-GeP.pl -g list_genomes.txt -r reference.gbk

 

 

Switch:

   -h: Show help

   -v: Do not show progress on the screen.

   -l: Produce extended results.

   -n: Do not produce pairwise comparison files for all the isolates. 

   -b: Using DIAMOND instead of BLAST+ as aligner in the primary search.

 

Option:

   -g: Name of the text file listing the genomic sequences need to be analyzed. Each file name should occupy a line.

   -r: Name of the reference genome sequence (GenBank format).

   -c: Minimum coverage of alignment to define an allele. [Default = 100].

   -i: Minimum identity percentage to define an allele. [Default = 80].

   -t: Minimum coverage of alignment to define a truncated allele. [Default = 50].

   -d: Number of N filled in concatinating the assemblies. [Default = 200]. 

dockerイメージも上げておきます。

docker pull kazumax/fastgep

#currentと/dataをシェアしてラン
docker run -itv $PWD:/data/ kazumax/fastgep
source ~/.profile

cd ~/fast-GeP/
perl fast-GeP.pl -h

 

テストラン

解凍

cd fast-GeP/Examples/E.faecalis/
unzip input_files.zip && cd input_files/

 

input_files(それぞれアセンブリのmuliti-fastaファイル)

f:id:kazumaxneo:20181115070809p:plain

 

ランにはリファレンスのgenbankファイル、比較したい生き物のゲノムfastaファイル (complete or draft) を使う。ゲノムfastaは場所を示したリストファイルにして与える必要がある(テストファイルでは用意されている)。(*1)

> head fast-GeP/Examples/E.faecalis/input_files/list.genomes.txt 

 $ head fast-GeP/Examples/E.faecalis/input_files/list.genomes.txt 

EN167.fas

EN182.fas

EN19.fas

EN208.fas

EN209.fas

EN215.fas

EN242.fas

EN24.fas

EN258.fas

EN28.fas

——

手持ちのゲノムデータを使う場合、lsでリストを与えればよい。

ls genome_dir/*fasta > list

 

準備できたら実行する。

#diamondを使用
perl /fast-GeP/fast-GeP.pl -g list.genomes.txt -r EN893.gbk -b -l

#またはblast+を使用
perl /fast-GeP/fast-GeP.pl -g list.genomes.txt -r EN893.gbk -l
  • -l    Produce extended results.
  • -n   Do not produce pairwise comparison files for all the isolates. 
  • -b   Using DIAMOND instead of BLAST+ as aligner in the primary search.

テストランでも終わるまで数時間かかった。また、300ゲノム比較すると一晩かかった(TR3990x)。

 

出力

scheme_1541933704

f:id:kazumaxneo:20181111205135p:plain

output_1541933704

f:id:kazumaxneo:20181111205139p:plain

 

difference_matrix.html

f:id:kazumaxneo:20181111205105p:plain

 

allele_calling.txt

f:id:kazumaxneo:20181115161804j:plain

 

Splitstree.nexをSplitsTree4で開く。

f:id:kazumaxneo:20181111205106p:plain

 

引用

Genome-by-genome approach for fast bacterial genealogical relationship evaluation
Zhang J, Xiong Y, Rogers L, Carter GP, French N

Bioinformatics. 2018 Mar 28


Refinement of whole-genome multilocus sequence typing analysis by addressing gene paralogy
Zhang J, Halkilahti J, Hänninen ML, Rossi M

J Clin Microbiol. 2015 May;53(5):1765-7

 

参考 

*1

リストファイルを作成するなら、例えば

ls -1 *fasta > list

 

関連