GATK Best Practices를 읽는 법
왜 이 개념이 필요한가
시퀀싱 데이터에서 변이를 찾는 일은 한 번의 명령으로 끝나지 않습니다. 원시 read가 reference genome의 어느 위치에서 어떤 품질로 정렬되었는지, 그 위치에서 관찰된 염기가 얼마나 일관적인지, 여러 샘플을 어떻게 비교했는지가 최종 variant call에 영향을 줍니다.
GATK Best Practices는 이런 변이 분석 흐름을 이해하는 기준점으로 자주 사용됩니다. 하지만 Best Practices라는 이름이 모든 데이터와 모든 GATK release에 그대로 적용되는 고정 recipe를 뜻하지는 않습니다.
이 글은 개념과 증거의 경계를 다루는 안내입니다. 단계별 실습은 GATK4 Best Practices 실습 시리즈에서 이어집니다.
핵심 개념 — pipeline은 명령어 목록이 아니라 증거의 변환 과정이다
개념적 흐름은 다음과 같습니다.
sequencing reads
↓
alignment to a reference genome
↓
quality control and preprocessing
↓
variant evidence aggregation
↓
variant calling and filtering
↓
VCF + quality / evidence annotations각 단계는 “파일을 다음 파일로 바꾸는 과정”이면서 동시에 관측된 증거의 의미를 바꾸는 과정입니다. 예를 들어 BAM에 read가 정렬되어 있다고 해서 모든 mismatch가 생물학적 변이는 아닙니다. sequencing error, mapping ambiguity, duplicate, low coverage가 함께 고려되어야 합니다.
입력과 출력의 관계
FASTQ
FASTQ에는 read sequence와 base quality가 들어 있습니다. 이 단계에서는 reference 좌표가 없으므로 “어느 유전자에 어떤 변이가 있는가”를 직접 말할 수 없습니다.
BAM/CRAM
read를 reference genome에 정렬하면 각 read가 어느 좌표에 놓이는지와 정렬 품질을 확인할 수 있습니다. 이때 reference build와 aligner, read group, duplicate 처리 같은 조건이 뒤 단계의 해석에 영향을 줍니다.
VCF
variant caller는 정렬된 read에서 특정 위치의 대립유전자 evidence를 모아 variant 후보와 품질 정보를 기록합니다. VCF는 결과 요약이지, 모든 원자료와 판단 과정이 사라진 최종 진실표가 아닙니다. reference, caller, filter, depth, allele balance 같은 정보와 함께 읽어야 합니다.
germline과 somatic은 같은 pipeline인가?
아닙니다. germline variant calling은 개인의 유전적 변이를 찾는 질문이고, somatic calling은 종양과 정상 시료 사이의 차이나 종양 내 변이를 찾는 질문입니다. 샘플 구성, 기대 allele fraction, 오류 모델, 필터와 해석 기준이 달라질 수 있습니다.
따라서 “GATK pipeline”이라고만 쓰면 부족합니다. 최소한 다음을 밝혀야 합니다.
- germline인지 somatic인지
- single-sample인지 cohort인지
- WGS, WES, targeted panel 중 무엇인지
- reference genome build가 무엇인지
- 사용한 GATK release와 upstream/downstream 도구가 무엇인지
현재 germline cohort의 개념 흐름은 analysis-ready BAM → sample별 gVCF → gVCF aggregation → joint genotyping → filtering으로 구분해야 합니다. 반면 somatic short variant workflow는 tumor sample과 선택적 matched normal을 입력으로 하는 별도 분석 질문입니다.
작은 예시 — 같은 mismatch를 다르게 읽기
한 위치에서 20개의 read 중 15개가 reference와 다른 염기를 보였다고 해봅시다. 이 결과만으로 variant라고 확정할 수는 없습니다.
| 확인 항목 | 질문 |
|---|---|
| read depth | 충분한 read가 관찰되었는가? |
| base/mapping quality | 해당 read와 위치의 신뢰도가 높은가? |
| strand balance | 한 방향 read에만 치우치지 않는가? |
| allele fraction | germline 또는 somatic 질문과 맞는 비율인가? |
| nearby alignment | indel·반복서열·mapping ambiguity가 있는가? |
이 점검을 거쳐야 관찰된 차이를 variant evidence로 해석할 수 있습니다. 파이프라인은 이 과정을 자동화하지만, 자동화가 질문의 정의와 품질관리 책임을 없애지는 않습니다.
버전이 중요한 이유
GATK Best Practices의 단계와 권고는 데이터 유형, GATK release, reference genome, caller, parameter에 따라 달라질 수 있습니다. 과거 글의 단계 이름과 현재 공식 workflow를 한 문서 안에서 섞으면, 당시의 교육용 흐름이 현재의 재현 가능한 방법처럼 보일 수 있습니다.
재현 가능한 기록에는 다음을 함께 남겨야 합니다.
- GATK exact release
- 실행 workflow/WDL의 exact version 또는 commit
- workflow 또는 tool version
- reference genome build와 known-sites resource
- 입력 데이터 유형과 sample design
- filtering·quality control 조건
- VCF 후속 annotation 및 interpretation resource
이 개념 글은 GATK 실행 명령어를 제시하지 않습니다. 데이터셋별 버전과 조건이 달라질 수 있으므로, 데이터 흐름과 판단 지점을 설명하는 데 범위를 둡니다.
혼동하기 쉬운 점
Best Practices는 하나의 영구 표준 recipe인가?
아닙니다. Best Practices는 특정 분석 질문과 도구 버전에서 검증된 workflow의 기준점입니다. 현재 사용하려면 공식 문서와 release-specific guidance를 다시 확인해야 합니다.
VCF에 기록된 variant는 임상적으로 중요한 변이인가?
아닙니다. VCF는 variant call과 관련 evidence를 담는 분석 산출물입니다. 임상적 의미는 annotation, population data, phenotype, guideline과 별도의 해석 단계를 거쳐야 합니다.
전처리가 끝나면 오류가 사라지는가?
아닙니다. 전처리는 특정 오류와 편향을 줄이는 과정이지, 모든 오류를 제거하는 보증이 아닙니다. coverage, mapping, sample quality와 assay 설계의 한계는 계속 남을 수 있습니다.
현재 근거와 한계
- GATK는 NGS 변이 분석 흐름을 구성하는 도구와 workflow의 생태계로 설명할 수 있습니다.
- 정렬·전처리·variant calling·filtering은 서로 연결된 단계입니다.
- 특정 과거 workflow와 현재 공식 workflow가 일치한다고 가정하지 않습니다.
- Indel realignment는 현재 GATK4 전처리 필수 단계로 제시하지 않습니다.
- 이 글은 command tutorial이 아니라 입력·증거·출력과 버전 의존성을 설명하는 개념 안내입니다.
연결 Concept / Story
- Concept: FASTQ, BAM/CRAM, VCF, reference genome, variant calling
- Story 후보: 하나의 read mismatch가 variant evidence로 좁혀지는 분석 과정