왜 대안 콜러를 아는 게 실무에 도움이 될까요
GATK4와 DeepVariant를 봤으니 이제 대안 콜러를 훑을 시간입니다. Strelka2와 FreeBayes는 오랜 이력의 오픈 도구들로, 특정 상황에서 GATK를 능가하거나, 계산 비용이 훨씬 적거나, 특정 라이브러리에 특화되어 있습니다.
새 프로젝트를 받았을 때 "이 상황엔 어떤 콜러가 유리한가요?"에 답할 수 있는 감을 잡는 게 이 편의 목적입니다.
Strelka2 — Illumina의 자체 콜러
Strelka2는 Illumina사가 개발해 2018년 오픈소스로 공개한 콜러입니다. germline과 somatic 모드를 모두 지원.
원리의 특이점
- Empirical genotype model: HaplotypeCaller처럼 로컬 어셈블리를 하지만, 확률 모델을 사전 훈련된 empirical 파라미터에 크게 의존.
- Illumina 시퀀서 특화: NovaSeq · HiSeq X · MiSeq의 오류 패턴에 튜닝되어 있음.
- Somatic tumor-normal 강점: 종양-정상 쌍에서 임상 감도가 높음.
실행 명령
# Germline 실행configureStrelkaGermlineWorkflow.py \ --bam=S1.bam \ --referenceFasta=hg38.fa \ --runDir=strelka_germline_S1
strelka_germline_S1/runWorkflow.py -m local -j 16
# Somatic 실행configureStrelkaSomaticWorkflow.py \ --normalBam=normal.bam \ --tumorBam=tumor.bam \ --referenceFasta=hg38.fa \ --runDir=strelka_somatic_S1
strelka_somatic_S1/runWorkflow.py -m local -j 16Configure 명령이 워크플로 스크립트를 생성하고, 그 스크립트가 실제 실행. Nextflow와 유사한 발상.
강점
- 속도: GATK4의 1/3~1/5 시간.
- Illumina 실증: 여러 벤치마크에서 인델 F1이 GATK보다 살짝 우위.
- 워크플로 관리 통합: Configure + runWorkflow로 재현성 확보.
약점
- 비인간 종에는 열세: Illumina 인간 튜닝이라 다른 종에서는 GATK가 안정적.
- 커스터마이징 어려움: 모델 재훈련 미지원.
FreeBayes — 논리적으로 유연한 하플로타입 콜러
FreeBayes는 Erik Garrison(pangenome graph 저자와 동일 인물)이 만든 오픈 도구입니다. GitHub에서 활발히 유지되고 있습니다.
원리의 특이점
- Haplotype-based: HaplotypeCaller와 유사하게 로컬 하플로타입을 만들고 리드로 우도 계산.
- 폴리플로이드 지원:
-p N으로 배수성 지정 가능 (인간 2n, 식물 4n·6n·8n, 미생물 haploid). - 혼합 샘플 지원: 하나의 BAM에 여러 개체가 섞여 있어도 콜링 가능 (풀 시퀀싱).
실행 명령
freebayes \ --ploidy 2 \ --fasta-reference hg38.fa \ --targets exome.bed \ --min-alternate-fraction 0.20 \ S1.bam > S1.freebayes.vcf옵션 몇 개만 잡으면 됩니다.
--ploidy: 배수성. 인간 2. 식물 4·6·8. 세균 1.--min-alternate-fraction: 최소 VAF. 임상은 0.20 표준.--targets: 인터벌.
강점
- 폴리플로이드: GATK가 인간 2n 위주라 식물·미생물 프로젝트엔 FreeBayes.
- 소형 유전체 신속: 미생물 유전체(5Mbp) 콜링이 몇 분.
- 오픈 커뮤니티: 이슈 응답이 빠름.
약점
- 인간 표준에서 감도: GATK/DeepVariant보다 다소 낮음.
- 필터가 최소: 사후 필터를 별도로 (bcftools filter) 붙여야 함.
언제 어떤 콜러? 실무 결정 매트릭스
| 상황 | 1순위 | 2순위 |
|---|---|---|
| 인간 WGS/WES 표준 임상 | GATK4 | DeepVariant |
| 인간 WGS 최대 감도 | DeepVariant | GATK4 |
| 인간 종양-정상 쌍 소마틱 | Mutect2 | Strelka2 |
| 인간 종양 단독 | Mutect2 (PoN) | Strelka2 |
| PacBio HiFi 롱리드 | DeepVariant | Clair3 |
| 미생물 유전체 (haploid) | FreeBayes | Snippy(Bcftools) |
| 식물·수산물 (polyploid) | FreeBayes | GATK4 (ploidy 옵션) |
| 소규모 · 소수 샘플 | Strelka2 | GATK4 hard filter |
| 논문 재현성 최우선 | 원 논문 도구 그대로 | — |
이 매트릭스가 실무 결정의 뼈대입니다. 벤치마크 결과가 매년 조금씩 갱신되니 새 프로젝트마다 최신 벤치마크 리포트를 스캔하는 습관이 좋습니다.
벤치마크 방법론 — GIAB + hap.py
콜러들을 어떻게 공정하게 비교할까요. 표준 프로토콜이 있습니다.
1. GIAB 참 세트로 기준 확정
Genome in a Bottle (GIAB) 컨소시엄이 인간 7개 표본(HG001~HG007)에 대해 여러 플랫폼·여러 콜러를 결합해 "이 위치들은 확실히 이 유전자형"이라는 참 세트를 만들었습니다. 이 세트가 벤치마크의 gold standard.
- HG001 (NA12878): 참 세트가 가장 완비.
- HG002~HG007: 다양성 확대.
2. hap.py로 비교
Illumina가 개발한 hap.py가 표준 비교 도구.
hap.py \ truth.vcf.gz \ S1.gatk.vcf.gz \ -f confident_regions.bed \ -r hg38.fa \ -o gatk_vs_truth결과에 다음 지표가 나옵니다.
- Precision: 콜된 것 중 참인 비율.
- Recall: 참 중 콜된 비율.
- F1: 조화 평균.
- Type별 (SNP · INDEL): 각 유형별 성능.
3. vcfeval
RTG Tools의 vcfeval도 표준. hap.py와 결과가 대체로 일치.
손 계산 — F1이 무엇을 말하는가
가상의 벤치마크 결과.
| 콜러 | Precision | Recall | F1 |
|---|---|---|---|
| GATK4 HC | 0.995 | 0.993 | 0.994 |
| DeepVariant | 0.996 | 0.997 | 0.996 |
| Strelka2 | 0.994 | 0.995 | 0.994 |
| FreeBayes | 0.987 | 0.983 | 0.985 |
인간 WGS SNP 표준에서 감도 순위. DeepVariant가 근소하게 앞, GATK/Strelka2 우세, FreeBayes 다소 뒤. 각 값이 실무 의미:
- Precision 0.996 = 콜된 100만 변이 중 4천 개가 위양성.
- Recall 0.997 = 참 100만 중 3천 개를 놓침.
임상 파이프라인은 4천 위양성이 유의미해서 후속 큐레이션이 필요합니다. 이 큐레이션이 실무 시간의 대부분입니다.
Ensemble — 여러 콜러 결합
여러 콜러의 결과를 합쳐 감도를 극대화하는 접근이 있습니다.
- Union: 어느 한 콜러라도 콜한 변이 → 감도 최대 · 위양성 증가.
- Intersection: 모든 콜러가 콜한 변이 → 특이도 최대 · 감도 감소.
- 2-of-3: 3개 콜러 중 2개 이상 동의 → 균형 지점.
nf-core/sarek이 이 앙상블 방식을 지원. 대규모 코호트에서는 앙상블이 감도 향상에 실질적 가치.
Colab 실습 — chr22 소형 벤치마크
!apt-get install -y freebayes samtools bcftools >/dev/null
# 소형 예제!wget -q https://sra-pub-src-1.s3.amazonaws.com/HG002/HG002_chr22.bam!samtools index HG002_chr22.bam
# FreeBayes 콜링!freebayes -f hg38_chr22.fa HG002_chr22.bam > freebayes.vcf!bcftools view freebayes.vcf | head -30hap.py는 설치가 다소 무거워 Docker로 별도 실행 권장.
CS 매핑
- Bayesian 하플로타입: FreeBayes = HaplotypeCaller와 유사한 로컬 하플로타입 접근.
- Empirical 파라미터: Strelka2 = 사전 훈련 통계.
- 벤치마크 (Precision/Recall/F1): DryBench "벤치마크 프레임" 편(
benchmarking-frameworks) 참고.
마무리
콜러 선택은 상황 판단입니다. 이번 편의 매트릭스가 그 판단의 지도입니다. 다음 편(S14)에서는 짧은리드 콜러들이 잡지 못하는 대형 구조변이(SV)에 특화된 도구들(Manta · Delly · GRIDSS)을 봅니다.
더 깊게 파고 싶다면
- Kim S. et al. (2018), Strelka2: fast and accurate calling of germline and somatic variants. Nature Methods 15:591. Strelka2 원 논문.
- Garrison E. & Marth G. (2012), Haplotype-based variant detection from short-read sequencing. arXiv:1207.3907. FreeBayes 원 논문.
- Zook J.M. et al. (2019), An open resource for accurately benchmarking small variant and reference calls. Nature Biotechnology 37:561. GIAB 벤치마크 프로토콜.
- precisionFDA Truth Challenge (https://precision.fda.gov/challenges): 최신 콜러 벤치마크 대회.
- nf-core/sarek (https://nf-co.re/sarek): Nextflow 기반 앙상블 워크플로.
콜러 매트릭스를 프로젝트 시작할 때 참조 문서로 붙여두면 결정 속도가 확 오릅니다. 다음 편에서 구조변이 도구로 갑시다.