macでインフォマティクス

macでインフォマティクス

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

ロングリードを使ってハプロタイプフェージングを行う HapCHAT

 

 ヒトゲノムの二倍体の性質、すなわちハプロタイプと呼ばれるゲノムの2つのコピーを有するため、ゲノムの変異はこれら2コピーのいずれかに現れる。それぞれのゲノム変異が発生する特定のハプロタイプを知ることは、集団ゲノミクス[ref.1-2]、臨床遺伝学および医学遺伝学[ref.3]、あるいは複合ヘテロ接合性の効果[ref.2]まで、遺伝学のさまざまな研究に強い影響を与える [ref.4]。

 より具体的には、ゲノムの2つのハプロタイプ間の変異は、大部分、ヘテロ接合性のSNV、すなわちハプロタイプが2つの異なる対立遺伝子を含む単一ゲノム位置の形態である。ハプロタイプの直接的な実験的再構築はまだ費用効率が良くない[ref.5]またはまだ広く採用されていない方法を必要とする[ref.6, 7]ので、計算方法はリファレンスヒトゲノムにマッピングされたシーケンシングリードから出発してこのタスクを行うことを目的とする。実際、シークエンシングリードは通常ゲノム上の複数のSNV位置をカバーしているので、ハプロタイプで共発生する対応する対立遺伝子についての情報を提供できる。特に、ハプロタイプアセンブリは、同じセットに属する全てのリードが同じハプロタイプに割り当てられるようにリードを2つのセットに分割することを目的とした計算手法である。

 多数の個体に対してキュレーションされた高品質のハプロタイプリファレンスパネルが利用可能であるため[ref.8-9]、これらのパネルから個体のハプロタイプを統計的に推論する計算方法が広く使用されている[ref.1, 10]。しかしながら、これらの方法の正確さはパネルを編集するのに使用される母集団の大きさと多様性に大きく依存しており、まれなバリアントでは不十分な性能をもたらし、de novoバリアントは完全に見逃される。これらの種類のバリアントは、個体のシーケンシングリードに現れ、リードに基づくハプロタイプアセンブリを明白な解決策にする。

 The combinatorial Minimum Error Correction(MEC)問題は、ハプロタイプアセンブリの最も一般的に引用されている定式化である[ref.11]。節約の原則の下で、MECは、リードを2つのハプロタイプに分割できるようにするため、シーケンスリードの値に対する補正の最小数を見つけることを目的としている。残念ながら、この問題はNP困難[ref.11]であり、近似するのはさらに困難である[12, 13, 14]。そのため、ハプロタイプ構築のためのいくつかの発見的方法が提案されている[ref.15-19]。それを超えて、整数線形計画法(ILP)アプローチ[ref.20、21]、およびいくつかのパラメータで固定パラメータ扱い可能(FPT)である動的計画法(DP)アプローチを含む、いくつかの正確な方法が提案された[ref.13, 22]。これらのメソッドは、従来のショートシーケンシングリードを使用して取得されたデータセットに対して良好な結果を達成する。しかしながら、ショートリードはゲノムに沿った数個のSNV位置にまたがることを可能にせず、それらを2つのハプロタイプの長い領域を再構成するためには不十分である。実際、これらのリードによって提供される短距離の情報では、多数のSNV(あるとしても)を一緒にリンクすることはできない。結果として、アセンブリされたハプロタイプは、互いに対して、フェーズが定められていないままである多くの短いハプロタイプブロックに断片化される[ref.23]。

 第三世代のシークエンシング技術の出現は、ロングリードと呼ばれる、ゲノムのはるかに長い部分をカバーすることができる新しい種類のシークエンシングリードを導入した[ref,24、25、26]。各リードはゲノムに沿ったいくつかの位置にわたることがあり、これらのリードによって提供される長距離情報はいくつかのSNVをリンクすることを可能にする。これは、対応するハプロタイプにより多くのバリアントを割り当てるより長いハプロタイプブロックを得る可能性をもたらす[ref.27, 28]。 Pacific Biosciences(PacBio)[ref.29]およびOxford Nanopore Technologies(ONT)[ref.30]によって提供されている現在の第3世代のシークエンシングプラットフォームは、長さが数十から数百キロベースペア(kbp)のリードを生成でき、一般的なショートリードより多くのバリアントを一緒にできる。 PacBioテクノロジーは高いエラー率(ミスマッチエラー率が最大5%、indel率が最大10%)を特徴としているが、これはゲノム位置に沿って一様に分布である[ref.24, 25, 31]。一方、オックスフォードナノポアテクノロジーズは、さらに一様に分布していないさらに高いエラー率を持っている[ref.32]。 [ref.33]で実証されているように、カバレッジを考慮した場合でも、ショートリード用に設計された従来のアプローチはこれらのロングリードに適用すると失敗する。これは、これらのアプローチがリード長の増加に伴ってうまくスケーリングできていないという事実による[ref.21, 22]。

 最近、2つの方法、すなわちWhatsHap [ref.33, 34](紹介)とHapCol [ref.35](紹介)、がロングリードとその特性を具体的に扱うために提案された。WhatsHapはカバレッジをパラメータとして扱い、固定されたパラメータで扱いやすい動的計画法アルゴリズムを導入している。ここで、カバレッジは任意のゲノム位置をカバーするリードの最大数である。したがって、このアルゴリズムは、実行時間がリード長とは無関係であるため、ロングリードの長距離情報を活用できるが、残念ながら、最大20xのカバレッジ範囲までしかデータセットを処理できない[ref,33]。最近、WhatsHapのパラレルバージョンが提案され、最大25倍のより高いカバレッジを扱うことができるようになった[ref.36]。 WhatsHapはMEC問題に対する理論的に最適な解を計算し、入力リードにおける全体の訂正数を最小にするが、これは非現実的に多数の訂正を持つ列では起こり得る。

 一方、HapColでは、ロングリードを特徴付けるシーケンスエラーの一様分布を利用するアプローチを提案している。特に、著者らは、最大の訂正数が各列に限定され、期待されるエラー率から計算されるMEC問題の新しい定式化を提案している[ref.35]。 HapColはWhatsHapと比較してより高いカバレッジのデータセットを扱うことができることが示されている。しかしながら、予想よりも多くのエラーを含むゲノム位置の存在(アラインメントまたはリピート領域におけるエラーによる)は、このアプローチにとって問題である。その結果、わずかな異常値が存在してもアルゴリズムがグローバルな動作を変更したり失敗したりすることを余儀なくされるため、HapColでさえも最大25〜30倍の比較的低いカバレッジインスタンスにに事実上制限されている。

 結果として、ロングリードからのハプロタイプアセンブリのために提案された両方の方法、WhatsHapおよびHapColは、カバレッジを増大させながらデータセットを管理することに問題がある。しかしながら、各位置をカバーするより多数のリードを考慮することは、確かに、第3世代のシーケンシング技術によって生成されたシーケンシングリードを特徴付ける高いエラー率に直面するための最も信頼できる方法である。実際、PacBioプラットフォームによって生成されたロングリードは、エラーがゲノム位置全体にほぼ一様に分布しているため、それらがカバーする任意のSNV位置で限られた数のエラーを共有する。したがって、範囲を広げることは、シーケンシングエラーの影響を軽減し、そしてより高品質のハプロタイプを再構築することを可能にし得る。

 この論文では、以前のWhatsHapとHapColの主な機能を組み合わせて拡張した新しい方法を提案し、ノイズや異常値の存在に強く、またより高いカバレッジのデータセットを処理することを目的とした。特に、推定エラー率の動的適応、ひいては各位置で許容される最大訂正数も可能にすることによって、[ref.35]で提案されたアプローチを再設計する。これにより、サイトで必要以上に多くの訂正が必要なシナリオの調査を回避しながら、予想よりも多くのエラーを必要とする列の処理が可能になる。これは、同じハプロタイプに由来する可能性が高いペアエンドリードをマージする手順と組み合わされて、この方法が著しく高い値のカバレッジに拡張できるようにする。この方法は、HapCHAT:Haplotype Assembly Coverage Handling by Adapting Thresholds、で実装されている。(一部略)

