Bioinformatics Engineering #2 Lift-over

Bioinformatics Engineering #2 Lift-over #

#2026-03-11


#0 참조유전체 Lift-over

유전체 데이터는 참조유전체(reference genome)를 기준으로 좌표가 기록됩니다. 그런데 참조유전체는 계속 업데이트됩니다. GRCh37(hg19)에서 chr1:12345 위치에 있던 변이가 GRCh38(hg38)에서는 chr1:12456일 수 있습니다. 참조유전체 버전이 개선되면서 일부 서열이 추가되거나 수정되기 때문입니다. Lift-over는 한 참조유전체 버전의 좌표를 다른 버전의 좌표로 변환하는 작업입니다.

#

#1 왜 Lift-over가 필요한지 이해하기

다기관 연구에서 A병원은 GRCh37로, B병원은 GRCh38로 데이터를 생성했다면, 두 데이터를 통합하려면 좌표 기준을 맞춰야 합니다. 또한 ClinVar, COSMIC 같은 공개 데이터베이스가 GRCh38 기준이라면, GRCh37 데이터에 annotation을 추가하기 전에 좌표를 변환해야 합니다. 좌표가 맞지 않으면 동일한 변이를 서로 다른 변이로 인식하거나, annotation이 잘못 매핑됩니다.

#

#2 Chain 파일 이해하기

Lift-over의 핵심은 chain 파일입니다. Chain 파일은 두 참조유전체 버전 간의 서열 대응 관계를 기록한 매핑 파일입니다. 예를 들어 “GRCh37의 chr1:10000-20000 구간은 GRCh38의 chr1:10500-20500에 대응한다"는 정보가 담겨 있습니다. UCSC Genome Browser에서 hg19ToHg38.over.chain.gz 같은 형식으로 제공됩니다. 반대 방향(GRCh38→GRCh37)이 필요하면 hg38ToHg19.over.chain.gz를 사용합니다.

#

#3 입력 파일 준비하기

Lift-over할 파일을 준비합니다. VCF 파일이라면 염색체, 위치, REF, ALT 정보가 포함되어 있습니다. BED 파일이라면 염색체, 시작 위치, 끝 위치가 탭으로 구분되어 있습니다. 중요한 것은 입력 파일의 현재 참조유전체 버전을 정확히 아는 것입니다. VCF 헤더의 ##reference 라인이나 ##contig 라인에서 확인할 수 있습니다.

#

#4 Lift-over 도구 실행하기

가장 많이 사용되는 도구는 UCSC liftOver와 CrossMap입니다. UCSC liftOver는 BED 형식 입력에 최적화되어 있고, CrossMap은 VCF, BAM, BED 등 다양한 형식을 지원합니다. CrossMap을 예로 들면, CrossMap.py vcf chain파일 입력.vcf 타겟참조유전체.fa 출력.vcf 형식으로 실행합니다. 도구가 chain 파일을 참조하여 각 좌표를 새 버전으로 변환합니다.

#

#5 변환 실패 케이스 처리하기

모든 좌표가 성공적으로 변환되지는 않습니다. 일부 영역은 새 참조유전체에서 삭제되었거나 크게 재배열되어 매핑이 불가능합니다. 이런 변이들은 “unmapped” 파일로 분리됩니다. 연구 목적에 따라 이 변이들을 제외하거나, 수동으로 검토하거나, 원본 좌표를 별도 컬럼에 보존할 수 있습니다. 일반적으로 전체 변이의 1-5% 정도가 매핑 실패합니다.

#

#6 변환 결과 검증하기

Lift-over 후에는 결과를 검증해야 합니다. 몇 개의 변이를 무작위로 선택하여 UCSC Genome Browser나 Ensembl에서 양쪽 버전의 좌표를 직접 확인합니다. 또한 변환 전후의 REF 염기가 해당 참조유전체와 일치하는지 확인합니다. GRCh38 좌표인데 REF 염기가 GRCh38 서열과 다르다면 변환 오류입니다.

#

#7 정리

원본 파일의 현재 참조유전체 버전을 확인하고, 목표 버전으로의 변환이 필요한지 판단합니다. UCSC에서 적절한 chain 파일을 다운로드하고, CrossMap이나 liftOver 도구로 좌표 변환을 실행합니다. 변환 실패한 변이들은 unmapped 파일로 분리하여 별도 검토하고, 성공한 변이들은 새 참조유전체 서열과 REF 염기가 일치하는지 검증합니다. 이렇게 좌표가 통일된 데이터는 다기관 데이터 통합이나 공개 데이터베이스 annotation에 활용할 수 있게 됩니다.