[바이오 빅데이터 파일 포맷] gVCF

2026. 6. 20. 01:00·BI&Programming-Tools/File Formats

gVCF는 VCF의 확장 포맷입니다.

VCF와 구조는 같지만 담고 있는 정보가 다릅니다.

이 차이를 이해하려면 먼저 일반 VCF의 한계를 알아야 합니다.



VCF의 한계 — 변이가 없는 자리는 어떻게 되는지

일반 VCF는 변이가 발견된 위치만 기록합니다.

변이가 없는 자리는 파일에 아예 등장하지 않습니다.

그런데 여기서 문제가 생깁니다.

어떤 위치가 VCF에 없는 이유가 두 가지일 수 있기 때문입니다.

 

경우 1: 레퍼런스와 동일해서 변이가 없는 것 (정상)
경우 2: 그 위치에 리드가 충분하지 않아서 판단 자체를 못 한 것

 

VCF만 보면 이 둘을 구분할 수 없습니다.

특히 여러 샘플을 합쳐서 분석하는 공동 변이 탐지(joint genotyping) 에서 이 문제가 커집니다.

 

예를 들어 샘플 A에서 어떤 위치에 변이가 없고, 샘플 B의 VCF에도 그 위치가 없다면 B도 정상인 건지, 아니면 B는 그 위치를 아예 못 읽은 건지 알 수 없습니다.



gVCF의 로직

gVCF(genomic VCF)는 변이가 있는 자리뿐 아니라 변이가 없는 자리도 기록합니다.

덕분에 "이 위치는 읽었고, 변이가 없다"는 것을 명확히 표현할 수 있습니다.

변이가 없는 구간은 위치마다 한 줄씩 쓰면 파일이 너무 커집니다.

그래서 연속된 구간을 하나의 블록으로 묶어서 표현합니다. 이를 non-variant block 또는 reference block이라고 합니다.

 

#CHROM  POS    ID  REF  ALT    QUAL  FILTER  INFO              FORMAT   SAMPLE1
chr1    10001  .   C    <NON_REF>  .   .    END=10500;DP=35  GT:DP:GQ  0/0:35:40
chr1    10501  .   A    T      50   PASS   DP=30;AF=0.5     GT:DP:GQ  0/1:30:99
chr1    10502  .   G    <NON_REF>  .   .    END=11000;DP=33  GT:DP:GQ  0/0:33:45

 

<NON_REF>가 gVCF에서 핵심 표기입니다.

"이 구간은 변이가 없다"는 것을 나타내는 플레이스홀더입니다.

END=10500은 이 블록이 10001번부터 10500번까지 이어진다는 의미입니다.

즉 이 한 줄이 500개 위치를 대표합니다.



언제 쓰이는지

gVCF는 GATK HaplotypeCaller의 -ERC GVCF 옵션으로 생성됩니다.

GATK Best Practices에서 권장하는 표준 워크플로우에서 쓰입니다.

흐름은 밑과 같습니다.

 

샘플 1 BAM → HaplotypeCaller (-ERC GVCF) → 샘플1.g.vcf.gz
샘플 2 BAM → HaplotypeCaller (-ERC GVCF) → 샘플2.g.vcf.gz
샘플 3 BAM → HaplotypeCaller (-ERC GVCF) → 샘플3.g.vcf.gz
        ↓
   GenomicsDBImport (gVCF 합치기)
        ↓
   GenotypeGVCFs (공동 genotyping)
        ↓
   최종 멀티샘플 VCF

 

샘플마다 gVCF를 먼저 만들어두고, 나중에 GenotypeGVCFs에서 한꺼번에 합쳐서 최종 VCF를 만드는 방식입니다.

이 방식의 장점은 새 샘플이 추가될 때 전체를 다시 돌릴 필요 없이 새 샘플의 gVCF만 추가하면 된다는 점입니다.


VCF와 gVCF 차이 정리 

  VCF gVCF
기록 범위 변이 위치만 변이 + 변이 없는 구간 전체
파일 크기 작음 큼
용도 최종 결과 공유, 분석 공동 genotyping 중간 파일
핵심 표기 REF/ALT <NON_REF>, reference block
생성 도구 GATK, DeepVariant 등 GATK HaplotypeCaller -ERC GVCF

 

gVCF는 최종 결과물이 아니라 공동 분석을 위한 중간 파일이라는 점이 핵심입니다.

분석이 끝나면 최종적으로 일반 VCF 형태로 변환해서 씁니다.


한 줄 요약

gVCF는 변이가 없는 구간도 기록하는 VCF 확장 포맷입니다.

여러 샘플을 함께 분석하는 공동 genotyping에서 각 샘플의 중간 파일로 쓰이며, "이 위치는 읽었고 변이가 없다"는 정보를 명확히 표현할 수 있다는 게 핵심입니다.

'BI&Programming-Tools > File Formats' 카테고리의 다른 글

[바이오 빅데이터 파일 포맷] BED  (0) 2026.06.20
[바이오 빅데이터 파일 포맷] GFF3 / GTF  (0) 2026.06.20
[바이오 빅데이터 파일 포맷] VCF / BCF  (0) 2026.06.18
[바이오 빅데이터 파일 포맷] SAM / BAM / CRAM  (0) 2026.06.18
[바이오 빅데이터 파일 포맷] FASTQ  (0) 2026.06.17
'BI&Programming-Tools/File Formats' 카테고리의 다른 글
  • [바이오 빅데이터 파일 포맷] BED
  • [바이오 빅데이터 파일 포맷] GFF3 / GTF
  • [바이오 빅데이터 파일 포맷] VCF / BCF
  • [바이오 빅데이터 파일 포맷] SAM / BAM / CRAM
데이터로 읽는 생명
데이터로 읽는 생명
is-note 님의 블로그 입니다.
  • 데이터로 읽는 생명
    In Silico Note
    데이터로 읽는 생명
  • 전체
    오늘
    어제
    • 분류 전체보기 (190) N
      • Bio-Knowledge (16)
        • 분자생물학 & 유전학 기초 (0)
        • 전사체학 & 유전자 발현 (0)
        • 구조생물학 & 단백질 (0)
        • 싱글셀 & 다중오믹스 (0)
        • 임상유전학 & 질환 데이터 (0)
      • Programming (4)
        • API (4)
      • BI&Programming-Tools (111)
        • File Formats (14)
        • Linux & Bash Script (38)
        • Python (35)
        • R (11)
        • 통계 (8)
        • Pipeline Manager (0)
        • Etc (5)
      • Bio Data Analysis (28) N
        • 서열분석개론 (6)
        • WGS(Whole Genome Seq) (11)
        • WES(Whole Exome Seq) (2)
        • RNA-Seq (4) N
        • Metagenome (2)
        • Non-human Resequencing (1)
        • 임상유전체 분석 (1)
        • Multi-Omics (1)
      • Bio-Trends & Tech (1)
      • 코딩테스트 연습 (30)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    파일포맷
    R
    분자생물학
    코딩테스트
    fasta
    리눅스기초
    파이썬기초
    FASTQ
    리눅스
    통계
    파이썬연습
    GATK
    데이터분석
    wgs
    생물정보학
    ngs
    bioinformatics
    R기초
    파이썬
    유전체분석
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
데이터로 읽는 생명
[바이오 빅데이터 파일 포맷] gVCF
상단으로

티스토리툴바