Churchill
- Churchill: an ultra-fast, deterministic, highly scalable and balanced parallelization strategy for the discovery of human genetic variation in clinical and population-scale genomics
- Churchill(こちら)は、並列化処理に関して重点開発した、リードの生データからバリアント検出までを一塊で実行する、集団ゲノム解析アプリ
- ゲノムリードからバリアント検出までは、いろいろな手法の複合体となっていて、相当面倒だったが、それを一つの流れにした
- データ処理上の克服課題
- 並列処理(別々に処理して後から併せる)をしないと速くならないので、諸ステップの並列化をすることが課題であった
- リードのマップは、リード同士の情報を使いあうので並列化しにくく、特に、paired-endは表裏として情報を使いあうが、この点は並列化する上での困難
- マッピングが済めば、染色体ごとに分割・並列処理することが可能だが、染色体のサイズの不均衡(1番染色体のサイズは21番染色体の5倍)の問題があり、また、染色体数以上の並列化のためには不十分
- データ処理の概要・薀蓄
- 処理ステップ
- Step 1. Parallelized alignment to a reference sequence
- BWA
- Illumina’s BCL-conversion process (CASAVA 1.8.2)
- Step 2. Parallelized generation and deduplication of subregional BAMs
- このプロセスがChurchillの肝
- (1) Split raw BAM by region-> chrI BAMsと呼ばれるファイルを作る
- (2) Merge split BAMs by subregion
- (3) Merge split chrI BAMs
- (4) Parallelized deduplication
- (5) Merge chrI reads with subregional BAMs
- Step 3. Parallelized local realignment around indels
- Indel周囲のフォールスポジティブSNVを排除するべく、Smith-Waterman algorithm
- Step 4. Parallelization of base quality score recalibration
- Step 5. Parallelization of variant calling
- GATK UnifiedGenotyper, GATK HaplotypeCaller or Freebayes
- Step 1. Parallelized alignment to a reference sequence
- 実装