macでインフォマティクス

macでインフォマティクス

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

低コスト(低いカバレッジ)で信頼性の高いハイブリッドゲノムアセンブリを行う LazyB

2021 6/19 タイトル修正

 

 ハイスループットのシーケンスデータからゲノム配列をアセンブルすることは,実際には難しい計算問題であることがわかっている.最近のアプローチでは、安価なショートリードデータ(典型的にはIlluminaテクノロジー[1]を使用)と、PacBioやNanoporeテクノロジーで生成されたロングリードを組み合わせている。ショートリードデータは精度が高く、比較的安価に作成できるが、反復的な要素があるため、(非常に)高いカバレッジであっても不十分である。一方、ロングリードデータは、比較的高価で、エラー率が高い。CCS HiFi PacBioリードは、ショートリードに匹敵する精度だが、コストは大幅に増加する。

 最近、高カバー率(50倍以上)のPacBioリードやNanoporeリードから大規模なゲノムをデノボでアセンブルするために、いくつかのアセンブル技術が開発された。最近の最新手法では、イルミナリードを用いたハイブリッドアセンブリ戦略を採用し、アセンブリ前に長いPacbioリードのエラーを修正する。例えば、32Gbのアキノロトムのゲノムはこの方法で作成された。

 従来のアセンブリ戦略は、2つの一般的なカテゴリに分類することができる。OLC(Overlap-layout-consensus)アセンブリモデルは,配列の類似性をオーバーラップの指標として用いて,リード間のすべてのペアワイズマッチを見つけようとするものである.一般的なレイアウトが構築され、様々な方法で後処理される。最も注目すべきは、オーバーラップをストリング・グラフのようなアセンブリ・グラフに変換することである[ref.7]。この方法はリードの長さに柔軟に対応し、様々なシーケンス技術の多様なエラーモデルに適応することができる。しかし、すべてのオーバーラップを見つけることは、特にリードサイズが大きくなると、非常にコストがかかる。

 De Bruijn graph strategyでは、リードは固定長のk-merに分解され、ノードを表す。エッジは,(k-1)merでオーバーラップするノード間に挿入される.理想的には、de Bruijn グラフは、染色体ごとに正確に1つのオイラー・パスを表すが、実際には、repetitive elementsがない場合でも、シーケンス・エラーのために、この特性は損なわれる。k-merは、特殊なハッシュ化戦略を用いることで、効率的に保存・構築することができる。このように、de Bruijn graphは、OLC戦略よりもはるかに少ないメモリしか必要としない。全体的なスピードアップは、All versus allの比較ステップがないことに起因している。しかし、kはリードのサイズよりも小さく選ばなければならないため、連続性の情報が失われる。リードのエラー率が上昇すると、k-merの精度が低下するため、de Bruijnグラフの有用性が低下する傾向にある。

 ロングリードオンリーやハイブリッドアセンブリ戦略も、主にこの2つのカテゴリーに当てはまるが、よりユニークな手法も長年にわたって登場している。CanuとFalconは、古典的なOLCアプローチを実装しているが、どちらも文字列グラフを作成する前にロングリードをエラー補正している。MinHash フィルタ[ref.12]は、比較のコストを大幅に削減することができるが、 全体的な複雑さは依然として高いままである。Wtdbg2も OLC に従っているが、比較のためにスパースな k-mer マッピングに基づく de Bruijn のようなグラフを利用している。これは、高いエラー率の下でも、正しいペアは、偽のマッチよりも多くの k-mer を共有するという仮定の下で、k-mer を共有するリードをマッチングすることにより、all-vs-all マッピングを回避する。Shastaでは、k-merをrun-length encodingに変換することで、完全なde Bruijn グラフ戦略を実装している。このエンコーディングは、ロングリードにおけるシーケンスエラーに対してより頑健である。Canuの新バージョンも同様のエンコーディングを実装している[ref.15]。

 古典的なde Bruijn法は、ロングリードとショートリードの両方を組み合わせてハイブリッドアセンブリにするために採用されている。ロングリードは、メイトペアと同じように、(ショートリード)アセンブリグラフのパスを解決するための「橋渡し要素」として機能することができる。

 ショートリードのアセンブリは安価で信頼性が高いという仮定の下、OLCのようなアプローチでも両種類のデータを統合するための様々なワークフローが提案されている。一般的な目標として、これらのプログラムは、様々なヒューリスティックスの助けを借りて、アセンブリ・グラフを作成するためのコストのかかるall-vs-all比較を回避する。MaSuRCAは、ロングリードとショートリードの両方を、ユニークなk-merを連鎖させることで、より長いスーパーリードに結合しようと試み、それによってオーバーラップのテストが必要なリードの数を減らす。WENGANは、まず完全なショートリードのコンティグを作成し、次にロングリードから生成された合成メイトペアでscaffoldを作る。Flyeは、さらにユニークな方法で、意図的に erroneousなコンティグをアセンブルし、それを共通の配列に連結する。セルフマッピングによりリピートが明らかになり、従来のアセンブリグラフのように解決することができる。

 HASLRは、ショートリードとロングリードの両方を含むアセンブリグラフのような構造を定義している。ショートリードはコンティグにアセンブルされ、k-merフィルターでリピートを除去した後、ロングリードにアライメントされる。結果として得られるバックボーングラフでは、ショートリードのコンティグはノードとして機能し、同じロングリードにマッピングされた場合はエッジで接続される。文字列グラフなどとは異なるが、ノイズを除去するために、標準的なチップおよびバブル除去アルゴリズムが適用される。コンティグはパスとして抽出される。

 DBG2OLCは、方法論的にはLazyBと最も近い関係にある。しかし、この2つのアプローチは、いくつかの重要な特徴で異なっている。DBG2OLCは、ショートリードを完全なコンティグにアセンブルすることで、ギャップクロージングやスキャフォールディングなどのrepeat resolvingテクノロジーを避けているが、これはエラーが多すぎるためである。ショートリードのコンティグは、ロングリードに対してアラインメントされる。各ロングリードはコンティグの近傍を意味する。グラフを作成する前に、各コンティグのすべての近傍領域の整合性をチェックしてマッピングを修正する。この手法は、誤ってマッチしたコンティグとキメラのロングリードの両方を除去するのに役立つが、効果的なvotingを行うためには十分なカバレッジが必要になる。LazyBと同様に、ロングリードはDBG2OLCグラフのノードとして機能し、エッジは2つのロングリードにマッピングするコンティグを表す。他のノードのコンティグのサブセットをマッピングするノードは、冗長であるため削除される。結果として得られたグラフは、古典的なチップとバブルの除去によってエラーが修正され、その後、各ステップで最適なオーバーラップを持つエッジをたどってコンティグとしてパスが抽出される。LazyBでは、初期のオーバーラップ・グラフをパスのアセンブリに編集するために、一連のヒューリスティックな手法を用いた段階的な手順でパスを抽出する。

 LazyBは、ロングリードとショートリードのデータを組み合わせてゲノムをアセンブルするための代替アプローチを実装している。LazyBは、エラーを起こしやすいロングリードデータの高価なall versus all比較を回避するだけでなく、ロングリードデータに対する個々のショートリードデータの困難なマッピングや、de Bruijnグラフや文字列グラフをエラー修正する従来の技術も回避することができる。後述するように、ロングリードのオーバーラップ・グラフを段階的に処理するアプローチは、ショートリードとロングリードの両方のカバレッジに対する要求が驚くほど低く、非常に優れたアセンブリーを生成するという利点がある。ロングリードのカバレッジを2倍にしただけでも、複雑なゲノムのアセンブリの連続性は大幅に改善される。この方法は、特に多数の種の探索的なアセンブリに適しており、機能的なアイランドを安価に特定することができ、高価な仕上げは必要ない。

 この寄稿は、WABI 2020 [ref.24]で発表された論文を改訂、更新、拡張したもので、以下のように構成されている。まず、LazyBの全体的な戦略を概説し、次にショートリードデータの前処理と、ショートリード由来のユニティグをロングリードにマッピングする方法について説明する。DBG2OLCやHASLRと同様に、LazyBは、複数のロングリードにマッピングされた部分的に組み立てられたショートリード配列をエッジとするロングリードオーバーラップグラフ上で動作する。LazyBの主な革新点はオーバーラップグラフの処理であり、理想的なデータから得られるオーバーラップグラフの特性にヒントを得た一連のヒューリスティックな手法で処理を行い、アセンブリグラフを修正するために一般的に用いられる手法を回避している。次に、オーバーラップ・グラフのパス分解からシーケンス・アセンブリを構築する方法を簡単に説明する。酵母、フルーツフライ、ヒトゲノムのアセンブリについてのベンチマーク結果を報告する。最後に、議論と、未解決の問題や今後の改善点への展望を述べる。

 LazyBは非常に低いカバレッジでも信頼性の高い動作を実現している。データセットに依存するアセンブリオプションの変化は、結果にほとんど影響しない。DBG2OLCなどのツールでは複雑なオプション設定が必要だが、LazyBでは堅牢なデフォルト設定が用意されている。

 

