macでインフォマティクス

macでインフォマティクス

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

pacbioロングリードセルフエラーコレクションを改善する FLAS

2019 7/26 タイトル修正

 

 第3世代シーケンシーング技術は、そのはるかにリード長において第2世代よりも有利である(Eid et al、2009)。第3世代のシーケンシング技術の代表として、PacBioの一分子リアルタイム(SMRT)技術は現在、平均5〜15K bpのロングリードを100万bp当たり0.4〜0.8ドルのコストで生成することができる(Rhoads and Au、2015 ; Lee et al、2016)。ロングリードは、第2世代のショートリードの長さ制限を克服することができ、したがって、GCアイランドおよび下流でのリピートなどの複雑なゲノム領域のアセンブリまたは分析を容易にすることができる。結果として、ますます多くのシークエンシングプロジェクトがロングリードを組み込んでいる。プロジェクトは以下の2つのカテゴリに分類することができる。
 •ロングリードとショートリードのハイブリッドプロジェクト。ロングリードとショートリードを一緒に使用する(Philippe et al、2013; Chen et al、2014)。これらのプロジェクトでは、ショートリードのみより高品質の結果を得るため、比較的高いカバー率のショートリードを補完する低〜中程度のロングリードを使用する。
 •ロングリードオンリープロジェクト(Baker et al、2014; Chaisson et al、2015)。シーケンス処理のワークフローを簡素化しながら高品質の結果を保証するために、より高価ではあるが、カバレッジの高いロングリードをショートリードなしで使用することができる。
それにもかかわらず、ロングリードは挿入および欠失によって支配される約15%のシーケンシングエラーを含むので、これらのエラーを修正することが重要である。エラー訂正は、2つのレベルで行うことができる。

(一部略)
自己エラー訂正アルゴリズムは、ロングリードをロングリード自体にアライメントさせ、それらを訂正するためにロングリード間で複数のシーケンスアライメントを見つける。これはロングリードのみのプロジェクトに適している。 HGAP(Chin et al、2013; Chaisson and Tesler、2012)は、ロングリードの中からk-merを見つけ、次に動的計画法によってアライメントを見つけ、FALCON(Chin et al。、2016; Myers、2014)は、 k-merとアライメントを見つける。 Canu(Koren et al、2017; Berlin et al、2015)は、アライメントを見つける負荷を減らすためにk-merを重み付けしてフィルタリングし、MECAT(Xiao et al、2017)はk-merの相関を考慮に入れている。これとは異なり、LoRMA(Salmela et al、2016)は、修正のために長いリードをそれ自体から作成されたde Bruijn graphに合わせる。

自己訂正アルゴリズムについては、以下のように対処する2つの課題がある。
•通常、数百万のロングリードを互いにアライメントさせるのは時間がかかるため、高速で訂正することは困難である。 HGAP、FALCON、Canu、およびMECATは、すべてこの課題に取り組んでいる。
・十分な量の塩基を修正すること、すなわち、高スループット自己訂正を達成することもまた困難である。なぜなら、約15%のエラーのロングリードを互いにアライメントさせることもまた困難だからである。 LoRMAはこの課題に取り組む。自己訂正アルゴリズムの場合、修正中にロングリードのゲノムリピートを区別することは重要だが、リピートは通常ロングリードよりも短く、中程度のものしかないため、上記の2つほど難しくない。
MECATは最初の課題を解決することに成功し、現在最速の自己訂正アルゴリズムの1つである(Xiao et al、2017)。それにもかかわらず、そのスループットは比較的小さい。これは、ロングリードのコストが高いことを考えると経済的ではなく、また下流の結果の質にも影響を与える可能性がある(Lee et al。、2014)。 2つの課題の両方に対処するために、ここではロングリード自己訂正のための高速でハイスループットアルゴリズムであるFLASを提案する。 FLASは、MECATの高速性を維持しながら高いスループットを達成するMECATのラッパーアルゴリズムである。 FLASには、以下の2つの新規性がある。
•FLASは、訂正スループットを向上させるためにMECATのプリアラインされたロングリードから追加のアラインメントを見つけ、ミスアラインメントを除去して精度を高める。事前にアライメントされたロングリードの場合、互いにアライメントされたものは同じゲノム領域に由来する可能性が高いため、検索されて同じセットに入れられる。このような2つのセットで、両方にロングリードが共有されている場合、すべてのロングリードが同じゲノム領域からのものである可能性があるため、訂正のために2つのセット間で追加のアライメントを見つけることができる。あるいは、共有されたロングリードが1セット内でアライメントされていない可能性があるため、アライメントミスがセットから除去される可能性がある。
•また、訂正されたロングリード領域を使用して未訂正の領域を訂正し、スループットをさらに向上させる。

(一部略)

E. coliS. cerevisiaeA. thaliana、およびヒトのロングリードでのパフォーマンステストでは、FLASはMECATよりも22.0〜50.6%大きいスループットを達成した。 FLASはMECAT以外のself-correctionアルゴリズムと比較して2〜13倍速く、スループットも9.8〜281.8%大きい。 FLASで訂正されたロングリードは、MECATよりも13.1-29.8%大きいN50サイズのコンティグにアセンブリできる。

 

インストール

ubuntu16.04のPython 3.6.1環境でテストした(ホストOS macos10.14)。

FLAS is suitable for 32-bit or 64-bit machines with Linux operating systems. At least 4GB of system memory is recommended for correcting larger data sets.

  • The MECAT software and Python(3.0+) are required to run FLAS. 

MECAのインストールは以前紹介しました(link)。

本体 Github

git clone https://github.com/baoe/FLAS.git
cd FLAS/
make

Put the 'bin' folders of MECAT and FLAS to your $PATH: export PATH=PATH2MECATbin:$PATH and export PATH=PATH2FLASbin:$PATH, respectively.

> ./runFLAS.py -h

# ./runFLAS.py -h

usage: runFLAS.py [-h] [-c C] [-a1 A1] [-a2 A2] [-b1 B1] [-b2 B2] long_read.fa

 

runHALC.py

 

positional arguments:

  long_read.fa  The path to long_read.fa

 

optional arguments:

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

  -c C          Coverage of the long reads.(100)

  -a1 A1        Fraction value to distinguish between the cases (i)/(ii) and

                (iii).(0.5)

  -a2 A2        Fraction value to distinguish between the cases (i) and

                (ii).(0.5)

  -b1 B1        Difference value of alignment identities to find the correct

                aligned path.(0.05)

  -b2 B2        Difference value of expected amounts of aligned long reads to

                find the correct aligned path.(0.2)

 

 

 

実行方法

 ロングリードのfastaを指定する。カバレッジはdefault100になっている。

FLAS long_reads.fasta -c 100

FLAS: Fast and High Throughput Algorithm for PacBio Long Read Self-Correction.

 

/////STEP 1 STARTED//////////////////////////////////////////////////////////////////////////////////////////////////

Running command: preread /data/test.fasta ./temp/step1/allreads.fasta 

 

エラーが出て解決できなかった。改善できたら追記します。 

 

引用

FLAS: fast and high throughput algorithm for PacBio long read self-correction
Ergude Bao, Fei Xie, Changjin Song, Dandan Song
Bioinformatics, Published: 21 March 2019

 

関連