macでインフォマティクス

macでインフォマティクス

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

ショートリードのアセンブルツール

 

これまでNGSデータをアセンブル様々なアセンブルやツールが発表されてきた。例えばOMICs toolでhitするツールは121ある(https://omictools.com/genome-assembly-category)。ショートリードに限定すると数は減るが、それでも膨大な数である。全てを整理しきるのは難しいが、代表的と思われるいくつかのツールをインストールしてランしてみる。

 

膨大な数があるので、記事は随時更新していきます。 

 GAGE-Aのレシピ (論文 http://genome.cshlp.org/content/22/3/557.long)

http://gage.cbcb.umd.edu/recipes/index.html

  

  • 3/14 ツール追加

 

AbySS

de Bruijn graph based assembler

マニュアル

http://crusade1096.web.fc2.com/abyss.html

Github

https://github.com/bcgsc/abyss/#install-abyss-on-debian-or-ubuntu

 

インストールは brew で行える。

breq install homebrew/science/abyss

brewでインストールするとmax kは64だが、手動でインストールするなら、例えば ./configure --enable-maxk=96 としてビルドすれば、k=96まで扱えるように修正できる。

ただしソースからビルドするならboostが必要になる。macではコンパイルに失敗したので、centOSにインストールした。

 

ラン

abyss-pe name=bacteria j=16 k=64 n=5 s=100 in='R1.fq R2.fq'
  •  number of threads [2]
  •  size of k-mer (bp)
  •  minimum unitig size required for building contigs (bp) [200]
  •  minimum number of pairs required for building contigs [10]
  • in=' 'でinputするfastqを指定。

 

forループを使い、複数のk-merを自動検討する。

for k in {65..96}; do ¥
ABYSS -k$k R1.fq -o contigs-k$k.fa ¥
done

 

 SOAPdenovo2

de Bruijn graph based assembler

公式マニュアル

SOAPdenovo: short-read assembly

公式マニュアル2

SOAP :: Short Oligonucleotide Analysis Package

オプションについては以下を参照(リンクページの下の方) 

 binary版のみ利用でき、パッケージには2つ入っており、k-mer最適値の特性が異なる。

ランはconfig_fileファイルを作成し、それを元にして実行する。mate-pairデータも扱うことができ、 contigをNでつなぎscaffoldsを作ってくれる。paired-endデータを使った場合もこの作業は行われる。ただしメモリ喰いで、1GB以上のfastqだとサーバークラスのメモリが必要となる。64GB程度だと途中でストップする。khmerなどのツールであらかじめシーケンスデータをダイエットしておく必要があるかもしれない。

ラン

SOAPdenovo-127mer all -s config_file -k 127 -R -o output

 

 SPAdes

de Bruijn graph based assembler

現在もバージョンアップが続けられているbacteriaむけのアセンブラ。paired-endデータを扱えるが、それだけでなくロングリードを使いhybrid-assemblyを行うことも可能である。

spadesはハプロタイプのような部位もできる限り繋げようとする傾向が強い。また、contigをpaired-ned情報を使いscaffoldingするため、ほかと比べてかなり長いcontigができる。ただしこれは精度と性能の天秤にになりやすく、微妙な部位をむりやり繋げる恐れも高いかもしれない。例えば、monoploidの生き物でも、ゲノムがマルチコピーだとmelody ploideの状態のindelが発生している可能性はある。そのようなシーケンスデータでも、spadesはarbitraryな判断で繋ぐ傾向が強い。これは例えWT:MT=50:50でも起こる(そもそもspadesは純化したバクテリアゲノム向け)。

spadesはbrewでインストールできる。

ラン

spades.py -k auto -t 8 -1 R1.fq -2 R2.fq -o output_dir

 

 

Edena

string graph-based assembler 

公式サイト

http://computing.bio.cam.ac.uk/local/doc/edena.pdf

fastq配列の長さが同じでないと動かないので、短いリードを除去し、さらにスクリプトを書いて整形した。

ラン

edena -paired R1.fq R2.fq

 out.ovlが出力される。

edena -o out.ovl

mオプション次第でかなり変わる。-mの値は100-249まで選べるが、Miseq 301bpだと150前後がベストな気がする。

 

A5-miseq

quality check、data trimming、エラーコレクション、contig生成、scaffold構築、データビジュル化を全自動でやってくれるのが特徴のアセンブラである。A5-miseqは手法としての新しさよりも、パイプラインを自動化することに重きを置いているため、コマンドラインに不慣れなユーザーでも比較的手軽に扱うことができる。

ダウンロード

https://sourceforge.net/projects/ngopt/

参考動画

パスを通せば、あとはコマンドを打つだけで自動でアセンブルしてscaffoldsを出力してくれる。ランは以下のように行う。

a5_pipeline.pl R1.fq R2.fq output

解析はシングルスレッドが大半のようで時間がかかる。バクテリア用と見ておいた方が良さそうである。

docker版があり、仮想環境で気軽にテストもできる(docker-A5-Miseq)。

 

 以下のツールはデータの関係で使えなかった。

 

Velvet

インストール

git clone https://github.com/dzerbino/velvet.git 
cd velvet/
vi MakeFile #開く。31mer以上でもアセンブル用にする。別のエディタで開いてもOK
6行目のMAXKMERLENGTH?=31を => MAXKMERLENGTH?=250 とかに修正。
#保存して閉じる。

make #makeはデフォルトでMakefileを自動認識する
パスを通しておく。

1、velvethで処理するためのデータを準備。

velveth folder-name 31,45,2 -fastq -shortPaired1 input1.fastq -shortPaired2 input2.fastq #31,45,2はハッシュ値が31から45まで2ずつ検討するということ

シングルなら

velveth directory 31,45,2 -fastq single.fq 

 

2、velvetgでコンティグを作成 (例えばk=31に対して)

velvetg folder-name_31 -ins_length1 300 -ins_length2 3000
  •   -exp_cov <floating point|auto> expected coverage of unique regions or allow the system to infer it -exp_cov <floating point|auto> : expected coverage of unique regions or allow the system to infer it (default: no long or paired-end read resolution)
  •  -ins_length* <integer> expected distance between two paired-end reads in the respective short-read dataset (default: no read pairing) -ins_length* <integer> : expected distance between two paired-end reads in the respective short-read dataset (default: no read pairing)

 

StriDe

HGA

Unicycler


 

他のアセンブルツールのコマンドについては、GAGEやAssemblathonのペーパーを参考にする。

GAGE recipes

GAGE recipes

GAGE-B recipes

https://ccb.jhu.edu/gage_b/recipes/recipes.pdf

Assemblathon2

https://gigascience.biomedcentral.com/articles/10.1186/2047-217X-2-10

13742_2013_29_MOESM3_ESM.docx

 

 各ツールの特徴

Next Generation Sequencing (NGS)/De novo assembly - Wikibooks, open books for an open world

 

 

最終的なcontigの比較にはmurasakiとGNVを使う。またアセンブルのエラーチェックにはquastを使う。murasakiについては以前紹介した。


 

 

 

引用

A5-miseq: an updated pipeline to assemble microbial genomes from Illumina MiSeq data.

Bioinformatics. 2015 Feb 15;31(4):587-9. doi: 10.1093/

bioinformatics/btu661. Epub 2014 Oct 22.  Coil D1, Jospin G1, Darling AE1.