macでインフォマティクス

macでインフォマティクス

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

Procaryotesの自動アセンブリパイプライン Mypro

Pos 

 最近の全ゲノムシーケンシング(WGS)技術のコストの低下は、様々な原核生物のシーケンシングの増加をもたらした。典型的なゲノミクスプロジェクトでは、データマイニングの前にシーケンシングリードを処理する必要がある(Hasman et al、2014; Rhoads et al、2014)。このプロセスには、品質管理チェックや前処理対策、新規アセンブリおよび/またはリファレンスベースアセンブリ、マニュアル改良の有無にかかわらず自動アノテーション、ギャップ充填などの方法によるゲノム品質の向上が含まれる。ゲノムアセンブリアノテーションおよび(Koren et al、2014; Magoc et al、2013; Seemann、2014; Swain et al、2012)を達成するために、現在、様々なソフトウェアが利用可能である。しかし、適切なバイオインフォマティクスの訓練と支援がない科学者や小規模な研究所の能力は、有意義な結果を得るためにゲノムインフォマティクスツールの実行を制限するかもしれない(Nocq et al、2013)。

 ここでは、最小限のプログラミング技術しか必要としない原核生物ゲノム用のユーザーフレンドリーなゲノミクスソフトウェアパイプラインであるMyProを紹介する。パイプラインは、品質管理と前処理ツール、デノボアセンブラ、contigインテグレーションソフトウェア、アノテーションとリファレンスベースアセンブリのツールで構成されている。

 使いやすさを向上させるため、MyProは自動でデノボアセンブリアセンブリ統合(genome assembly reconciliation toolsを使う)、ゲノムアノテーションを行うよう設計されている。これは、3つの主要なモジュールで構成されている:アセンブリ、統合、アノテーション(論文 図1)。 VelvetOptimiser 2.2.5(Zerbino and Birney、2008)、Edena V3.131028(Hernandez et al、2008)、Abyss 1.5.2(Simpson et al、2009)、SOAPdenovo 2.01(Luo et al 、2012)およびSPAdes 3.1.1(Bankevich et al、2012)はBioLinux 8(Field et al、2006)(pubmed)にインストールおよび設定されており、MyProのAssembleモジュール内で複数のアセンブリを作成できる。

 5つのアセンブラのほとんどは、de-Bruijnグラフベースのアルゴリズムを使用している。これらのアルゴリズムは、k-merパラメータに大きく依存している。 Fastq形式のシーケンシングデータを入力した後、VelvetOptimiserを使用して最初に0.6から0.9までのk-merのパラメータスイープを実行する。最適なk-merは、最も高いN50コンティグの長さに対して自動的に選択され、このk-merはAbyssおよびSOAPdenovoアセンブリに使用される。ペアエンドリードの場合、VelvetOptimiserはインサートサイズとその標準偏差を推定し、後で使用するためにMyProに保存する。入力リード長に応じて、SPAdesアセンブリは、リード長150 bpでk-mer長21, 33, 55が設定され、150〜250bpのリードに対しては21, 33, 55, 77のk-mer長が設定される。250bp以上のリード長では21,33,55,77,99および127のk-mer長が設定される。 Edenaはオーバラップレイアウトに基づいたアセンブリを行うため、k-merの代わりに最小オーバラップサイズ(m)を必要とする。 mの値はリード長の半分に設定され、リード長まで徐々に増加する。最適なmは、最も高いN50コンティグの長さに対して自動的に選択され、対応するアセンブリはEdenaアセンブリとして保持される。

 複数のアセンブリが取得されると、必要に応じて事前計算されたリード情報(例えば、ペアエンドリードの最小および最大インサートサイズ)を用い、SOAP2(Li et al、2009)によって入力リードがマッピングされる。アライメント率はアセンブリを評価するために使用される。高品質のコンティグを提供し、可能性のある汚染配列を除去するために、100アライメント未満のコンティグは除去され、コンティグ数、最も長いコンティグ長、N50および全ゲノムサイズなどの基本的なアセンブリ統計がレポートされる。 MyPro(Integrate.py)は、CISA 1.3(Lin and Liao、2013)を使用してAssembleモジュールによって生成されたアセンブリを統合することにより優れたアセンブリを提供する。自動化されたパイプラインでは、アセンブリ統計に基づくワーストのアセンブリは、Integrateモジュールを実行する前に削除される。ユーザーは5つのアセンブリの中から選択することも、他のアセンブリを統合に追加することもできる。

 アノテーションモジュールでは、迅速なアノテーションを実装するProkka(シーマン2014年)のコアデータベース制限を、高品質のリファレンスゲノムデータベースと最新のSwiss- Protデータベース(Tatusova et al、2013)(注: 論文当時のデータ)を使用して増強した。 MyPro(Annotate.py)はCISAアセンブリに自動的にアノテーションを付けるが、ユーザーはフォルダに配置された他のアセンブリアノテーションを付けることもできる。

 3つの主要なモジュールに加えて、MyProは、前処理、exploration(以後、探索)、およびpost-assemblyのための機能を提供する。特定のゲノムサイズの前処理では、MyPro(Preprocess.py)はクオリティトリミングを実行し、入力リードを所望のカバレッジデプス(デフォルト100×)にサブサンプルする。アセンブリの探索のために、MyProはリードのアライメントをBAM形式で出力し、Tablet(Milne et al、2012)によるアセンブリの外観検査を可能にする。closely relatedなリファレンスゲノムが利用可能である場合、r2cat(Husemann and Stoye、2010)を使い、関連したリファレンスを用いコンティグを順序付け、不一致コンティグを見つける。MyPro(Postassemble.py)は、コンティグとリードの両方をセットを使用してポストアセンブルを行う。リファレンスガイドのオーダーで重複するコンティグ(15 bp以上)はマージされる。マージされたコンティグ上のSOAP2によってマッピングされないリードは、Edenaにより様々なmを使用してアセンブルされたローカルアセンブリは、2つのコンティグをブリッジするために使用される。

  MyProを検証するために、著者らは、GC-コンテンツが両極端な3つの菌種:GC-poor Staphylococcus aureus (33% GC)、GC-rich Rhodobacter sphaeroides 2.4.1 (69% GC) 、 Escherichia coli MG1655 (GC 51%)でゲノムアセンブリを行った。公開されているシーケンシングリードをダウンロードし、MyProによって分析した(詳細は補足データを参照)。 QUAST 2.3(Gurevich et al、2013)によって評価されたアセンブリ結果は、MyProがアセンブリ精度とアノテーション精度の連続性に関して高品質の注釈付きアセンブリを生成したことを示している。 QUASTはまた、最近シーケンシングされた8つの口内連鎖球菌株についてMyProによるアセンブリを評価するためにも使用された(論文 表1)。これらの株については、データの質を維持するために500bp未満のコンティグは捨てられた。MyPro(AutoRun.py)(表2)によってデノボアセンブリされた10の口内ストレプトコッカス株についても評価された。利用可能なリファレンスゲノムを有する口内連鎖球菌株およびリファレンスゲノムがない株に関して、MyProはデノボアセンブリツールおよびコンティグインテグレーションソフトウェア(CISA)より一貫して優れたN50またはコンティグ数を示した。 (以下略)

 

