ゲノムスケールのdotplotが描けたら...
大規模な構造変異を可視化しやすい
de novoアセンブルしたゲノムとリファレンスの比較がしやすい
今回はde novoアセンブルしたゲノムを公開されているゲノムと比較することでミスアセンブルがないか検証する
どんなツールがあるの?
知っている範囲(2020.2.21現在)だと
- D-GENIES
- DotPlotly
D-GENIESとは?
ウェブ上でゲノムスケールのdotplotを描いてくれる
楽チン。
ref
https://peerj.com/articles/4958/
Cabanettes & Klopp. PeerJ (2018)
http://dgenies.toulouse.inra.fr/
使い方
- ウェブにTargetとquery2つのfastaファイルを投げる
- しばらくまつとメールが届く
- リンクからdotplotの結果を見ることができる
便利な点
Dotplotの結果をインタラクティブにいじれる (e.x. 配列の向きを変えたりノイズを除去したり)
Targetに対してqueryの配列をソートできる
ソートしたfastaをダウンロードできる(ただしdotplot上で配列の向きを変えてもそれは反映されない)
不便な点
遅い
相手方のサーバーがトラブると解析できなくなる (2020.2.21現在D-GENIESがうまく動かない)
そこでDotplotlyに乗り換えることにした
Dotplotlyとは?
Rベースのインタラクティブなdotplot作成ツール
mummerもしくはPAFフォーマットのアライメント結果を投げると作図してくれる
ref
https://github.com/tpoorten/dotPlotly
事前準備
スクリプトを落としてくる
git clone https://github.com/tpoorten/dotPlotly.git
Rにパッケージをインストールしておく
マニュアルに書いてあったツールは以下の3つ。足りない場合は何かしらのエラーを吐いて止まるのでエラーコードを確認する。
install.packages(c("optparse", "ggplot2", "plotly"))
Dotplotlyで作図
今回はminimap2でアセンブルされたゲノムをリファレンスにマップし、得られたPAFファイルを用いてDotplotの作図
#minimap2でマップ
minimap2 referece.fasta draft.fasta >output.paf
#dotplotlyのスクリプトで作図
/path/to/pafCoordsDotPlotly.R \
-i output.paf \
-o out \
-s \
-t \
-m 10000 -q 1000000 \
-l
そうするとout.html
out.png
out_files
の3つのファイルが出来上がる
オプションについては /path/to/pafCoordsDotPlotly.R -h
で確認すべし
ゲノムスケールのdotplotなら-m 10000 -q 1000000
がノイズが少なくて良さげだった
あとは好きなように!
追記.1
reference.fastaは上から順に(たとえばChr1, Chr2, Chr3...という具合)にプロットされるのかと思いきや、長さでソートされた順でプロットされるのでちょっと困った。
追記.2
-r
をつけてreferenceのヘッダーをコンマ区切りで書いたらその順番で表示されるようになった。
たとえば自分の場合だと
-r Chr1,Chr2,Chr3,Chr4
という具合にやればうまくいった