본문 바로가기
생물정보학/Tools

[VCF 파일] genozip - VCF 파일의 효율적인 압축 방법을 제시한 툴

by HanJoohyun 2020. 7. 12.
반응형

 

 

여러분 안녕하세요 한주현입니다.

 

오늘은 genozip 이라는 툴에 대해 알아보겠습니다.

 

들어가며

이 논문은 제가 좋아하는 논문 저널 중 하나인 Bioinformatics 에서 최근에 출판한 논문입니다.

 

Bioinformatics 저널에서 새로운 분석 방법과 결과 등을 살펴보는 식으로 읽어오곤 했었는데요,

 

이번에 소개드릴 논문은 생물정보학에서 VCF, bam, fastq, fasta, 그리고 23andMe 파일을 더 효율적으로 압축해주는 툴에 대한 논문입니다.

 

 

 

 

https://academic.oup.com/bioinformatics/article/36/13/4091/5837110

 

genozip: a fast and efficient compression tool for VCF files

AbstractMotivation. genozip is a new lossless compression tool for Variant Call Format (VCF) files. By applying field-specific algorithms and fully utilizing t

academic.oup.com

genozip: a fast and efficient compression tool for VCF files 

Divon Lan, Raymond Tobler, Yassine Souilmi, Bastien Llamas

Bioinformatics, Volume 36, Issue 13, July 2020, Pages 4091–4092, https://doi.org/10.1093/bioinformatics/btaa290

 

 

저널의 제목은 genozip: a fast and efficient compression trool for VCF files 입니다

 

genozip은 무손실 압축 방법으로 VCF 파일을 압축해주는 툴입니다.

 

대규모 게놈 프로젝트를 진행하면서 각 샘플의 변이를 탭으로 나뉜 테이블 형태로 저장한 VCF 파일 (Variant Call Format, Danacek et al., 2011)의 등장 이후로 VCF 파일은 생물정보학의 표준으로 자리잡은 포맷이 되었습니다. 

 

VCF 파일이 어떤것인지 궁금하신 분들은 다음 글을 참고해주세요.

https://korbillgates.tistory.com/136

 

[GATK] VCF란, gVCF란, VCF와 gVCF의 차이점 - Variant Calling Format 설명, genomic VCF

안녕하세요 한주현입니다. 오늘은 GATK의 결과 파일 중 gVCF와 VCF의 차이점과 gVCF가 무엇인지 대해서 알아보겠습니다. 요새 들어 GATK에 대해서 포스팅을 많이 쓰고 있네요 ㅎㅎ;; 워낙 GATK 안에 많��

korbillgates.tistory.com

 

많은 연구자들이 VCF 파일의 변이를 가지고 생물학적인 의미를 찾아내는 등 여러 연구들이 진행되고 있는 와중에,

 

점점 더 많은 추가적 정보를 붙이게 되고 점점 더 많은 샘플들을 가지고 VCF 파일을 생성하다 보니, 

 

데이터의 전송과 저장 공간에 문제가 생기게 되었지요.

 

일반적으로 human exome data 를 100x depth 로 시퀀싱하여 vcf를 생성하면 약 10만개의 변이가 나오게 되고 파일 사이즈는 100MB 정도 입니다. (별로 안크죠 ㅋㅋ..)

 

Whole genome sequencing의 경우 30x depth 로 시퀀싱하여 vcf를 생성하면 약 500만개의 변이가 나오고 파일 사이즈는 1~2GB 정도 됩니다.

 

이를 1000명 시퀀싱 했다고 하면 2TB 는 거뜬히 채우고..

 

공동 연구자와 연구하기 위해서 HDD 로 보내는 것은 물리적 시간이 걸리고, 

 

네트워크로 전송하기에도 부담이 됩니다.

 

 

genozip 의 특징

1) 기존에 나온 압축 툴 (gzip, bgzip 등) 보다 더 효율적인 압축률을 보인다.

2) genocat 이라는 명령어를 제공하여 regions, samples 의 옵션으로 압축된 상태에서 랜덤 액세스가 가능하다.

3) password 옵션을 사용하여 파일을 암호화 할 수 있다.

4) 압축 시 thread option을 주어 좀 더 빠르게 압축을 진행할 수 있다.

 

 

genozip 테스트

제가 직접 테스트 해 본 결과

30x WGS VCF 의 경우 1.2GB 의 VCF가 79MB로 약 93%의 압축률을 보여주었습니다.

size_ratio 는 원본대비 몇 퍼센트인지 나타내는 수치이고,

time 은 압축을 수행한 시간입니다.

 

시간도 빠른데 압축률도 좋네요.

 

 

설치 방법

conda install -c conda-forge genozip

또는

 

개발자 페이지에서 소스코드를 받아 컴파일 하시면 됩니다.

https://github.com/divonlan/genozip

 

divonlan/genozip

Compressor for genomic files (VCF/BCF, SAM/BAM, fastq, fasta, GVF, 23andMe), up to 5x better than gzip and faster too - divonlan/genozip

github.com

 

 

사용방법

압축하기

- 일반적인 압축하기

genozip [vcf 파일]

 

- 비밀번호를 넣은 압축하기

genozip [vcf 파일] -p [비밀번호]

 

압축 풀기

genounzip [압축된 vcf 파일]

 

password 가 걸린 경우는 다음과 같이 하면 됩니다.

 

또는 처음부터 비번을 넣고 압축을 해제할 수 도 있습니다.

 

 

커맨드라인에 비밀번호가 그대로 노출되는 것은 좀 그렇네요 ^^;;;

 

개선된 버전이 나오리라 기대해보겠습니다.

(개발자: 살려줘...)

 

 

오늘은 genozip 이라는 새로운 압축툴에 대해 알아보았습니다

 

여러분들께 도움이 되셨으면 좋겠네요!

 

그럼 다음에 또 만나요~

 

 

 

반응형

댓글