macでインフォマティクス

macでインフォマティクス

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

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

 

 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

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