macでインフォマティクス

macでインフォマティクス

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

複数のcontigをマージしアセンブリの連続性を改善する Mix

2019 6/11 追記

 

ゲノムアセンブリ構築の利点を得ることを妨げる課題の中には、未完成のアセンブリおよびその後の実験的な費用の両方がある。第一に、ゲノムデノボアセンブリのための多数のソフトウェアソリューションが利用可能であり、それぞれがその長所と短所を有し、それらの中からどのように選択するかに関する明確な指針がない。次に、これらのソリューションではドラフトアセンブリが作成され、多くの場合リソース集約型の仕上げフェーズが必要になる。

 本論文では、リファレンスゲノムに頼らずにコンティグ断片化を減らし、ゲノムの仕上げをスピードアップするという目標を持たずに、2つ以上のドラフトアセンブリをミックスするツールであるMixを開発することによってこれら2つの側面に対処する。提案したアルゴリズムは、頂点が連続体の末端を表し、辺がこれらの末端間の既存のアライメントを表す拡張グラフを構築する。これらのアライメントエッジはコンティグエクステンションに使用される。結果の出力アセンブリは、累積コンティグ長を最大化する拡張グラフ内の一連のパスに対応する。

 GAGE-B研究からの細菌NGSデータに対するMixの性能を評価し、そしてそれを新しくシーケンシングされたマイコプラズマゲノムに適用する。結果として得られる最終アセンブリは、全体的なアセンブリ品質の大幅な向上を示していた。特にMixは、de novoプロジェクトの場合のように、標準的なアセンブリ統計のみによって選択が導かれる場合でも、より良い全体的な品質結果を提供することで一貫していた。

 

 

 

 Mixはバクテリア向けに設計された、複数のconitgをマージしてより長いcontigを作る方法論。うまく使えば、細分化されたcontigをからより長いcontigを作ることができる。

  

インストール

依存

MuMmerはbrewで、Biopythonとnetworkxはpipでそれぞれ導入できる(注 nucmer v4ではエラーを起こした)。

本体 Github

 解凍してbin/のMix.pyにパスを通しておく。 

 

実行方法

3つのcontigを合体する。

preprocessing.py -o contigs.fa Assembly1.fa Assembly2.fa Assembly3.fa

#catでも動く
cat Assembly1.fa Assembly2.fa Assembly3.fa > merged.fasta

3つの contig.faがコンカテネートして1つのfastaファイル(contigs.fa)ができる。

 

あとは以下の3つのコマンドを実行する。

nucmer --maxmatch -c 30 -l 30 -banded -prefix=alignments contigs.fa contigs.fa
show-coords -rcl alignments.delta > alignments.coords
Mix.py -a alignments.coords -c contigs.fa -o output_dir/ -C 300 -A 200
Mixのflag一覧を貼っておく。



Options:

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

  -a ALN, --aln=ALN     the file containing the alignments (.coords)

  -o OUT, --out=OUT     the output directory where the scaffolds will be

                        written (it must already exist)

  -c CTG, --ctg=CTG     the multi FASTA file containing all the contigs that

                        were used in the alignment

  -A ATH, --ath=ATH     minimum length of alignment (default:0)

  -C CTH, --cth=CTH     minimum length of contig (default:500)

  -d, --dot             write the graphs in dot format

  -g, --graph           write the graphs in cytoscape format

  -r, --restrict-to-aligned

                        If on, restrict output to aligned coords

 

 output_dir/Mix_results_A200_C300/にいくつかのファイルができる。

user$ ls -lh output_dir/Mix_results_A200_C300/*

-rw-r--r--  1 user  staff   2.7M  9  1 22:41 output_dir/Mix_results_A200_C300/Mix_assembly.fasta

-rw-r--r--  1 user  staff   1.0M  9  1 22:41 output_dir/Mix_results_A200_C300/Mix_assembly_ctg.fasta

-rw-r--r--  1 user  staff   1.7M  9  1 22:41 output_dir/Mix_results_A200_C300/Mix_assembly_path.fasta

-rw-r--r--  1 user  staff     0B  9  1 22:41 output_dir/Mix_results_A200_C300/Mix_selected_isolated_contigs.csv

-rw-r--r--@ 1 user  staff   433K  9  1 22:41 output_dir/Mix_results_A200_C300/all_alignments.csv

-rw-r--r--@ 1 user  staff    28K  9  1 22:41 output_dir/Mix_results_A200_C300/all_contigs.csv

-rw-r--r--  1 user  staff    22K  9  1 22:41 output_dir/Mix_results_A200_C300/initial_assembly_graph.gml

-rw-r--r--  1 user  staff    26K  9  1 22:41 output_dir/Mix_results_A200_C300/reduced_assembly_graph.gml

 Mix_assembly.fastaがmixされて長くなったcontig.faである。

 

 

テスト

edena、SOAPdenovo2、Abyssで作ったcontigをMixにかけてみる。

preprocessing.py -o contigs.fa edena.fa abyss_k77.fa SOAPdenovo_k51.fasta
nucmer --maxmatch -c 30 -l 30 -banded -prefix=alignments contigs.fa contigs.fa
show-coords -rcl alignments.delta > alignments.coords
Mix.py -a alignments.coords -c contigs.fa -o output_dir/ -C 300 -A 200

quastで評価する。 

quast edena.fa abyss_k77.fa SOAPdenovo_k51.fasta Mix_assembly.fasta -R bacteria.fa -o results -t 20 

紫がMix.fa、赤がAbyss(k=77)

f:id:kazumaxneo:20170901230632j:plain

一番下がMix.fa。

f:id:kazumaxneo:20170901230652j:plain

contigの断片化が大きく解消されていることがわかる。一方で、図をよく見るとよくわからない部位で切れてもいる。原因は分からない。

 

 

ただし、アセンブルが止まるのはリピートだったり何かしら理由があるのが普通です。こういったツールを使うとアーティファクトができてくる恐れもあるので注意して使ってください。 

 

quastは以下で紹介しています。

 

引用

Finishing bacterial genome assemblies with Mix

Hayssam Soueidan, Florence Maurier, Alexis Groppi, Pascal Sirand-Pugnet, Florence Tardy, Christine Citti, Virginie Dupuy and Macha Nikolski

BMC Bioinformatics 2013 14(Suppl 15):S16

 

関連