精度は向上しているものの、ロングリードデータの基本的な遺伝子予測は、small indelsから生じるフレームシフトによって損なわれることが多い。相補的なショートリードやロングリードを用いたコンセンサスポリッシュは、この影響を軽減することができるが、普遍的に深いシーケンスデプスが必要であり、コミュニティメンバーの大半が希少であるような複雑なサンプルでは達成が困難である。ここでは、ロングリードアセンブリや生のロングリードにおけるフレームシフトエラーを克服するための代替アプローチを実装したソフトウェアであるproovframeを紹介する。proovframeは、リファレンスデータベースに対するタンパク質とヌクレオチドのアラインメントを利用して、コンティグやリードのindelをピンポイントで特定し、1-2塩基を削除または挿入して修正することで、アラインメントされた領域のリーディングフレームの忠実度を保守的に回復させる。シミュレーションと実世界のベンチマークデータを用いて、proovframeは、アセンブルされたデータに対してショートリードベースのポリッシングと同等の性能を発揮すること、遠いタンパク質のホモログに対してもうまく機能すること、さらには生のリードにも直接適用できることを示した。これらの結果から、タンパク質によるフレームシフト補正は、一般的なポリッシング戦略と組み合わせても、またそれに代えても、ロングリードデータの解析性を大幅に向上させることが実証された。Proovframe は https://github.com/thackl/proovframe から入手できる。
Githubより
遠い関係にあるガイドタンパク質でも良好な結果が得られ、アミノ酸の同一性が60%未満のセットでのテストに成功しています。アセンブリーの従来のコンセンサスポリッシングアプローチに加えて、追加のポリッシングステップとして使用することができます。コンセンサスポリッシングのためのシーケンス深度が不足しているデータ(例えば、環境メタゲノムサンプルから得られる多くの希少生物に共通する問題)に使用することができます。
インストール
提供されているバイナリをダウンロードした。
依存
- Requires DIAMOND v2.0.3 or newer for mapping.
git clone https://github.com/thackl/proovframe.git
cd proovframe/bin/ #パスを通す
> ./proovframe
$ ./proovframe
proovframe-v0.9.7 - frame-shift correction for long-read genomics data
Please cite:
- Hackl T, Trigodet F, Murat Eren A, Biller SJ, Eppley JM, Luo E, Burger A, DeLong EF,
Fischer MG, "proovframe: frameshift-correction for long-read (meta)genomics",
bioRxiv. 2021. p. 2021.08.23.457338. doi:10.1101/2021.08.23.457338
- Buchfink B, Reuter K, Drost HG, "Sensitive protein alignments at tree-of-life scale
using DIAMOND", Nature Methods 18, 366–368 (2021). doi:10.1038/s41592-021-01101-x
Usage: proovframe <cmd> [options]
map produce read/contig-to-protein alignments with diamond (convenience wrapper)
fix correct reads/contigs guided by diamond protein mappings
auxiliary commands:
prf profile error rates from reference alignments at nucleotide-level
See `proovframe cmd -h` for more options
> ./proovframe-map
$ ./proovframe-map
Usage: proovframe map [-a|-d proteins] -o alignments.o6 seqs.fa -- extra-diamond-params
-a/--aa protein file, not required if db provided.
-d/--db created if not existing and --aa given [basename(aa).dmnd]
-o/--out write alignments to this file [basename(seqs).o6]
-t/--threads number of CPU threads
-m/--diamond-mode one of fast,sensitive,{mid,more,very,ultra}-sensitive' [more-sensitive]
-y/--dry-run print the diamond command, but don't run it
-h/--help show this help
-D/--debug show debug messages
For consensus sequences with rather low expected error rates
and if your reference database has a good represention of similar
sequences, you might want to switch to '-m fast' or '-m sensitive'
to speed things up.
Also note, I've experienced inefficient parallelization if
correcting a small number of Mb sized genomes (as opposed to thousands
of long-reads) - presumably because diamond threads on a per-sequence
basis
実行方法
1、エラー率推定(任意)
proovframe prf draft.fasta long-read.fq
2、タンパク質のリードへのマッピング
タンパク質配列(*1)、出力名、最後にONTリード、もしくはドラフトアセンブリ配列を指定する。
proovframe map -a proteins.faa -o raw-seqs.tsv raw-seqs.fa
raw-seqs.tsvが出力される。
3、 リードのフレームシフトの修正
proovframe fix -o corrected-seqs.fa raw-seqs.fa raw-seqs.tsv
corrected-seqs.faが出力される。
引用
proovframe: frameshift-correction for long-read (meta)genomics
Thomas Hackl, Florian Trigodet, A. Murat Eren, Steven J. Biller, John M. Eppley, Elaine Luo, Andrew Burger, Edward F. DeLong, Matthias G. Fischer
bioRxiv, Posted August 24, 2021
*1
ベンチマークをみるとuniref90などが使われているようです。