Pacific Biosciences(PB)とOxford Nanopore Technologies(ONT)のロングリードは、高いエラーレートと複雑なエラープロファイルにもかかわらず、さまざまなアプリケーションに急速に採用されてきている[論文 ref.1]。これらのリードは、エラー率が高く(テクノロジやライブラリによる9%から最大30%)、イルミナのリードをはるかに上回る。さらに、大部分のエラーが置換であるIlluminaとは対照的に、ロングリードのエラーには挿入および欠失(indels)エラーが主要に含まれる(ONTリードはより欠失されやすいのに対して、PBリードはより多く挿入を含む)。この問題には、新規かつ具体的なアルゴリズムの開発が必要である。この範囲で、これらの主にを直接対象とした数十のエラー訂正方法がこの5年間で出現した。ハイブリッド訂正器と呼ばれる第1の範囲のエラー訂正ツールは、ロングリードシーケンスを強化するためにショートリードの低いエラー率に頼って、エラー訂正を実行する。自己訂正と呼ばれる2番目のグループのメソッドは、唯一シーケンスに含まれる情報を使ってロングリードを修正することを目的としている(レビューについては[ref.2]を参照)。どちらのパラダイムにも、非常に多様なアルゴリズムソリューションが含まれているため、適切なベンチマークなしでは、訂正結果を(スループット、クオリティ、およびパフォーマンスに関して)グローバルに比較することは困難である。
アセンブリや構造変異バリアントコールなど、ロングレンジ情報から利益を得るためにロングリードを採用するプロジェクトが増えている[ref.1]。ロングリードのエラー率を考えると、多くのアプリケーションの最初のステップはエラー訂正である。ただし、この段階は時間のボトルネックになる可能性がある[ref.1]。
加えて、エラー訂正品質は下流のプロセスにかなりの影響を及ぼす。したがって、どの訂正器が特定の実験計画(例えば、適用範囲、リードタイプ、またはゲノム)に最も適しているかを事前に知っておくことは興味深い。したがって、正確で信頼できる統計を用いてエラー訂正ツールを評価することを可能にする方法を開発することは、極めて重要である。
そのような評価方法は、再現可能で包括的なベンチマークを実行することを可能にすべきであり、したがって、どのエラー訂正方法が所与のケースに最も適しているかを効率的に識別することを可能にするはずである。遭遇する可能性があるさまざまなシナリオを再現するために、それらはさまざまな複雑さ(細菌から真核生物まで)のデータセットで使用可能でなければならない。それらはまた速くて軽量であるべきであり、そしてこれらが評価する実際の訂正方法よりもコンピュータリソースおよび時間を消費するべきではない。この点は、訂正器の評価者が新しい訂正方法の開発の観点から立つ場合に特に重要である。それらは、最先端の訂正器と正確かつ迅速な比較を提供するのに役立つ。ユーザーだけでなく開発者にとっても、訂正器評価者は、その潜在的な落とし穴を特定するために、訂正器の振る舞い(すなわち、修正された塩基数、導入されたエラー、スループット)を正確に記述する必要がある。
対応したエラーコレクションツール
- Proovread
- LoRDEC
- Nanocorr
- NaS
- CoLoRMap
- HG-CoLoR
- HALC
- PBDAGCon
- Canu
- LoRMA
- daccord
- MECAT
対応したシミュレータ
-
SimLord
-
NanoSim
インストール
docker上のubuntu16.04でビルドし、動作確認した。
依存
#PDFレポートを作成するなら必要
sudo apt update && sudo apt install texlive-latex-base
本体 Github
git clone --recursive https://github.com/kamimrcht/ELECTOR
cd ELECTOR/
./install.sh
> python3 elector.py
$ python3 elector.py
usage: elector.py [-h] [-threads [THREADS]] [-corrected [CORRECTED]] [-split]
[-uncorrected [UNCORRECTED]] [-perfect [PERFECT]]
[-reference [REFERENCE]] [-simulator [SIMULATOR]]
[-corrector [SOFT]] [-dazzDb [DAZZDB]]
[-output [OUTPUTDIRPATH]] [-remap] [-assemble]
[-minsize [MINSIZE]]
optional arguments:
-h, --help show this help message and exit
-threads [THREADS] Number of threads
-corrected [CORRECTED]
Fasta file with corrected reads (each read sequence on
one line)
-split Corrected reads are split
-uncorrected [UNCORRECTED]
Prefix of the reads simulation files
-perfect [PERFECT] Fasta file with reference read sequences (each read
sequence on one line)
-reference [REFERENCE]
Fasta file with reference genome sequences (each
sequence on one line)
-simulator [SIMULATOR]
Tool used for the simulation of the long reads (either
nanosim or simlord)
-corrector [SOFT] Corrector used (lowercase, in this list: lorma, mecat,
pbdagcon, daccord). If no corrector name is provided,
make sure the read's headers are correctly formatted
(i.e. they correspond to those of uncorrected and
reference files)
-dazzDb [DAZZDB] Reads database used for the correction, if the reads
were corrected with Daccord or PBDagCon
-output [OUTPUTDIRPATH]
Name for output directory
-remap Perform remapping of the corrected reads to the
reference
-assemble Perform assembly of the corrected reads
-minsize [MINSIZE] Do not assess reads/fragments chose length is <=
MINSIZE % of the original read
テストラン
#1
python3 elector.py -reference example/example_reference.fasta \
-corrected example/Simlord/correctedReads.fasta \
-uncorrected example/Simlord/simulatedReads \
-simulator simlord
summary.pdf
#2
python3 elector.py -perfect example/Simlord/simulatedReads_reference.fasta -corrected example/Simlord/correctedReads.fasta -uncorrected example/Simlord/simulatedReads.fasta
シミュレーションコマンドもテストして追記します。
引用
ELECTOR: Evaluator for long reads correction methods
bioRxiv preprint first posted online Jan. 7, 2019
Camille Marchet, Pierre Morisse, Lolita Lecompte, Antoine Limasset, Arnaud Lefebvre, Thierry Lecroq, Pierre Peterlongo
関連