インストール

dockerの仮想環境でテストした。

依存

Following tools must be installed:

  • jellyfish 2
  • bbduk
  • Abyss 2
  • minimap2
  • modified version of racon (racon_mod in this project, compiled for generic linux)
#依存するツールはcondaで導入できる
mamba install -c bioconda -y abyss jellyfish minimap2 bbmap
pip install networkx

Github

git clone https://github.com/TGatter/LazyB.git
cd LazyB/

 

実行方法

ショートリードとロングリードを指定する。

./lazyB_pipeline.sh 50 90 outprefix illumina_R1.fq.gz illumina_R2.fq.gz long.fq.gz outdir

 

Githubより

  • k-mer-size-filterは、生のイルミナデータにおけるk-merカウントのためのk-merサイズを指定する。k-merが非常に多く含まれるリードはデータから削除される。k=50で始めることを推奨する。
  • k-mer-size-assembly]は、イルミナアセンブリ(ここではAbyssを使用)の際のk-merサイズを指定する。k=90で始めることを推奨する。

 

引用

LazyB: fast and cheap genome assembly

Thomas Gatter, Sarah von Löhneysen, Jörg Fallmann, Polina Drozdova, Tom Hartmann, Peter F. Stadler

Algorithms Mol Biol. 2021; 16: 8. Published online 2021 Jun 1

 

関連