HapCol [ref.35]を含む、ハプロタイプアセンブリにおけるいくつかの最先端の方法と本方法を比較する。(一部略) HapCHATは正確性とrecallの点で他のツールと同等かそれより優れているが、それ以下の計算リソース(時間とメモリ)しか必要としない。これらの結果は、ロングレンジの情報と高いエラー率に対処するため、高いカバレッジを実際に活用できることを裏付けている。

 

HP

http://hapchat.algolab.eu

 

インストール

依存

  • HapCHAT has been developed and tested on Ubuntu Linux, but should work any system which has python(3), C++(>=11), as well other utilities that appear on most *nix-based systems (such as bash, awk, git, cmake and make). 
  • Some more specific dependencies that may not be installed are python3-dev, python3-networkx and virtualenv. These can be obtained in Ubuntu with, e.g., the command apt install python3-dev, etc.

本体 Github

ここではオーサーらが用意したdockerイメージを利用する。

docker pull algolab/hapchat

 

テストラン

mkdir DATADIR

#run
docker run -v DATADIR:/data algolab/hapchat

$ docker run -v $PWD:/data algolab/hapchat

Provided cores: 1

Rules claiming more threads will be scaled down.

Job counts:

count jobs

1 download_reference

1 master

1 run_hapchat

1 run_hapchat_realignment

1 uncompress_reference

5

rule download_reference:

input: /data/MD5SUM

output: /data/genome.fasta.gz

 

1 of 5 steps (20%) done

rule uncompress_reference:

input: /data/genome.fasta.gz

output: /data/genome.fasta

log: /data/download.log

 

gzip: /data/genome.fasta.gz: decompression OK, trailing garbage ignored

2 of 5 steps (40%) done

rule run_hapchat_realignment:

input: /data/file.vcf, /data/genome.fasta, /data/file.bam

output: /data/out.realigned.phased.vcf

3 of 5 steps (60%) done

rule run_hapchat:

input: /data/file.vcf, /data/file.bam

output: /data/out.phased.vcf

4 of 5 steps (80%) done

localrule master:

input: /data/out.phased.vcf, /data/out.realigned.phased.vcf

5 of 5 steps (100%) done

 出力

f:id:kazumaxneo:20190319204453j:plain

 

 

引用

HapCHAT: adaptive haplotype assembly for efficiently leveraging high coverage in long reads
Beretta S, Patterson MD, Zaccaria S, Della Vedova G, Bonizzoni P

BMC Bioinformatics. 2018 Jul 3;19(1):252

 

関連