macでインフォマティクス

macでインフォマティクス

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

SOAPdenovo-fusionを使ってmegahit アセンブリのscaffoldingを行う

 

SOAPdenovo2のレポジトリより

MEGAHITは、シングルセルシーケンシングデータとメタゲノムシスデータに対応していおり、SOAPdenovoと比較して、より少ないメモリ消費量でより長いコンティグを生成する。MEGAHITで生成されたコンティグをscaffoldingにするには、SOAPdenovo-fusionを使うことができる。これはコンティグを入力とし、SOAPdenovoのmapとscaffモジュールが連続して使用できるファイルを生成する準備モジュールである。

注;MEGAHITとSOAPdenovoは同じチームによって開発されている。

 

megahitのアセンブリはペアエンドの情報を完全には使っていないので、ペアエンド情報でscaffoldingすることで 、より連続性の高いメタゲノムアセンブリ配列を作れるということです。

 

インストール

Github

git clone https://github.com/aquaskyline/SOAPdenovo2.git
cd SOAPdenovo2/
make

> ./SOAPdenovo-fusion

# ./SOAPdenovo-fusion

Mapping & Scaffolding module.

parameters:

global:

-s Library file.

-g Prefix of input files.

-p Threads.

 

Data prepare mode:

-D Enable this mode.

-K Kmer.

-c Input contig file.(can't be name prefix.contig)

 

Mapping mode:

-M Enable this mode.

 

Bundling mode.

-B Enable this mode.

-u Weight threshold for outputting bundle file.(default 3)

 

Potential analysis mode.

-O Enable this mode.

Scaffolding mode:

-S Enable this mode.

-L threshold for minimum length of contig(default K+2).

-P Overlap percent threshold for a subgraph(default 0.075).

-t Overlap percent threshold for a PE(default 0.2).

-i Overlap length threshold for remove transitive connect(default 20).

 

 

configファイル

ランはconfigファイルを作成し、それを元にして実行する。以下のブログで詳しく解説されているので、ここではその設定通り行う。

下の設定ファイルを”conifg”というファイル名で保存した。

###########################################################

#maximal read length
max_rd_len=151
[LIB]
avg_ins=500
reverse_seq=0
asm_flags=2
#in which order the reads are used while scaffolding
rank=1
# cutoff of pair number for a reliable connection (at least 3 for short insert size)
pair_num_cutoff=3
#minimum aligned length to contigs for a reliable read location (at least 32 for short insert size)
map_len=32
#a pair of fastq file, read 1 file should always be followed by read 2 file
q1=/<path>/<to>/read_R2.fastq.gz
q2=/<path>/<to>/read_R1.fastq.gz

###########################################################

太字の部分は、最適化するためにユーザーが修正する必要がある。一番下はペアエンドのfastqのパス。

 パラメータについて(Githubより)

avg_ins;このライブラリの平均インサートサイズ

reverse_seq; このオプションは0または1をとる。リードを相補的に反転させる必要があるかどうかをアセンブラに指示する。

asm_flags;この指標は、リードがどの部分に使用されるかを決定する。1(コンティグアセンブリのみ)、2(スキャフォールドアセンブリのみ)、3(コンティグとスキャフォールドの両方のアセンブリ)、4(ギャップクロージャーのみ)のいずれかの値をとる。

rank;整数値をとり、リードをどの順番でscaffold assemblyに使用するかを決定する。同じ "rank "を持つライブラリは、scaffold assemblyの際に同時に使用される。

pair_num_cutoff;このパラメータは、2つのコンティグまたはプリスキャフォールドを確実に接続するためのペア数のカットオフ値である。ペアエンドリードの場合は3、マットペアリードの場合は5が最小値となる。

map_len;これは、「マップ」ステップで有効であり、リードの位置を確実に特定するために必要な、リードとコンティグの間の最小のアライメント長を意味する。ペアエンドリードとマットペアリードの最小の長さは、それぞれ3235となる。

 

 

実行方法

megahitのアセンブリ、configファイルを用意して実行する。パラメータも上記のブログ通りにした(-p 40はCPUスレッド使用数)。

SOAPdenovo-fusion -D -s config -p 40 -K 41 -g k41 -c ../final.contigs.fa
SOAPdenovo-127mer map -s config -p 40 -g k41
SOAPdenovo-127mer scaff -p 40 -g k41

 

試したデータでは、コンティグ数は10%ほど減り、コンティグ長は5-10%ほど長くなった。(scaffoldingなので、NNNも導入されます)。

 

引用

SOAPdenovo2: an empirically improved memory-efficient short-read de novo assembler
Ruibang Luo, Binghang Liu, Yinlong Xie, Zhenyu Li, Weihua Huang, Jianying Yuan, Guangzhu He, Yanxiang Chen, Qi Pan, Yunjie Liu, Jingbo Tang, Gengxiong Wu, Hao Zhang, Yujian Shi, Yong Liu, Chang Yu, Bo Wang, Yao Lu, Changlei Han, David W Cheung, Siu-Ming Yiu, Shaoliang Peng, Zhu Xiaoqian, Guangming Liu, Xiangke Liao, Yingrui Li, Huanming Yang, Jian Wang, Tak-Wah Lam, Jun Wang
GigaScience, Published: 27 December 2012

 

参考

https://bioinformatics.stackexchange.com/questions/12816/is-there-any-value-in-scaffolding-the-output-contigs-of-megahit-assembler-given