본문 바로가기
Bioinformatics

vcf <NON_REF> 해결 방법 (feat. GATK)

by 코딩하는 미토콘드리아 bioinformatics 2025. 1. 7.
반응형

결론부터 말씀드리면, 일반적인 현상입니다.

 

VCF 파일 ALT 컬럼에 <NON_REF> 가 나타나는것은

GATK의 HaplotypeCaller를 사용할 때 발생할 수 있는 일반적인 현상입니다.

이는 GATK가 변이를 호출할 때,

레퍼런스와 다른 모든 가능한 대립형질을 나타내기 위해 를 사용하는 방식 때문이고

이런 현상은 GVCF 모드로 호출 시 발생 할 수 있습니다.

 

1. GVCF 모드란?
GATK는 샘플별로 변이 가능성을 모두 포함한 데이터를 생성합니다. 

이때 변이가 없는 영역은 <NON_REF>로 표시하여 변이가 없음을 의미합니다.


VCF 모드로 변경
만약 최종적인 VCF를 바로 생성하려면 HaplotypeCaller를 실행할 때 -ERC GVCF 대신 -ERC NONE 옵션을 사용해야 합니다.

gatk HaplotypeCaller \
    -R hg38.fa \
    -I input.bam \
    -O output.vcf \
    -ERC NONE

 

2. 레퍼런스 및 데이터 일치 확인
레퍼런스 hg38 사용 여부: BAM 파일 생성 시 사용한 레퍼런스와 GATK에서 사용하는 레퍼런스가 일치하지 않으면 <NON_REF>와 같은 이상한 결과가 나올 수 있습니다.

BAM 파일 생성 시에도 hg38을 사용했는지 확인해보세요.
레퍼런스 파일 이름과 헤더가 정확히 일치해야 합니다.
레퍼런스 인덱스 재생성: 사용 중인 레퍼런스의 .fai, .dict 파일이 최신인지 확인하세요.

gatk GenotypeGVCFs \
    -R hg38.fa \
    -V input.g.vcf \
    -O final_output.vcf

 

4. 추가적인 설정 확인
GATK를 사용하는 경우, --output-mode와 -ERC(emission confidence threshold) 설정을 점검하세요. 낮은 품질의 변이를 포함하거나 특정 조건에서 <NON_REF>를 과도하게 포함할 수 있습니다.


5. 동일 현상이 지속될 경우
샘플의 데이터 품질(BAM 파일의 mapping quality)을 확인하세요. 

낮은 품질의 매핑이 많으면 이상한 변이 호출이 증가할 수 있습니다.
Minimap2로 생성된 BAM 파일의 품질을 점검해 보고, 필요한 경우 정렬 품질 필터링, PCR 중복 제거 등을 수행하세요.

 

 

요약 : 
GATK HaplotypeCaller를 GVCF 모드 대신 VCF 모드로 실행 (-ERC NONE).
BAM 파일과 레퍼런스가 동일한 hg38 기준인지 확인.
GenotypeGVCFs로 후처리하여 <NON_REF>를 제거.
BAM 파일 품질 확인 및 필터링.

 

reference

https://gatk.broadinstitute.org/hc/en-us/articles/360035531812-GVCF-Genomic-Variant-Call-Format

 

반응형