본문 바로가기

유전체역학

NGS 데이터 분석 - GATK 데이터 전처리

img

[참고]

  • Data pre-processing for variant discovery (link)

Map to Reference

 

먼저 short reads를 reference genome에 대해 mapping 하고자 한다.

 
img

 

각 read pair별로 mapping 알고리즘을 통해 reference 유전체에 mapping을 실시하며, 각각 따로 시행되므로 대규모로 병렬화될 수 있다.

 

img

 

 

[참고]

  • (How to) Map and clean up short read sequence data efficiently (link)
  • (How to) Generate an unmapped BAM from FASTQ or aligned BAM (link)
  • (How to) Fix a badly formatted BAM (link)

Mark Duplicates

각 샘플별로 같은 DNA fragments의 duplicates에서 온 read pairs를 찾아낸다. 각 duplicates 중 하나 빼고 모든 read pair에 marking이 되어 variant discovery 단계에서 제외된다. 또한 이 단계에서 반드시 reads이 coordinate 순서로 정렬되어야 한다.

샘플 내에서 read pairs 간의 대규모 비교를 해야하기 때문에 일반적으로 병목현상을 나타낸다. 따라서 여러 개의 코어나 fast 디스크 드라이브일 경우 MarkDuplicatesSpark를 권장하며, MarkDuplicates + SortSam과 동일한 결과물을 산출한다.

  • MarkDuplicates (link) & SortSam (link) : duplicate marking을 한 후 sorting을 실시한다. Single threaded tool로 core parallelism을 활용할 수 없다.
  • MarkDuplicatesSpark (link): duplicate marking과 sorting을 모두 실시한다. Apache Spark를 활용하여 병렬화한다.

Base Quality Score Recalibration

각 샘플별로 머신러닝을 적용하여 base quality scores의 systematic 오류의 패턴을 찾아내고 보정한다. Base quality scores는 variant discovery 단계에서 중요한 가중치 역할을 하므로, 데이터 상으로 관찰되는 모든 systematic bias (라이브러리 생성 및 시퀀싱 과정에서의 생화학적 과정, 제조적 결함)를 보정하는 것이 매우 중요하다. Recalibration은 base calls의 공변량 측정치를 포함하며, 이러한 통계량들로부터 모델을 생성한 후 보정값을 적용하여 recalibrated dataset을 생성한다.

  • BaseRecalibrator (link)
  • ApplyBQSR (link)
  • AnalyzeCovariates (link; optional)

 

[참고]

  • Base Quality Score Recalibration (BQSR) (link)
  • Spark (link)