2019 6/11 追記
ゲノムアセンブリ構築の利点を得ることを妨げる課題の中には、未完成のアセンブリおよびその後の実験的な費用の両方がある。第一に、ゲノムデノボアセンブリのための多数のソフトウェアソリューションが利用可能であり、それぞれがその長所と短所を有し、それらの中からどのように選択するかに関する明確な指針がない。次に、これらのソリューションではドラフトアセンブリが作成され、多くの場合リソース集約型の仕上げフェーズが必要になる。
本論文では、リファレンスゲノムに頼らずにコンティグ断片化を減らし、ゲノムの仕上げをスピードアップするという目標を持たずに、2つ以上のドラフトアセンブリをミックスするツールであるMixを開発することによってこれら2つの側面に対処する。提案したアルゴリズムは、頂点が連続体の末端を表し、辺がこれらの末端間の既存のアライメントを表す拡張グラフを構築する。これらのアライメントエッジはコンティグエクステンションに使用される。結果の出力アセンブリは、累積コンティグ長を最大化する拡張グラフ内の一連のパスに対応する。
GAGE-B研究からの細菌NGSデータに対するMixの性能を評価し、そしてそれを新しくシーケンシングされたマイコプラズマゲノムに適用する。結果として得られる最終アセンブリは、全体的なアセンブリ品質の大幅な向上を示していた。特にMixは、de novoプロジェクトの場合のように、標準的なアセンブリ統計のみによって選択が導かれる場合でも、より良い全体的な品質結果を提供することで一貫していた。
Mixはバクテリア向けに設計された、複数のconitgをマージしてより長いcontigを作る方法論。うまく使えば、細分化されたcontigをからより長いcontigを作ることができる。
インストール
依存
- python 2.7 (http://www.python.org/)
- python-networkx 1.6-2 (http://networkx.lanl.gov/)
- Biopython (http://biopython.org/wiki/Main_Page)
- MUMmer 3.22 (http://mummer.sourceforge.net/).
MuMmerはbrewで、Biopythonとnetworkxはpipでそれぞれ導入できる(注 nucmer v4ではエラーを起こした)。
本体 Github
実行方法
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)
一番下がMix.fa。
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
関連