Supplementary Documentリンク

Myproに関するツイート。

 

 

インストール

SourceFourge(マニュアルPDFあり)

sb2nhri - Browse /MyPro at SourceForge.net

 

Mypro.ovaファイルダウンロードリンク

http://sb.nhri.org.tw/MyPro/index.html

> Preprocess.py 

manager@bl8vbox[manager] Preprocess.py                                                                          [10:02AM]

Usage:

Preprocess.py -read1 [/path/read1.fastq] -read2 [/path/read2.fastq] -g [genomesize] -d [depth] -l [limit] -r [reduce] -min [min length]

-g genomesize. [default:9000000]

-d Int. depth. [default:100]

-l Float. cutoff value for quality trimming. [default:0.01]

-r Int. step size for reducing target length. [default: 10] 

-min Int.  Discard reads below length.(defult 50)

-h Help.

 > AutoRun.py    

manager@bl8vbox[manager] AutoRun.py                                                                                                   [10:20AM]

Usage:

AutoRun.py [projectName] -read1 [/path/read1.fastq] -read2 [/path/read2.fastq] [options]

-p Str. parameters for annotate.py

-thr Int. To remove ctg with lower than thr depth.

-h Help.

Postassemble.py 

manager@bl8vbox[manager] Postassemble.py                              [10:21AM]

Usage:

Postassemble.py -o [filename] -u [filename] -read1 [/path/read1.fastq] -read2 [/path/read2.fastq] -m mean -s std

-o ordered.fa.

-u unmatched.fa

-m mean of insert size. default:200

-s std of insert size. default:50

-h Help.

 

ラン

Virtual PCovaファイルをインポートする。起動前に、設定からCPUやメモリなどをチューニングしておく。ここではメモリ8GB、CPU数は写真では12となっているが4とした。

f:id:kazumaxneo:20180907194304j:plain

立ち上げ、端末エミュレータを起動する。

f:id:kazumaxneo:20180907194031j:plain

DockにはTabletとfastqcのショートカットも準備されている。

 

端末にコマンドを打ち込むことで実行する。

1、データをエミュレータにコピーする。

 

2、端末を立ち上げ、作業ディレクトリを作成する。

#作業ディレクトリtestを~(home/)に作成
mkdir ~/test

#testディレクトリに移動
cd ~/test

 

3、前処理。ペアエンドのファイルpair1.fq とpair2.fq のクオリティトリミングを行う。

#ゲノムサイズは5Mとする
Preprocess.py -read1 pair1.fq -read2 pair2.fq -g 5000000

ジョブが終わるとtrimmed_pair1.fqとtrimmed_pair2.fqができる。

 

4、アセンブリアセンブリ結果のInteggration

AutoRun.py test1 -read1 pair1.fq -read2 pair2.fq

 アセンブリしたfastaと似たリファレンスを加え、dot plot解析を行う。 OSをエミュレーションしてランしている上に重たいパイプラインを走らせるので、ジョブが終わるまでにはかなりの時間がかかる(*1)。

ランが終わると複数のサブディレクトリができる。

f:id:kazumaxneo:20180910110514j:plain

 

--Optional step--

5、r2catを立ち上げ、同一、またはよく似たリファレンスのゲノムと比較する。

#ゲノムサイズは5Mとする
java jar ~/Desktop/r2cat.jar

 

結果をソートする。

f:id:kazumaxneo:20180910113941j:plain

unmatchとsortしたcontigをそれぞれ出力する。

f:id:kazumaxneo:20180910114231j:plain

 

6、ポストアセンブリ

Postassemble.py -o cisa.ordered.fa -u unmatched.fa  -read1 pair1.fq -read2 pair2.fq

ジョブが終わると、ランディレクトリにBridged.xxx,faファイルが出力される。

 

引用

MyPro: A seamless pipeline for automated prokaryotic genome assembly and annotation
Yu-Chieh Liao, Hsin-Hung Lin, Amarpreet Sabharwal, Elaine M. Haase, Frank A. Scannapiecob

J Microbiol Methods. 2015 Jun; 113: 72–74

 

*1

mac proで4コア割り当てランしたところ、4M 50xリードの解析に2日ほどかかった。