앞 글에서 WGS가 무엇인지 정리했습니다.
이번 글은 시퀀서에서 데이터가 나온 다음, 그 데이터가 최종 변이 목록이 되기까지 어떤 단계를 거치는지 흐름을 정리합니다.
WGS 분석의 표준 흐름은 Broad Institute의 GATK Best Practices를 기준으로 삼는 경우가 많습니다.
전체를 한눈에 보면 이렇게 정리할 수 있습니다.
[1] 시퀀싱 → FASTQ
[2] QC (품질 확인)
[3] 정렬 (Alignment) → BAM
[4] 전처리 (중복 표시, 품질 재보정)
[5] 변이 탐지 (Variant Calling) → VCF
[6] 변이 필터링
[7] 변이 주석 (Annotation)
[8] 결과 해석
이 흐름을 하나씩 짚어보겠습니다.
시퀀싱 → FASTQ
시퀀서가 게놈 조각들을 읽어서 FASTQ 파일을 만들어내는 단계입니다.
이게 모든 분석의 출발점입니다.
WGS는 보통 페어드엔드(paired-end) 방식으로 시퀀싱합니다.
DNA 조각의 양쪽 끝을 모두 읽기 때문에 R1, R2 두 개의 FASTQ 파일이 한 샘플당 만들어집니다.
WGS에서 권장되는 시퀀싱 깊이(depth)는 일반적인 생식세포(germline) 분석 기준 30x입니다.
게놈의 각 위치를 평균 30번씩 읽었다는 뜻입니다.
더 정밀한 분석(예시) 종양 샘플)에서는 이보다 훨씬 깊게 읽기도 합니다.
QC — 품질 확인
시퀀싱이 끝난 FASTQ를 바로 분석에 쓰지 않고, 먼저 품질을 확인합니다.
FastQC 같은 도구로 확인하는 주요 항목은 다음과 같습니다.
- 염기 품질 점수(Q score) 분포가 양호한지
- 어댑터 서열이 남아있지는 않은지
- GC 함량이 예상 범위인지
- 리드 길이 분포가 일정한지
문제가 발견되면 Trimmomatic, fastp 같은 도구로 품질이 낮은 부분이나 어댑터 서열을 잘라냅니다(트리밍).
이 단계를 건너뛰면 이후 정렬과 변이 탐지 단계에서 오류가 누적될 수 있습니다.
정렬 — 레퍼런스에 붙이기
QC를 통과한 리드를 레퍼런스 게놈에 정렬(alignment)합니다.
각 리드가 게놈의 어느 위치에서 왔는지 찾아서 붙이는 과정입니다.
WGS의 표준 정렬 도구는 BWA-MEM입니다.
레퍼런스 게놈(FASTA)을 기준으로 모든 리드를 어디에 배치할지 계산합니다.
정렬이 끝나면 SAM 파일이 만들어지고, 이를 압축한 BAM 파일로 변환해서 다룹니다.
이 시점부터는 게놈 좌표를 기준으로 리드들이 정리된 형태가 됩니다.
레퍼런스 게놈은 현재 GRCh38(hg38)이 표준입니다.
분석을 시작하기 전에 어떤 레퍼런스 버전을 쓸지 미리 정해야 합니다.
다른 버전을 섞어 쓰면 좌표가 어긋나서 심각한 오류로 이어집니다.
전처리 — 변이 탐지 전 다듬기
정렬된 BAM 파일을 변이 탐지에 바로 쓰지 않고, 몇 가지 전처리를 거칩니다.
GATK Best Practices에서는 이 단계를 Data Pre-processing이라 부르며 변이 탐지 전 필수 단계로 규정합니다.
정렬 순서 정리
정렬 직후의 BAM은 리드 순서가 뒤섞여 있을 수 있어서, 게놈 좌표 순서로 정리(sort)합니다.
PCR 중복 표시
라이브러리 제작 과정에서 같은 DNA 조각이 PCR로 여러 번 복제되는 경우가 있습니다. 이 중복 리드들은 독립적인 증거가 아니라서 변이 탐지에 편향을 줄 수 있습니다. Picard MarkDuplicates로 중복 리드를 표시합니다(삭제하지는 않고 표시만 합니다).
염기 품질 재보정 (BQSR)
시퀀서가 부여한 품질 점수는 항상 정확하지는 않습니다. 특정 서열 맥락이나 사이클 위치에 따라 체계적으로 치우치는 경향이 있습니다. GATK BaseRecalibrator가 알려진 변이 위치(dbSNP 등)를 제외한 나머지에서 실제 오류 패턴을 학습하고 품질 점수를 다시 계산합니다.
이 단계까지 거치면 비로소 분석 준비가 끝난 BAM 파일이 됩니다.
변이 탐지
전처리된 BAM을 가지고 실제로 변이를 찾는 단계입니다.
GATK 기준으로는 HaplotypeCaller가 표준 도구입니다.
샘플 하나만 분석하는 게 아니라 여러 샘플을 함께 분석하는 경우(가족 단위 trio 분석, 코호트 연구 등),
GATK는 gVCF라는 중간 형식을 거치는 방식을 권장합니다.
샘플별로 HaplotypeCaller 실행 (-ERC GVCF 옵션)
↓
샘플1.g.vcf 샘플2.g.vcf 샘플3.g.vcf ...
↓
GenomicsDBImport (여러 gVCF를 하나의 데이터베이스로 통합)
↓
GenotypeGVCFs (통합 데이터를 기준으로 공동 genotyping)
↓
하나의 멀티샘플 VCF
이 방식의 장점은 새로운 샘플이 추가될 때 기존 샘플을 처음부터 다시 분석할 필요 없이, 새 샘플의 gVCF만 만들어서 추가하면 된다는 점입니다.
대규모 코호트 연구에서 특히 유리합니다.
단일 샘플만 분석하는 경우라도 gVCF를 거쳐서 GenotypeGVCFs를 실행하는 흐름을 그대로 따르는 경우가 많습니다.
변이 필터링 — 진짜와 가짜를 가리기
변이 탐지 직후의 결과(raw callset)에는 진짜 변이 외에도 시퀀싱 오류나 정렬 오류로 생긴 가짜 변이(artifact)가 섞여 있습니다.
이를 걸러내는 단계가 필요합니다.
GATK Best Practices는 VQSR(Variant Quality Score Recalibration)을 권장합니다.
여러 변이 특성(가닥 편향, 깊이, 매핑 품질 등)을 종합해서 머신러닝 모델(가우시안 혼합 모델)로 각 변이가 진짜일 가능성을 점수화하고, 이미 알려진 고신뢰도 변이 데이터셋(예: 1000 Genomes, HapMap)을 기준 삼아 어느 정도 점수 이상을 신뢰할지 정합니다.
VQSR은 충분히 많은 변이가 있어야 모델이 잘 학습되기 때문에, 보통 WGS처럼 변이 수가 많은 데이터에 적합합니다.
샘플 수가 적거나 변이 수가 부족한 경우에는 하드 필터링(특정 지표에 고정 임계값을 적용하는 방식)을 대신 쓰기도 합니다.
이 단계를 거치면 VCF의 FILTER 컬럼에 PASS 또는 탈락 사유가 표시됩니다.
변이 주석 — 의미 붙이기
필터링까지 끝난 변이 목록은 그 자체로는 "어느 위치에 어떤 변화가 있다"는 정보만 담고 있습니다.
이 변이가 어떤 유전자에 있는지, 단백질 서열에 어떤 영향을 주는지, 이미 알려진 변이인지는 별도로 붙여야 합니다.
이 작업을 주석(annotation)이라 합니다.
대표적인 도구는 VEP(Variant Effect Predictor)와 SnpEff입니다.
이 도구들이 GTF 기반 유전자 정보를 참조해서 각 변이가 어떤 유전자, 어떤 영역(엑손/인트론/UTR)에 있는지, missense인지 nonsense인지 같은 기능적 영향을 VCF에 추가해줍니다.
여기에 더해 공개 데이터베이스 정보도 함께 붙입니다.
- gnomAD: 일반 인구집단에서 이 변이가 얼마나 흔한지
- ClinVar: 이 변이가 임상적으로 보고된 적이 있는지
- CADD, REVEL 같은 기능 예측 점수: 이 변이가 단백질 기능에 해로울 가능성
결과 해석
주석까지 끝나면 수만~수백만 개의 변이가 담긴 VCF가 만들어집니다.
이 중에서 실제로 의미 있는 변이를 추려내는 과정이 마지막 단계입니다.
분석 목적에 따라 추리는 기준이 다릅니다.
희귀질환 진단이라면
일반 인구집단에서 매우 드문 변이(gnomAD 빈도 낮음), 단백질 기능에 큰 영향을 주는 변이(nonsense, frameshift 등), 환자의 유전 양식(상염색체 우성/열성 등)에 맞는 변이를 좁혀갑니다.
연구 목적이라면
특정 표현형이나 질환과 통계적으로 연관된 변이를 찾거나, 집단 간 빈도 차이를 비교합니다.
이 단계는 지금까지의 기계적인 파이프라인과 달리 생물학적, 임상적 판단이 많이 들어가는 부분입니다.
전체 흐름 한 번에 보기
FASTQ (R1, R2)
│ FastQC, Trimmomatic/fastp
▼
QC 통과한 FASTQ
│ BWA-MEM
▼
SAM/BAM (정렬됨)
│ Picard SortSam → MarkDuplicates → GATK BQSR
▼
분석 준비 완료된 BAM
│ GATK HaplotypeCaller (-ERC GVCF)
▼
gVCF
│ GenomicsDBImport → GenotypeGVCFs
▼
멀티샘플 VCF (raw)
│ VQSR 또는 하드 필터링
▼
필터링된 VCF
│ VEP / SnpEff + gnomAD, ClinVar 등
▼
주석 달린 VCF
│ 목적에 맞는 기준으로 선별
▼
최종 변이 해석
정리
WGS 분석은 시퀀싱 데이터를 받아서 품질을 확인하고, 레퍼런스에 정렬하고, 변이를 찾고, 그 변이를 걸러내고, 의미를 붙이고, 최종적으로 해석하는 일련의 단계로 진행됩니다.
각 단계는 독립적으로 보이지만 앞 단계의 결과가 다음 단계의 입력이 되는 연속된 흐름입니다.
이 흐름은 WGS만의 것이 아니라 WES를 비롯한 대부분의 germline 변이 탐지 분석에서 거의 동일하게 적용됩니다.
'Bio Data Analysis > WGS(Whole Genome Seq)' 카테고리의 다른 글
| [WGS 분석] 인덱스 생성 및 정렬 (SAM/BAM) (0) | 2026.06.30 |
|---|---|
| [WGS 분석] QC & Trimming (0) | 2026.06.30 |
| WGS 분석 실습을 위한 FASTQ 파일 구조 이해하기 (0) | 2026.06.29 |
| WGS 분석 실습 환경 구축 (0) | 2026.06.28 |
| [NGS 분석] WGS란 무엇인가 (0) | 2026.06.21 |
