macでインフォマティクス

macでインフォマティクス

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

ONTのリードを量子化(離散化)して扱う QAlign

2020 10/16 論文引用

 

 DNA/RNA配列のリードを互いに、あるいはリファレンスゲノム/トランスクリプトームに効率的かつ正確にアラインメントすることは、ゲノム解析における重要な問題である。ナノポアシーケンシングは主要なシーケンシング技術として登場し、多くのロングリードアライナーがナノポアリードのアラインメントのために設計されている。しかし、エラー率が高いため、正確かつ効率的なアラインメントは困難である。シーケンシングプロセスに内在するノイズやエラーの特性を適切に利用することは、効率的なアライナーを構築する上で重要な役割を果たすことができる。本論文では、ロングリードアライナーを用いて、ゲノム/トランスクリプトームや他のロングリードとのアラインメントを行うためのプリプロセッサであるQAlignを設計した。QAlignの主要なアイデアは、シーケンスアライナーを介して実行する前に、ナノポアシーケンサーのエラーモードをキャプチャする離散化された電流レベルに核酸塩基リードを変換することである。ゲノムへのアラインメント時に、QAlignを使用することで、ナノポアリードのアラインメント率が約80%から90%に向上することを示す。また、QAlignを使用することで、3つのデータセットにおいて、平均オーバーラップ品質が9.2%、2.5%、10.8%向上することを示す。また、2つのデータセットにおいて、リードからトランスクリプトームへのアラインメント率は50.8%から86.3%、82.3%から95.3%に改善されている。

 QAlignが、R7ナノポア配列データ(補足資料の図7参照)からR9.4データまでの様々なデータセットに加えて、リードからゲノムへ、リードからリードへ、リードからトランスクリプトームへのアラインメントを含む様々なアラインメントタスクにおいて、大幅な性能向上をもたらすことを示す。QAlignは、Minimap2のアライメント率が低いデータセットでは、リードからゲノムへのアライメント率に大きな改善を示した(一部のデータセットでは80%から90%程度に改善)。さらに、アライメントの品質も向上した。QAlignはMinimap2よりも正規化された編集距離が15%も短く、長いアライメントを示した。
 Minimap2ではオーバーラップをアラインさせることができなかったり、オーバーラップ品質が低かったりするのに対し、QAlignでは約3.5%の高いオーバーラップ品質(オーバーラップ品質の説明については、Methodsセクション6.4を参照)でオーバーラップリードをアラインさせることができた。さらにQAlignとMinimap2を組み合わせたハイブリッドアラインメント戦略が、約4.5%の精度をさらに向上させることを示している。
 本研究では、ロングリード(特にNanoporeロングリード)のアラインメントの改善に焦点を当てている。著者らの知る限り、ナノポアシークエンシングで導入されるエラーモードを処理するように特別に設計された既存のアライナーは存在しない。しかし、Nanopolishによるアセンブリの後処理を含む下流のタスクにナノポア電流レベルを組み込むことについては、いくつかの研究がある[17]。Nanopolishは、電流レベルを利用することで、エラーの少ないアセンブリにつながることを実証している。Nanopolish との大きな違いは、電流レベルの情報をどのレベルで考慮しているかということである。アライメントを実行する際に電流レベルの情報を考慮に入れているため、Nanopolishが微細なエラーを修正することしかできないのに対し、QAlignはより多くのオーバーラップを得ることができ、コンティグのより良いアセンブリにつながる可能性がある。

 


インストール

condaを使ってpython3.7の仮想環境を作り、そこでテストした(ubuntu18.04使用)。

依存

QAlign has been tested under Ubuntu 16.04.

Github

conda create -n QAlign python=3.8 -y
git clone https://github.com/joshidhaivat/QAlign.git
cd QAlign/
python setup.py install

python qalign/main.py convert -h

$ python qalign/main.py convert -h

Running /home/kazu/Downloads/QAlign/qalign/main.py

usage: main.py convert [-h] [--input_fasta INPUT_FASTA] [--outdir OUTDIR]

                       [--qlevel QLEVEL] [--rc RC] [--kmerpath KMERPATH]

 

optional arguments:

  -h, --help            show this help message and exit

  --input_fasta INPUT_FASTA

  --outdir OUTDIR

  --qlevel QLEVEL       2 for Q2, 3 for Q3

  --rc RC               1 for rev-complement, 0 to disable

  --kmerpath KMERPATH   absolute path for kmer model

 

 

 

 

実行方法

ONTのfastaファイル(fastqは不可)を指定する。またk-merモデルファイルを指定する。レポジトリにはR9.4のR9の6-mer塩基配列モデルが含まれている。

python qalign/main.py convert --input_fasta ont_reads.fa --outdir outdir --qlevel 2 --rc 1 --kmerpath qalign/kmermap_models/r9_6mer_nucleotide_template_model.txt

 

コードが追加されましたら追記します。

引用

QAlign: Aligning nanopore reads accurately using current-level modeling

Dhaivat Joshi, Shunfu Mao, Sreeram Kannan, Suhas Diggavi

bioRxiv, Posted December 03, 2019

 

QAlign: Aligning nanopore reads accurately using current-level modeling
Dhaivat Joshi, Shunfu Mao, Sreeram Kannan, Suhas Diggavi
Bioinformatics, Published: 14 October 2020